REVAS FOR CPM Copyright (c) 1978 A. E. Hawley Los Angeles, California 1 REVAS/CPM 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. 2 REVAS/CPM 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. 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. 3 REVAS/CPM 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. 4 REVAS/CPM A %@           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è