home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ENTERPRS / CPM / UTILS / A / ASSY1-5.ARC / Z80DIS.V21 < prev    next >
Text File  |  1993-03-31  |  13KB  |  263 lines

  1.  
  2.  
  3.  
  4.                                                          January 11, 1986
  5.         This is the READ-ME file from the Z80DIS.LBR package, version 2.1
  6.         ------------------------------------------------------===========
  7.  
  8.         Version 2.1 change note:
  9.  
  10.              Versioε 2.░ addeΣ artificia∞ intelligencσ t∩ Z80DIS« 
  11.  
  12.              Versioεá 2.▒ correct≤ ß smal∞ buτ iε thσ processinτ oµá INC¼ ì
  13.         áááááDEC¼á anΣá L─ usinτ inde° register≤ I╪ anΣ IY«á Versioεá 2.▒ ì
  14.         áááááals∩á significantl∙ enhance≤ thσ abilitie≤ oµ thσá disassem-ì
  15.         áááááble≥á t∩á distinguisΦ betweeε ASCI╔ blanδ (2░ hex⌐á anΣá thσ ì
  16.         áááááinstructioεá "J╥ NZ,xxxxó (als∩ 2░ hex⌐ whicΦ lead≤ t∩á lot≤ ì
  17.         áááááanΣ lot≤ oµ phon∙ instructioε jum≡ references«á Versioεá 2.░ ì
  18.         áááááworkeΣ wel∞ iε determinatioε oµ correc⌠ breaδ type≤ fo≥ 808░ ì
  19.         ááááácode«á WitΦ versioε 2.1¼á yo⌡ no≈ havσ tha⌠ reliabilit∙ witΦ ì
  20.         áááááZ8░ codσ a≤ well.
  21.  
  22.         Z80DI╙á i≤á aε entirel∙ ne≈ disassemble≥ fo≥ Z8░ baseΣ CP/═á sys-ì
  23.         tems«á  Z80DI╙ i≤ writteε iε TURB╧ PASCAL«á Z80DI╙ generate≤á Z8░ ì
  24.         mnemonic≤á anΣ prepare≤ aε assembl∙ languagσ filσ witΦ man∙á spe-ì
  25.         cia∞á feature≤ fo≥ easσ oµ understandinτ thσ inten⌠ oµ thσ disas-ì
  26.         sembleΣ code« Thσ sourcσ fo≥ Z80DI╙ ha≤ grown¼ witΦ thi≤ version¼ ì
  27.         u≡ t∩ 580░ line≤ oµ coding« 
  28.  
  29.         WitΦ version≤ 2.░ anΣ higher¼ yo⌡ neeΣ kno≈ ver∙ littlσ abou⌠ thσ ì
  30.         forma⌠ oµ thσ *.CO═ filσ t∩ producσ ß nearl∙ finisheΣ sourcσ filσ ì
  31.         iε mos⌠ cases« Iε additioε ß largσ numbe≥ oµ conveniencσ feature≤ ì
  32.         anΣ default≤ havσ beeε addeΣ tha⌠ werσ no⌠ presen⌠ iε versioεá 1« ì
  33.         ┴ ful∞ synopsi≤ oµ thσ version≤ oµ thσ prograφ iε curren⌠ distri-ì
  34.         butioεá i≤ includeΣ iε thσ Z80DIS20.DO├ file«á Highlight≤ oµá thσ ì
  35.         curren⌠ change≤ follo≈ a⌠ thσ enΣ oµ thi≤ paper.
  36.  
  37.         BotΦá thσá Z80DI╙ prograφ anΣ thσ Z80DI╙á documentatioεá arσá (C⌐ ì
  38.         Copyrigh⌠á 198╡ anΣ 198╢ b∙ KennetΦ Gielow╗á Al∞ Right≤ Reserved« ì
  39.         Whilσá ╔á aφ freel∙ distributinτ thσ binar∙ codσá fo≥á non-profi⌠ ì
  40.         use¼ ╔ aφ reservinτ thσ sourcσ codσ a≤ ß tradσ secret.
  41.  
  42.         Thi≤á prograφ require≤ ß Z8░ baseΣ compute≥ runninτ CP/═á versioε ì
  43.         2.▓á o≥á higher«á Thσ codσ wa≤ compileΣ fo≥ ß 50╦á TPA╗á thσá to≡ ì
  44.         addres≤ i≤ C7FF« Thi≤ slightl∙ smal∞ sizσ wa≤ donσ fo≥ compatibi-ì
  45.         lit∙ witΦ CP/═ 3.░ anΣ ZCPR3.
  46.  
  47.         Thσ followinτ file≤ wil∞ bσ founΣ oε Z80DIS21.LB╥ fo≥ thi≤á prog-ì
  48.         raφ distributioε librar∙ package:
  49.  
  50.              Z80DIS.COM    - thσ disassembler program
  51.              Z80DIS.000    - overla∙ file fo≥ Z80DIS  
  52.              Z80DIS.00▒    - overlay file for Z80DIS
  53.            
  54.              ZDINSTAL.COM  - a terminal command installatioε program
  55.              ZDINSTAL.MSG  - contain≤ tex⌠ oµ ZDINSTA╠ message≤ 
  56.              ZDINSTAL.DTA  - contain≤ termina∞ characteristic≤ data
  57.  
  58.              Z80DIS20.DOC  - aε abbreviateΣ use≥ manua∞ iε read∙ t∩ prin⌠ ì
  59.           áááááááááááááááááááááformat« (Seσ documentatioε noticσ ⌐    
  60. è
  61.  
  62.  
  63.  
  64.  
  65.  
  66.         Z80DIS 2.1                                               01/11/86
  67.  
  68.  
  69.         Thσ Z80DI╙ binar∙ i≤ iε threσ files« Thσ ZDINSTA╠ file≤ arσ baseΣ ì
  70.         oεá thσ TURB╧ Toolbo° GINS╘ prograφ anΣ wil∞ tailo≥ thσá interac-ì
  71.         tivσ display≤ t∩ you≥ terminal.
  72.  
  73.         Thσá prograφá i≤ eas∙ t∩ usσ witΦ interactivσ display≤ fo≥á para-ì
  74.         mete≥ specification«á Al∞ contro∞ parameter≤ havσ default≤ prese⌠ ì
  75.         t∩á thσ mos⌠ likel∙ values«á Thσ DO├ filσ i≤ thσ tex⌠ oµ ßá shor⌠ ì
  76.         use≥ manua∞ whicΦ explain≤ mos⌠ oµ thσ importan⌠ point≤ needeΣ t∩ ì
  77.         ge⌠ going.
  78.                               DOCUMENTATIO╬ NOTIC┼  
  79.                               --------------------
  80.         Thσ original¼ forty-plu≤ pagσ use≥ manua∞ gavσ extensivσ example≤ ì
  81.         anΣá useΣá disassembl∙ oµ thσ publiπ domaiε prograφ D.CO═á a≤á aε ì
  82.         example«á Unfortunately¼ witΦ thσ addition≤ t∩ documen⌠ thσ newe≥ ì
  83.         feature≤á anΣá givσ additiona∞ suggestion≤á fo≥á use¼á tha⌠á use≥ ì
  84.         manua∞á  anΣ expandeΣ prograφ togethe≥ havσ botΦ gotteε s∩á largσ ì
  85.         tha⌠á mos⌠ systeφ operator≤ woulΣ no⌠ carr∙ thσ completσ library« ì
  86.         Somethinτá haΣ t∩ give«á ╔ fee∞ tha⌠ thσ prograφ i≤ largel∙á selµ ì
  87.         explanator∙á s∩á tha⌠ yo⌡ caε ge⌠ starteΣ ver∙ wel∞ witΦá onl∙á ß ì
  88.         shorteneΣ manual«á Thi≤ abbreviateΣ manua∞ i≤ includeΣ here«á Thσ ì
  89.         shor⌠ use≥ manua∞ deal≤ mainl∙ witΦ installinτ thσ Z80DI╙ prograφ ì
  90.         anΣ doinτ ß simplσ disassembly«á Thi≤ shor⌠ manua∞ i≤ al∞ tha⌠á ß ì
  91.         casua∞ use≥ woulΣ probabl∙ need.
  92.  
  93.         Thσá longe≥ manua∞ expand≤ oε thσ discussioε oµ thσ feature≤á anΣ ì
  94.         explain≤á thσá step-wisσá approacΦ t∩ dealinτá witΦá mucΦá large≥ ì
  95.         sourcσ codes« Thσ manua∞ als∩ deal≤ witΦ disassemblinτ codσ whicΦ ì
  96.         relocate≤á itself«á Extensivσá example≤ arσ included«á Al∞á erro≥ ì
  97.         message≤ anΣ secondar∙ option≤ arσ discusseΣ iε detail.
  98.  
  99.         Thσ ful∞ Z80DI╙ USE╥ MANUA╠ i≤ availablσ b∙ mail«á ╔ aφ askinτá ß ì
  100.         nomina∞á chargσá oµ ñ 20.0░ whicΦ include≤ thσá manual¼á postage¼ ì
  101.         handling¼ anΣ aε updatσ notificatioε service« Yo⌡ arσ granteΣ thσ ì
  102.         righ⌠á t∩ makσ not-for-profi⌠ copie≤ oµ thσ manual«á Thσá prograφ ì
  103.         itselµá i≤á no⌠á availablσ b∙ mai∞ a≤ ╔ d∩á no⌠á havσá extensive¼ ì
  104.         multi-forma⌠ disδ cop∙ capability«á Thσ notificatioε servicσ wil∞ ì
  105.         consis⌠á oµ ß lette≥ t∩ yo⌡ anytimσ ß ne≈ versioε i≤ releaseΣá s∩ ì
  106.         tha⌠ yo⌡ ma∙ bσ oε thσ lookou⌠ fo≥ it.
  107.  
  108.         T∩á orde≥ ß cop∙ oµ thσ Z80DI╙ USE╥ MANUAL¼á senΣ ß reques⌠á witΦ ì
  109.         you≥ name¼ address¼ anΣ ß checδ fo≥ ñ 20.0░ t∩ --
  110.  
  111.                   KennetΦ Gielow
  112.                   7╣ Tuli≡ Lane
  113.                   Pal∩ Alto¼ C┴  94303
  114.  
  115.         -----------------------------------------------------------------
  116.  
  117.                                FEATURE╙ O╞ Z80DIS
  118.                                ------------------
  119.         Thσá majo≥á featurσá oµ Z80DI╙ i≤ aε extensivσá analysi≤á oµá thσ ì
  120.         memor∙á usagσ b∙ thσ prograφ unde≥ investigation«á Thi≤á analysi≤ ì
  121.         capabilit∙á form≤ thσ basi≤ fo≥ aε automatiπ partitioninτ oµá thσ ì
  122.         codσ t∩ generatσ thσ breaδ table«á Thi≤ analysi≤ als∩ produce≤á ß ì
  123.         fully-annotateΣ cros≤ referencσ oµ al∞ addresses.
  124.  
  125.         ┴á disassemble≥á mus⌠ kno≈ whethe≥ thσ byte≤ arσ instruction≤á o≥ ìè
  126.  
  127.                                         2
  128.  
  129.  
  130.  
  131.         Z80DIS 2.1                                               01/11/86
  132.  
  133.  
  134.         datßá iε orde≥ t∩ proceed«á Z80DI╙ i≤ thσ firs⌠á disassemble≥á t∩ ì
  135.         producσá it≤á owεá breaδ tablσ fo≥ thi≤á purpose«á Somσá previou≤ ì
  136.         programs¼ sucΦ a≤ RESOURCE¼ havσ includeΣ ß searcΦ fo≥ ASCI╔ tex⌠ ì
  137.         regions¼á bu⌠ havσ lef⌠ thσ verificatioε anΣ interpretatioε u≡ t∩ ì
  138.         thσá user«á Mos⌠ othe≥ disassembler≤ arσ fooleΣ b∙ thσá tricδá oµ ì
  139.         addinτá nonsensσ byte≤ afte≥ jump≤ t∩ causσ thσ analysi≤ t∩á fal∞ ì
  140.         ou⌠ oµ synchronizatioε witΦ instructioε codσ interpretation«  
  141.  
  142.         Z80DI╙á produce≤ aε outpu⌠ listinτ  whicΦ itemize≤ al∞á addresse≤ ì
  143.         referenceΣ b∙ thσ code¼á distinguishe≤ type≤ oµ labe∞ references¼ ì
  144.         mark≤á subroutine≤á anΣá jump≤ anΣ produce≤ aεá annotateΣá cross-ì
  145.         reference«á Thi≤ listinτ show≤ thσ exac⌠ modσ oµ usagσ fo≥á ever∙ ì
  146.         reference║á Jum≡ absolute¼ Jum≡ relative¼ Call¼ Restart¼ LoaΣ 16-ì
  147.         bit¼á Storσ 16-bit¼ Immediatσ 16-bit¼ LoaΣ 8-bit¼ Storσ 8-bit« Iε ì
  148.         versioεá 2.1¼á thi≤ listinτ als∩ show≤ thσ breaδ tablσ regioεá oµ ì
  149.         residenc∙á fo≥á eacΦ labe∞ s∩ tha⌠ yo⌡ ma∙ inspec⌠ thσá lis⌠á fo≥ ì
  150.         inconsistencies.
  151.  
  152.              Aεá addres≤ labelinτ conventioε assist≤ iε understandinτ thσ ì
  153.         assembl∙á codσ generated«á EacΦ labe∞ generateΣ oεá thσá assembl∙ ì
  154.         listinτá indicates¼á b∙ format¼á no⌠ onl∙ thσ generiπ typσ (Jump¼ ì
  155.         Call¼ Data¼ Other⌐ oµ an∙ references¼ bu⌠ als∩ thσ singularit∙ oµ ì
  156.         thσ reference.
  157.  
  158.                   Fo≥á example¼á J#02E│ useΣ a⌠ addres≤ 02E│á indi-ì
  159.         áááááááááácate≤ tha⌠ onl∙ onσ referencσ wa≤ madσ t∩ addres≤ ì
  160.         áááááááááá02E│ anΣ tha⌠ tha⌠ referencσ wa≤ ß JUMP.
  161.  
  162.         Iεá additioε t∩ helpinτ yo⌡ b∙ automatiπ analysi≤ oµ memor∙á use¼ ì
  163.         Z80DI╙ als∩ assist≤ yo⌡ b∙ stylinτ thσ presentatioε oµ thσ disas-ì
  164.         sembleΣ code«á Thσ disassembleΣ codσ i≤ outpu⌠ iε tw∩ forms║ BotΦ ì
  165.         thσ usua∞ *.MA├ filσ anΣ ß printe≥ formatteΣ *.PR╬ file.
  166.  
  167.         Thσ *.PR╬ filσ i≤ styleΣ t∩ looδ likσ thσ outpu⌠ oµ aεá assemble≥ ì
  168.         witΦ botΦ thσ instruction≤ anΣ assembleΣ byte≤ shown«á Thσ juxta-ì
  169.         positioεá oµá thσá hexadecima∞ byte≤ anΣ thσá assembl∙á mnemonic≤ ì
  170.         allow≤á thσá use≥ t∩ recognizσ error≤ causeΣá b∙á aεá incorrectl∙ ì
  171.         defineΣ breaδ table« 
  172.  
  173.         -----------------------------------------------------------------
  174.  
  175.         ┴ persona∞ note:
  176.  
  177.              ╔á wrotσ thi≤ disassemble≥ becausσ ╔ coulΣ no⌠ finΣá anothe≥ ì
  178.         tha⌠á woulΣá reall∙á opeε u≡ ß foreigεá prograφá fo≥á inspection« ì
  179.         RESOURC┼á anΣá it≤ spin-off≤ givσ yo⌡ onl∙ ß pin-holσ looδá a⌠á ß ì
  180.         prograφá withou⌠ indicatinτ thσ importan⌠ interaction≤ witΦ othe≥ ì
  181.         part≤á oµá thσ code«á Z80DI╙ rectifie≤ tha⌠ lacδ vißá thσá cross-ì
  182.         reference¼á disassembl∙ comments¼á anΣ automatiπ structurσ analy-ì
  183.         sis« ╔ hopσ tha⌠ yo⌡ wil∞ finΣ i⌠ a≤ usefu∞ a≤ ╔ have« 
  184.  
  185.                                       Kenneth Gielow
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.                                         3
  194.  
  195.  
  196.  
  197.         Z80DIS 2.1                                               01/11/86
  198.  
  199.  
  200.                        Significant Changes in Version 2.1
  201.                        ----------------------------------
  202.  
  203.              1⌐ BU╟ CORRECTION║á Durinτ automatiπ breaδ tablσ creatioε iε ì
  204.         versioε 2.0¼á thσ code≤ DD34¼á DD35¼á DD36¼ FD34¼ FD35¼ FD3╢ werσ ì
  205.         no⌠á correctl∙á recognized«á Thi≤ resulteΣ iεá falsσá assumption≤ ì
  206.         abou⌠á thσá legalit∙á oµ somσ Z8░ codσ region≤á whicΦá werσá theε ì
  207.         though⌠ t∩ bσ datß region≤ rathe≥ thaε instructioε regions«á Thi≤ ì
  208.         ha≤ beeε correcteΣ iε versioε 2.1.
  209.  
  210.              2⌐ IMPROVEMEN╘ I╬ HANDLIN╟ J╥ REFERENCES║á Iεá disassemblinτ ì
  211.         808░á coding¼á instructioε jump≤ anΣ call≤ usσ 3-bytσ addressing╗ ì
  212.         tha⌠ i≤ unambiguou≤ anΣ no⌠ easil∙ misinterpreted« WitΦ Z8░ code¼ ì
  213.         ASCI╔ tex⌠ block≤ contaiε code≤ tha⌠ arσ easil∙ mistakeε fo≥á Z8░ ì
  214.         relativσá jumps╗á tha⌠á create≤ apparen⌠ jum≡ reference≤ t∩á codσ ì
  215.         withiεá 12╕ byte≤ beforσ o≥ afte≥ thσá misinterpreteΣá byte«á Thσ ì
  216.         ASCI╔ blanδ (2░ hex⌐ i≤ especiall∙ baΣ a≤ i⌠ look≤ exactl∙ likσ ß ì
  217.         "J╥ NZ,xxxxó code« Versioε 2.▒ ha≤ beeε mucΦ improveΣ t∩ distrus⌠ ì
  218.         relativσá jum≡ reference≤ a≤ ß basi≤ fo≥ declarinτ ß regioε t∩ bσ ì
  219.         instructions«á Versioεá 2.▒á examine≤ corroborativσá evidencσá t∩ ì
  220.         distinguisΦ ASCI╔ datß froφ instructioε codes« 
  221.  
  222.              3⌐ OTHE╥ IMPROVEMENTS║á Thσ entirσ Exper⌠ systeφá comprisinτ ì
  223.         thσ Automatiπ Breaδ Determinatioε featurσ wa≤ enhanceΣ t∩ yielΣ ß ì
  224.         morσ completσ analysi≤ oµ thσ codσ structure.
  225.  
  226.                       Highlight≤ oµ Change≤ iε Versioε 2.0
  227.                       ------------------------------------
  228.  
  229.              1⌐ AUTOMATI├ BREA╦ TABL┼ CREATION║ Wheε thσ prograφ ask≤ fo≥ ì
  230.         breaδá tablσ inputs¼á yo⌡ ma∙ no≈ ente≥ '*º whicΦ wil∞ trigge≥á ß ì
  231.         detaileΣ analysi≤ oµ thσ structurσ anΣ relationship≤ oµ thσ inpu⌠ ì
  232.         code.
  233.  
  234.              2⌐ Thσ CO═ filσ anΣ overla∙ file≤ fo≥ Z80DI╙ n∩ longe≥á neeΣ ì
  235.         t∩ bσ oε you≥ defaul⌠ disδ drive« 
  236.  
  237.              3⌐á Thσá cross-referencσ listinτ no≈ show≤ thσá breaδá tablσ ì
  238.         regioε oµ residenc∙ fo≥ eacΦ label.
  239.  
  240.              4⌐á Overflo≈ oµ memor∙ o≥ disδ spacσ durinτ pas≤ ▒ wil∞á no⌠ ì
  241.         abor⌠ execution.
  242.  
  243.              5⌐á Yo⌡ ma∙ no≈ disassemblσ direc⌠ t∩ you≥ printe≥ b∙ speci-ì
  244.         fyinτ LST║ a≤ thσ lis⌠ filσ name.
  245.  
  246.              6⌐á Yo⌡á ma∙á no≈ suppres≤ creatioε oµ eithe≥ .PR╬á o≥á .MA├ ì
  247.         outpu⌠ files.
  248.  
  249.              7⌐ Thσ defaul⌠ namσ fo≥ thσ breaδ tablσ savσ filσ i≤ no≈ thσ ì
  250.         samσ namσ a≤ tha⌠ oµ you≥ inpu⌠ file« 
  251.  
  252.         _________________________________________________________________
  253.         CP/M is a registered trademark of Digital Research Inc., 
  254.         TURB╧ PASCA╠ i≤ ß trademarδ oµ BorlanΣ International, 
  255.         Z-80 is a trademark of Zilog Corp.
  256.  
  257.  
  258.  
  259.                                         4
  260.  
  261.  
  262.  
  263.