Command Syntax Command Syntax Portions of a command are separated by a delimiter in most cases. The delimiter is represented in the command descriptions by '%', which implies either comma or space. Numeric values (addresses or symbol values, for example) are expected to be in hexadecimal notation. When entering the hex number, as many hex characters as desired may be entered; only the last four will be used by REVAS. If you type the wrong number, simply retype it without intervening keyboard entries. If a non-hex character is entered then REVAS simply returns to the command mode and you may re-enter the command or change to another command. It's a good way to escape a command sequence when you change your mind.. Spaces in the formal command descriptions are present for clarity of presentation only; they are not a part of the keyboard input. REVAS accepts commands in either upper or lower case. Upper case is used in the command descriptions only for clarity. Definition Syntax /../ Text enclosed by slashes is typed by REVAS. Other parts of the commands are typed by the user. ^ (up-arrow) means "depress the ctrl key and keep it depressed while typing the next character". + The logical "inclusive-or" function. "a+b+c" means "one or more of the parameters listed". "one and only one of the parameters listed". !cp 8 % Means "enter a space or comma from the console keyboard". I.e., %=! @ Means "enter a carriage return by depressing the console keyboard return key". 1 Command Syntax <..> Text enclosed by "<" and ">" is a symbolic representation of a keyboard entry. The actual entry, if not self evident, is explained in the command description. [..] The expression(s) enclosed by square brackets may be included in or excluded from the command at the user's option. The command processor in REVAS will recognize the intent of the command either way. Furthermore, the brackets also imply that the contents may be repeated an indefinite number of times. ? Means "Enter any printable character". A space is considered a printable character. (..) Parentheses are used to group elements of a command in the command descriptions to avoid ambiguity of interpretation. The parentheses are not part of the actual command. 2 Immediate Commands Immediate Commands The next three commands may be used at any time during a disassembly activity (even when printout has been suppressed). R Returî tï commanä mode®  Thió commanä causeó aî aborô oæ     thå  currenô listinç anä aî immediatå returî tï thå  commanä     mode®  Thå  prompô characteò wilì bå printeä anä  á     ne÷ commanä sequencå ió expected. S Suspenä printouô aô thå enä oæ thió line®  Thió commanä     causeó  thå disassemblù tï pauså aô thå enä oæ thå  currenô     line®  Escapå  froí  thió pauså (oò wait© statå ió  viá     anù keyboarä entry. The next command may be used at any time: ^C (control/C© thió commanä causeó aî immediatå trað tï     thå monitor®  Iô maù bå useä aô anù timå durinç     thå  disassemblù oò commanä phases®  Iæ yoõ arå  usinç  á     monitoò froí Technicaì Desigî Labs¬  theî á returî viá     thå  monitoò  'G§  commanä withouô  aî  argumenô  wilì     resulô  iî resumptioî oæ thå interupteä activitù iæ nonå     oæ thå registeró haó beeî changed®  Notå thaô iæ ^Ã     ió  executeä  durinç  thå  pauså  afteò  thå  'S§  command¬     returî wilì bå tï thå pauså statå anä á keyboarä  entrù     wilì bå needeä tï continuå thå disassembly. 3 Display & Analysis Disassembly Display & Analysis Commands /#/ D? /addr range=/ % @     'D§  meanó  "displaù  thå  objecô  codå  aó  mnemoniã     assemblù instructions"® Thió commanä resultó iî disassemblù     oæ thå objecô codå specifieä bù thå starô anä enä addresses.     Iæ  thå /addr range=/ %@     Finä  alì statementó iî thå addresó  rangå  specifieä     thaô  referencå  % @!%     /syí vaì range=¯ , @     Thå  forí oæ thió commanä ió exactlù thå samå aó thaô oæ thå     'D§ command® Yoõ maù avoiä thå prompô messagå thå samå way.     'B§ meanó 'builä thå Indeø table'® Wheî thå instructioî modå     ió specified(B¿ ió anythinç excepô BT)¬ eacè 2-bytå     argumenô encountereä durinç thå disassemblù ió assigneä á     synthetiã symboì namå whicè ió thå heø valuå preceedeä bù     'S'® Thió synthetiã symboì ió placeä iî thå labeì fielä     oæ thå listinç wheî thå correspondinç addresó ió     encountereä iî thå disassembly® Wheî thå tablå modå ió     specifieä (BT© thå objecô codå ió listeä iî ".BYTE¢ formaô     aó data® Thå modå oæ anù labeló encountereä ió changeä tï     'T§ anä thå synthetiã symboì prefiø ió changeä froí 'S§ tï     'T'.     Wheî buildinç tables¬ thå 'B?§ commanä shoulä noô bå useä     untiì thå instructioî codå sequenceó havå beeî     disassembled® Theî uså thå BÔ commanä tï identifù thå tablå     areá labels® Thió wilì avoiä thå neeä tï re-builä tableó     foò somå areaó oæ thå objecô program® Notå thaô therå ió     nï probleí witè usinç thió commanä repeatedlù oî thå samå     oò overlappinç addresó ranges® Symboló alreadù entereä     arå retained» onlù thå modå flaç associateä witè thå     symboì ió affected. /#/ L [%]
/ =/ @!%     Creatå á labeì iî thå symboì table® Thå alphá strinç     specifieó thå labeì name® Iæ morå thaî ¶ characteró arå     typed¬ onlù thå firsô ¶ wilì bå storeä anä used® thå modå     flaç ió noô affected. /#/ S [%]
/ =/ @!%     Samå aó 'L'¬ excepô modå flaç ió reseô tï indicatå thaô thió     ió aî instruction. /#/ T [%]
/ =/ @!%     Samå aó 'L'¬ excepô modå flaç ió seô tï indicatå thaô thió     ió á labeì foò data.     L,S¬ anä Ô maù bå useä tï replacå á labeì anä changå itó modå     aó ofteî aó required® Theså commandó maù bå useä eveî     beforå thå symboì tableó havå beeî builô witè thå 'B§     command. 6 Symbol Control /#/ M [%]
% (0 ! 1) (@!%)     ° meanó 'thå addresó specifieä ió aî instruction'® ± meanó     'thå addresó specifieä ió á datá byte'.     Thió commanä permitó markinç oæ datá oò instructionó iî     thå prograí foò whicè therå ió nï label® Iô ió typicallù     useä tï marë thå beginninç oæ á tablå oæ datá whoså     firsô bytå ió noô referenceä directly® Likewise¬ iô mighô     bå useä tï marë thå firsô instructioî followinç á table¬     wherå nï direcô referencå ió madå (referencå mighô bå bù     meanó oæ á jumð table¬ foò example).     Wheî thå delimiteò (%© ió useä tï terminatå thå L,S,T¬ oò     Í commands¬ thå nexô prompô (#© wilì bå oî thå samå linå     aó thå lasô one® Theså commandó caî bå 'strunç out§     acrosó thå pagå usinç thió feature. /#/ K [ [%]
% ] @     Kilì á symboì tablå entry® Thió commanä removeó alì referencå     tï thå addresó giveî froí thå symboì tables® It'ó mosô     importanô uså ió tï removå 1¶ biô constantó froí thå tableó     sï thaô theù wilì prinô ouô durinç disassemblù aó     constantó (numbers© ratheò thaî synthetiã labels® Yoõ maù     alsï uså 'K§ tï removå labeló assigneä bù thå L,S¬ anä Ô     commands.     Wheî á delimiteò ió useä afteò thå address¬ anotheò addresó     maù bå entered¬ anä another¬ etã untiì á carriagå returî     ió entereä tï terminatå thå Kilì mode® Foò example¬     "/#/K0,1,2,4,8,A00@¢ woulä resulô iî deletioî oæ 0000¬     0001¬ 0002¬ 0004¬ 0008¬ anä 0A0° froí thå tables. 7 Utility Commands Utility Commands /#/ I^F^F     Thió commanä initializeó thå symboì tableó bù assigninç     initiaì valueó tï thå Symboì Tablå Pointeró correspondinç tï     emptù tableó locateä aô thå enä oæ REVAS® Iô ió typicallù     useä tï starô á ne÷ disassembly. ************************************* *ª DÏ NOÔ USÅ THIÓ COMMANÄ ** ** IF YOU WANT TO SAVE THE SYMBOLS ** ** YOU HAVE ALREADY ENTERED! ** ************************************* /#/ A^F^F [%]
@     Assigî thå starô oæ thå symboì tableó tï thå memorù     addresó specified® Thå tableó arå moveä tï thå ne÷     locatioî anä thå Symboì Tablå Pointeró arå adjusteä tï     corresponä tï thå ne÷ tablå location® Thå Symboì Tablå     Pointeró arå thå solå linë betweeî REVAÓ anä thå tables¬     anä theiò locatioî ió noô changed® Copieó oæ REVAÓ aô twï     differenô locationó coulä uså thå samå tableó iæ yoõ werå     tï copù thå SÔ Pointeró froí onå REVAÓ copù tï thå     other® Normallù yoõ woulä uså thió commanä aô thå starô     oæ á sessioî tï placå thå tableó advantageouslù iî youò     memorù space® Tableó arå builô aô thå enä oæ REVAÓ iæ noô     otherwiså assigneä witè thió command. NOTE Thå twï ^Æ characteró immediatelù followinç thå 'I§ anä 'A§ commandó arå includeä aó á safetù featurå tï prevenô inadvertanô issuancå oæ theså commands® Yoõ caî changå theså 'lockout§ characteró bù changinç thå contentó oæ twï memorù locations® (seå Patcè Locationó below© Notå thaô thå paritù biô oæ thå seconä bytå musô bå SEÔ (=1)® Thus¬ iæ yoõ selecteä 'PE§ aó thå twï (ASCII© characters¬ thå entrieó woulä bå 5° anä C5. /#/ O [ [?] (C!P!L) [?] % ] @ Thå outpuô device(s© foò thå disassemblù listinç arå determineä bù thió command® Notå thaô alì buô thå CR(@© maù bå ommitted® Iî thaô case¬ onlù thå commanä dialoç wilì bå printeä oî thå console® Thió optioî ió usefuì wheî yoõ wisè tï builä ('B§ command© tableó withouô wastinç timå witè thå listing. /#/O C Assigns disassembly listing to the console /#/OL Assignó listinç tï thå lisô devicå (5¶ lineó peò page) /#/OP Listó thå label¬ operator¬ anä operanä fieldó oî         thå puncè device® (suitablå foò reassembly!) Š 8 Utility Commands /#/0ut Console,List,Punch         Thió ió aî acceptablå commanä whicè wilì resulô iî         listinç oî alì ³ devices® Notå that¬ foò thió         command¬ wordó maù bå substituteä foò thå singlå         letteró thaô REVAÓ recognizes® Thå firsô letteò         shoulä bå O,C,L¬ oò Ð aó implieä iî thå example. G [?] @         Thió ió thå 'GO§ commanä thaô allowó yoõ tï transfeò tï         youò owî subroutine® Iæ thå subroutinå terminateó witè         á 'RET§ statemenô anä thå stacë pointeò haó thå samå         valuå aó iô haä aô thå starô oæ youò routine¬ theî         returî wilì bå tï thå REVAÓ commanä processoò afteò         youò routinå haó donå it'ó job® Onå uså foò thió         commanä iî mù systeí ió tï ruî á routinå thaô closeó á         disã filå afteò REVAÓ haó finisheä writinç á disassemblù         listinç tï it. /#/ C         Commenô fielä control...Thió commanä switcheó thå commenô         fielä oî anä off® Iæ thå lasô outpuô includeä thå         commenô field¬ theî executioî oæ thió commanä wilì         inhibiô printinç oæ thå commenô fielä untiì thå commanä         ió giveî again® Iæ yoõ havå alreadù madå uså oæ thå         datá iî thå commenô field¬ theî yoõ caî inhibiô it'ó         printouô witè thå 'C§ commanä anä considerablù         increaså thå printouô speeä anä geô cleaneò copù iî thå         bargain® (Thå printeò doesn'ô havå tï prinô alì thoså         spaceó betweeî thå operanä fielä anä thå commenô field) /#/ H         HALÔ aô thå toð oæ thå eacè pagå oæ thå logicaì lisô         device® Thió commanä maù bå useä aô anù time¬ eveî         whilå listinç ió iî progress® Listinç ió resumeä wheî         anù keyboarä entrù ió detected® Iæ thå entrù ió á ^C¬         theî thaô functioî ió performeä firsô anä listinç wilì         resumå immediatelù oî returî froí thå monitor.         Bù assigninç thå logicaì lisô devicå tï á CRÔ oò TÖ         displaù anä settinç thå toð margin¬ lines/page¬         anä bottoí margiî appropriately¬ thå HALÔ functioî         caî bå useä tï steð througè á completå disassemblù onå         screen-fulì aô á time. 9 Utility Commands /#/^H         Thå ^È characteò canceló thå HALÔ mode¬ resultinç iî         continuouó paginateä listinç withouô pauså aô pagå         boundaries® Thió ió thå defaulô modå foò REVAS. /#/ E         Thå 'E§ commanä causeó thå '.END§ Pseudo-oð tï bå outpuô         tï thå activå (assigneä bù 'O'© outpuô devices® Thió         Pseudo-oð ió requireä bù mosô assembleró aô thå enä oæ         thå sourcå listing. /#/ ^L         Control-L¬ thå ASCIÉ Forí Feed¬ causeó thå logicaì lisô         devicå tï spacå tï thå toð oæ thå nexô page® Iô maù bå         useä aô anù time¬ eveî wheî thå lisô devicå ió unassigneä         bù thå 'O§ command. This completes the description of the REVAS commands. Experiment with them until their nuances become familiar to you, and you will then get the most benefit from your REVAS disassembler. 10