home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
cpm
/
disasm
/
revas25.lbr
/
CPMAN.WZ
/
CPMAN.WS
Wrap
Text File
|
1987-03-15
|
9KB
|
221 lines
REVAS FOR CPM
.he REVAS/CPM
Copyright (c) 1978
A. E. Hawley
Los Angeles, California
.PAè Thσá CP═ environmen⌠ require≤ somσ change≤ iε thσ commanΣ ì
structurσá oµá REVAS¼á a≤á wel∞á a≤ thσ wa∙á iεá whicΦá REVA╙á i≤ ì
implemented«áá Thσá followinτá descriptioεá oµá ne≈á anΣá changeΣ ì
feature≤ i≤ aε appendi° t∩ thσ REVA╙ User'≤á Manual¼á V2╗á pleasσ ì
refe≥á t∩á tha⌠ manua∞ iµ yo⌡ arσ no⌠ alread∙ familia≥ witΦá it'≤ ì
contents.
Iεá thσ CP═ environment¼á REVA╙ i≤ presen⌠ a≤ TW╧á files║ ì
REVAS.CO═á anΣá REVAS.LOD«á Thσá firs⌠á file¼á REVAS.COM¼á i≤á aε ì
executivσá prograφá whicΦá manage≤á thσá loadinτá oµá thσá targe⌠ ì
program¼á REVAS¼á anΣá thσ symbo∞ tables«á Thi≤ filσ i≤ ┤á block≤ ì
(pages⌐ lonτ anΣ run≤ a⌠ ß locatioε jus⌠ belo≈ CPM'≤ CC╨ section« ì
Yo⌡ can¼á iµ yo⌡ wish¼á renamσ thi≤ filσ usinτ CPM'≤ RE╬ command¼ ì
bu⌠á i⌠á mus⌠á remaiε ß .CO═ file«á Thi≤ filσá namσá define≤á thσ ì
transien⌠á commanΣ useΣ t∩ invokσ ß disassembl∙ witΦá REVAS«á Thσ ì
seconΣá file¼áá REVAS.LOD¼á contain≤á thσá actua∞á REVA╙á prograφ ì
embeddeΣá iε ß relocatinτ loader«á I⌠ i≤ loadeΣ int∩á memor∙á anΣ ì
executeΣ b∙ REVAS.COM¼ whicΦ contain≤ ß referencσ b∙ filename.ex⌠ ì
t∩á REVAS.LOD«á Thus¼á thσá REVAS.LO─ filσ mus⌠ no⌠á bσá renamed« ì
REVAS.LO─á i≤ 2░ block≤ (pages⌐ long«á (ß blocδ i≤ 25╢ bytes⌐ Al∞ ì
file≤ arσ assumeΣ t∩ bσ oε thσ currentl∙ selecteΣ disc.
Thσ prograφ t∩ bσ disassembleΣ (thσ targe⌠ program⌐á mus⌠ ì
coexis⌠ witΦ REVA╙ iε you≥ computer'≤ memor∙ space« Wheε REVA╙ i≤ ì
invoked¼á thσá targe⌠ filσ i≤ accesseΣ anΣ loadeΣ a⌠ thσ CP═á tpß ì
(addres≤á 10░ Hex)«á Thσ REVA╙ disassemble≥ i≤ theε loadeΣá abovσ ì
thσá targe⌠á pgm«á Iµ ß symbo∞ tablσ filσ fo≥ thσ targe⌠á prograφ ì
exist≤á oεá thσ disk¼á i⌠ i≤ loadeΣ a⌠ thσ enΣ oµá REVAS«á Iµá n∩ ì
symbo∞á tablσá filσ exists¼á theε onσ i≤á automaticall∙á created« ì
Durinτ thσ loadinτ process¼ message≤ wil∞ bσ typeΣ oε thσ consolσ ì
t∩ le⌠ yo⌡ kno≈ thσ result≤ oµ eacΦ oµ thesσ steps.
REVA╙ alway≤ use≤ tw∩ files║á FN.TBL¼á anΣ FN.ASM« FN.TB╠ ì
i≤ thσ filσ t∩ whicΦ REVA╙ write≤ it≤ symbo∞ table≤ (seσ thσá 'Wº ì
command)«á FN.AS═á i≤á thσ filσ t∩ whicΦ REVA╙á write≤á assemble≥ ì
mnemonic≤ fo≥ editinτ and/o≥ reassembly« Wheε REVA╙ i≤ invokeΣ i⌠ ì
searche≤á thσá curren⌠á disπ director∙ fo≥ thesσá files«á Iµá no⌠ ì
found¼á the∙ arσ automaticall∙ created« Iµ F╬ i≤ no⌠ specifieΣ iε ì
thσ invokinτ command¼á theε FN=##ú i≤ assumed« Iµ thσ .EX╘ i≤ no⌠ ì
specifieΣ fo≥ thσ targe⌠ program¼ theε EXT=CO═ i≤ assumed.
┴á disassembl∙á i≤á invokeΣá b∙á typinτá ßá standarΣá CP═ ì
transien⌠ commanΣ (afte≥ thσ CP═ prompt⌐ oµ thσ followinτ form:
REVAS [ufn]
'ufnº i≤ aε unambiguou≤ filσ name¼ a≤ defineΣ iε you≥ CP═ ì
manual«á Fou≥á possiblσ form≤ oµ thi≤ commanΣ anΣá thσá resultinτ ì
filσ name≤ involveΣ arσ showε iε thσ tablσ below«á Iε thi≤ table¼ ì
'EXTº mean≤ an∙ filσ extensioε excep⌠ 'TBL'«á 'FNº stand≤ fo≥ an∙ ì
filσ name.
.PAèCommand Response
REVAS REVA╙á i≤ loadeΣ a⌠ thσ tpa«á ###.TB╠ anΣá ###.AS═ ì
áááááááááááááááarσ used.
REVAS FN FN.CO═ i≤ loadeΣ a⌠ thσ tpß followeΣ b∙ REVAS« Thσ ì
áááááááááááááááfile≤ FN.TB╠ anΣ FN.AS═ arσ used.
REVAS FN.EXT FN.EX╘á i≤ loadeΣ a⌠ thσ tpa¼á followeΣ b∙á REVAS« ì
áááááááááááááááThσ file≤ FN.TB╠ anΣ FN.AS═ arσ used.
REVAS FN.TBL N∩á targe⌠ prograφ i≤ loaded«á REVA╙ i≤ loadeΣá a⌠ ì
áááááááááááááááthσ tpa¼ followeΣ b∙ thσ symbo∞ tablσ filσ FN.TBL« ì
áááááááááááááááIµá FN.TB╠á doe≤ no⌠ exist¼á theε i⌠á i≤á created« ì
áááááááááááááááFN.AS═ i≤ used.
Afte≥ thσ loadinτ proces≤ i≤ completed¼ contro∞ i≤ passeΣ ì
t∩ REVAS¼ a≤ indicateΣ b∙ displa∙ oµ thσ REVA╙ promp⌠ (#⌐ oε you≥ ì
console« Thσ REVA╙ commanΣ se⌠ i≤ no≈ a⌠ you≥ disposal.
REVAS/CP═ Specia∞ Commands
Thσá 'Aº anΣ 'Iº command≤ describeΣ iε thσ User'≤á Manua∞ ì
arσá no⌠ needeΣ iε thσ CP═ environment¼á anΣ havσ beeε deleteΣ iε ì
thσá CP═á versioε oµ REVAS«á Thσ 'Wº commanΣ iε thσá CP═á versioε ì
save≤á thσ curren⌠ symbo∞ table≤ oε disδ iε ß filσ nameΣá FN.TBL« ì
Thσá 'Oºá (Outpu⌠á channe∞ control⌐ commanΣá anΣá thσá 'Eºá (.EN─ ì
pseudo-op⌐ command≤ havσ beeε modifieΣ fo≥ thσ CP═ environmen⌠ t∩ ì
OPE╬á anΣá CLOS┼ thσ FN.AS═ file«á Thσ PuncΦ outpu⌠ optioε i≤á n∩ ì
longe≥ implementeΣ iε REVAS/CPM¼á sincσ tha⌠ utilit∙ i≤ availablσ ì
througΦ PIP.
^C Control-C re-boots the CPM system.
E Insert≤ thσ pseudo-o≡ '.ENDº int∩ thσ outpu⌠ streaφ anΣ ì
ááááááááááproperl∙ close≤ thσ FN.AS═ file«á ┴ FN.AS═ filσ tha⌠ i≤ ì
ááááááááááno⌠ closeΣ witΦ thi≤ commanΣ wil∞ no⌠ contaiε thσ fina∞ ì
áááááááááárecorΣá witΦá thσá end-of-filσá marδá requireΣá b∙á thσ ì
ááááááááááEditor.
.cp 10
O Thσ ke∙ lette≥ 'Pº ha≤ beeε replaceΣ b∙ 'Aº (fo≥ .ASM)« ì
ááááááááááOtherwise¼ thσ commanΣ forma⌠ i≤ unchangeΣ froφ tha⌠ iε ì
ááááááááááthσ user'≤ manual«á Thσ commanΣ 'OPE╬ C,A@º result≤á iε ì
áááááááááánorma∞á disassembl∙á outpu⌠ a⌠ thσ consolσá anΣá label¼ ì
ááááááááááopcode¼á anΣá argumen⌠á outpu⌠ t∩ thσ (no≈á open⌐á .AS═ ì
ááááááááááfile« ┴ subsequen⌠ O├ commanΣ DOE╙ NO╘ CLOS┼ TH┼ FN.AS═ ì
ááááááááááFILE«á Filσá closurσ MUS╘ bσ accomplisheΣ witΦ thσá 'Eº ì
áááááááááácommand«á Thσá Consolσ anΣ Lis⌠ device≤ AR┼á deselecteΣ ì
ááááááááááwheεá thei≥ ke∙ letter≤ arσ ommiteΣ froφ aε 'Oº commanΣ ì
ááááááááááargumen⌠ list.
.cp 10èW Writσá thσá symbo∞ table≤ int∩ thσá FN.TB╠á file«á Thi≤ ì
áááááááááácommanΣ open≤ thσ file¼á write≤ t∩ it¼á theε close≤ thσ ì
ááááááááááfile«á I⌠á wil∞á no⌠á executσ iµá thσá FN.AS═á filσá i≤ ì
áááááááááácurrentl∙ open¼á anΣ wil∞ prin⌠ ß reminde≥ t∩ closσ thσ ì
áááááááááá.AS═ filσ iµ i⌠ i≤ open« Thσ commanΣ ma∙ bσ repeateΣ a≤ ì
ááááááááááofteεá a≤á yo⌡ wisΦ durinτ ß disassembly¼á s∩á yo⌡á caε ì
ááááááááááalway≤á havσá saveΣá thσ lates⌠ versioεá oµá thσá labe∞ ì
ááááááááááassignments.
.PAèA <Switch>%<Input>@
ááááááááááThσá (new⌐ 'Aº commanΣ i≤ useΣ fo≥ assigninτ ne≈ value≤ ì
áááááááááát∩ thσ parameter≤ listeΣ iε thσ User'≤ manua∞ unde≥ thσ ì
ááááááááááheadinτá 'Patches'«á Thσ tablσ whicΦ follow≤ give≤á thσ ì
ááááááááááexpecteΣ Inpu⌠ fo≥ eacΦ <switch╛ value«á 'HEXº mean≤á ß ì
ááááááááááhexadecima∞ valuσ iε thσ rangσ ░ t∩ FF╗á 'CHº mean≤ an∙ ì
áááááááááákeyboarΣá character¼á includinτ lowe≥ casσ anΣá contro∞ ì
áááááááááácharacters.
SWITCH INPUT FUNCTION
0 HEX Numbe≥á oµ null≤ t∩ senΣ afte≥á ß ì
áááááááááááááááááááááááááááááááácarriagσ return¼ linσ feeΣ t∩ thσ ì
áááááááááááááááááááááááááááááááális⌠ device.
1 HEX Numbe≥á oµá nul∞ t∩ senΣ afte≥á ß ì
áááááááááááááááááááááááááááááááácarriagσ return¼ linσ feeΣ t∩ thσ ì
ááááááááááááááááááááááááááááááááconsolσ o≥ puncΦ devices.
2 HEX Numbe≥ oµ line≤ iε thσ To≡ Margiε ì
ááááááááááááááááááááááááááááááááoµ thσ Lis⌠ devicσ page.
3 HEX Numbe≥á oµá line≤ iεá thσá Bottoφ ì
ááááááááááááááááááááááááááááááááMargiε oµ thσ Lis⌠ devicσ page.
4 HEX Numbe≥ oµ line≤ oµ tex⌠ pe≥á Lis⌠ ì
áááááááááááááááááááááááááááááááápage.
5 AE Righ⌠á justif∙á label≤á iεá labe∞ ì
ááááááááááááááááááááááááááááááááfield.
5 EE Lef⌠áá justif∙á label≤á iεá labe∞ ì
ááááááááááááááááááááááááááááááááfield.
6 CH Replacσá 'Sºá fo≥á thσá immediatσ ì
áááááááááááááááááááááááááááááááácommanΣá whicΦ suspend≤á printou⌠ ì
ááááááááááááááááááááááááááááááááanΣ disassembly.
7 CH Replacσá 'Rºá fo≥á thσá immediatσ ì
áááááááááááááááááááááááááááááááácommanΣá whicΦ return≤á t∩á REVA╙ ì
áááááááááááááááááááááááááááááááácommanΣ mode.
8 CH Replace≤ thσ ':º labe∞ terminator
9 CH Replace≤á thσá ';º commen⌠á fielΣ ì
áááááááááááááááááááááááááááááááádelimiter
A 1 to 4 CH Thesσáá character≤á replacσáá thσ ì
áááááááááááááááááááááááááááááááá'.BYTEºá pseudo-o≡ whicΦá define≤ ì
áááááááááááááááááááááááááááááááádatß storagσ bytes.
.CP 15è Thσ 'Aº commanΣ ha≤ severa∞ restrictions«á First¼ i⌠ onl∙ ì
operate≤á wheε n∩ othe≥ command≤ havσ beeεá previousl∙á executed« ì
Second¼ i⌠ onl∙ operate≤ afte≥ thσ CP═ command:
REVAS REVAS.LOD
Thσá change≤ whicΦ arσ madσ b∙ thσ 'Aº commanΣ occu≥ onl∙ iε ì
thσ cop∙ oµ REVAS.LO─ whicΦ i≤ no≈ locateΣ a⌠ thσ tpa«á Afte≥ al∞ ì
thσá change≤á havσá beeε made¼á thσ ne≈á REVAS.LO─á i≤á saveΣá b∙ ì
executinτá ßá re-boo⌠á oµ thσ CP═ systeφ (^C⌐ anΣ usinτá thσá CP═ ì
command:
SAVE 20 REVAS.LOD
REVAS¼á oε subsequen⌠ invocation¼á wil∞ contaiε thσ changes« ì
Al∞ othe≥ command≤ arσ a≤ describeΣ iε thσ REVA╙ user'≤ manual.