TOPIC: XREF36 FROM: LUCIEN L. PAN DATE: 1983/10/18 INTRODUCTION: ------------ XREÆ  ió  á cross-referencå utilitù designeä tï  generatå  á listinç  filå whicè containó valuablå informatioî thaô caî bå  oæ help to the assembly language programmer. Iô  useó  foò inpuô thå '.PRN§ filå createä bù aî  assembleò anä  writeó  ouô á modifieä filå whicè ió identicaì tï thå  inpuô excepô  foò aî identifyinç numbeò anä somå  cosmetiã  formatting¬ foò eacè sourcå linå encountered®  Aô thå enä oæ input¬ XREÆ wilì outpuô á report¬ listinç eacè symboì anä thå linå number(s© wherå thå  symboì  waó  referenced®  Thió  reporô caî  bå  useä  aó  aî importanô  diagnostiã tooì facilitatinç thå tasë oæ debugginç  aî assemblù program. FEATURES: -------- Duå  tï thå (relatively© simplå objectiveó oæ thió  program¬ sucè  aó  numberinç eacè individuaì linå anä buildinç á tablå  oæ symboló witè referenceó tï wherå theù arå beinç used¬ mosô oæ thå 'polishing§  ió  aimeä towarä gettinç á nice-lookinç  listinç  aó output. Followinç  ió  á shorô descriptioî oæ somå oæ  thå  featureó offered in this utility:     - Provideó  á  filenamå  banneò oî thå firsô pagå  oæ  thå     listing¬  whicè  wheî  foldeä  iî halæ (oî  thå  propeò  pagå     parity©  doubleó aó aî excellenô prograí  listinç  separator¬     allowinç  easù indexinç througè á pilå oæ printoutó wheî theù     arå helä togetheò iî á binder.     - Thå  linå  identificatioî  numbeò  appearó  betweeî  thå     objecô codå expansioî anä thå actuaì sourcå code®  Thió iî mù     opinion¬  giveó  thå thå finaì listinç á morå attractivå looë     bù  makinç  iô lesó crowded®  Iô  definitivelù  improveó  thå     appearancå  oæ  á '.PRN§ filå froí MAà (tm)¬  aó therå ió  nï     blanë  spacå  betweeî  thå  objecô  anä  sourcå  fielä  (wheî     defininç  á  strinç greateò thaî µ characteró  iî  á  labeleä     sourcå linå foò example).     - Sadly¬  mosô  assembleró thaô I'vå seeî dï noô reporô  á     summarù oæ errors¬ theù jusô flaç them® MAà (tm© reportó theí     tï thå consolå aó theù arå encountereä anä fortunately¬  CP/Í     allowó yoõ tï senä iô tï thå harä copù device®  Howeveò  thaô Š    stilì  doesn'ô  telì yoõ wherå thå erroró arå locateä iî  thå     listinç  causinç  mucè  timå beinç  wasteä  'eyeballing§  thå     printout®  XREÆ wilì automaticallù executå á seconä pasó wheî     error(s© werå detecteä iî thå firsô pass¬  thió timå  listinç     onlù  thå lineó containinç thå error(s© alonç witè theiò linå     id®  numbers®  Yoõ  alsï havå thå optioî tï lisô  onlù  erroò     lines¬ fast!     - Á  listinç tï disë ió implementeä anä ió usefuì tï thoså     whï  uså  disë spoolinç beforå  printing®  Tï  conservå  disë     space¬  á taâ compression/expansioî driveò is included® Iô ió     á  desirablå  featurå sincå MAà (tm© onlù useó spaceó iî  thå     objecô  field¬  oò  eveî worse¬  MACROIÉ  (tm©  expandó  tabó     throughouô  thå entirå file¡  I'vå typicallù seeî somå  spacå     reductioî iî thå ordeò oæ 40%® INSTALLATION: ------------ XREF3¶  ió supplieä iî sourcå codå anä compileä object®  Thå contents of the library are: XREF36.DOC XREF36.AQM XREFM.COM (for MAC) XREFT.COM (for MACROII) Duå  tï  thå incompatibilitù betweeî MAà (tm©  anä  MACROIÉ (tm)¬  thå  compileä objecô caî onlù handlå onå formaô aô á  timå anä  ió  specifieä  aô assemblù timå bù settinç  thå  TDÌ  symboì equatå  tï eitheò truå oò false®  Yoõ caî alsï specifù thå numbeò of lines per page by changing the symbol PGLEN. Foò  thoså  usinç  MAà (oò  ASM)¬  re-assemblù  oæ  XREÆ  ió straightfoward¬  requirinç  onlù  thaô thå TDÌ symboì bå  seô  tï false. Foò thoså usinç MACROII¬ á slighô modificatioî tï thå macro- assembleò   objecô  modulå  (.COM©  itselæ  ió   required®   Fulì explanationó  arå giveî iî thå sourcå file®  Obviously¬  thå  TDÌ symbol must be set to true. OPERATION: --------- Thå  operatioî  oæ  XREÆ  ió  verù  simplå  aó  iô  wilì  bå illustrated in the following examples: A help display is available by entering: A0>XREF It will also appear if an error option is detected. Š To cross-reference a file to the printer, just type: A0>XREF MYFILE XREÆ  wilì assumå aî extensioî oæ '.PRN§ iæ nï filå typå  ió specified® Tï enteò á nulì filetype¬ jusô typå á '.§ (dot© aó thå only extension. To send the output to a disk file, just append the option: B0>XREF MYFILE /D Thå  listinç  filå wilì bå createä oî thå currenô drivå  anä wilì beaò thå samå filenamå buô wilì havå á '.LST§  filetype®  Iî thå  disë  mode¬  tabó arå alwayó substitueä foò blankó  wheneveò possible (tab compression). Thå  drivå  designatoró syntaø followó thå  onå  defineä  bù CP/M: A0>b:xref c:myfile d:/d Woulä  geô XREÆ froí drivå B¬  thå PRÎ filå froí drivå à anä send the LST file to disk D. The rest of the available options are self-explanatory. LIMITATIONS: ----------- Foò  thå  TDÌ versioî oæ XREÆ (writteî  iî  MAà mnemonics)¬ there are some non standard factors: XREÆ  cannoô  detecô thaô texô betweeî á .REMARË  shoulä  bå interpreteä  aó  á 'multi-line§ commenô sï herå ió á waù  tï  geô arounä  it»  jusô inserô '*§ aô thå beginninç oæ eacè sourcå linå thaô ió bracketeä iî á .REMARË pseudo-op® Actually¬ á wholå framå of '*' can be put around the text and looks quite nice. Iô ió alsï difficulô tï accepô '.§ aó á legaì globaì  symboì althougè  TDL'ó syntaø allowó iô (buô '.§ doesn'ô sho÷ uð iî  thå symboì tablå generateä bù MACROII)®  Thió ió duå tï thå facô thaô '.§ ió alsï useä aó thå baså 1° specifieò anä alsï aó thå currenô program address counter key. * MAC and CP/M are trademarks of DIGITAL RESEARCH INC. * MACROII and TDL are trademarks of COMPUTER DESIGN LABS INC.