home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / enterprs / cpm / utils / a / assy1-5.arc / Z80DIS.V21 < prev    next >
Encoding:
Text File  |  1993-03-31  |  12.5 KB  |  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.  
  67.         Z80DIS 2.1                                               01/11/86
  68.  
  69.  
  70.         Thσ Z80DI╙ binar∙ i≤ iε threσ files« Thσ ZDINSTA╠ file≤ arσ baseΣ ì
  71.         oεá thσ TURB╧ Toolbo° GINS╘ prograφ anΣ wil∞ tailo≥ thσá interac-ì
  72.         tivσ display≤ t∩ you≥ terminal.
  73.  
  74.         Thσá prograφá i≤ eas∙ t∩ usσ witΦ interactivσ display≤ fo≥á para-ì
  75.         mete≥ specification«á Al∞ contro∞ parameter≤ havσ default≤ prese⌠ ì
  76.         t∩á thσ mos⌠ likel∙ values«á Thσ DO├ filσ i≤ thσ tex⌠ oµ ßá shor⌠ ì
  77.         use≥ manua∞ whicΦ explain≤ mos⌠ oµ thσ importan⌠ point≤ needeΣ t∩ ì
  78.         ge⌠ going.
  79.                               DOCUMENTATIO╬ NOTIC┼  
  80.                               --------------------
  81.         Thσ original¼ forty-plu≤ pagσ use≥ manua∞ gavσ extensivσ example≤ ì
  82.         anΣá useΣá disassembl∙ oµ thσ publiπ domaiε prograφ D.CO═á a≤á aε ì
  83.         example«á Unfortunately¼ witΦ thσ addition≤ t∩ documen⌠ thσ newe≥ ì
  84.         feature≤á anΣá givσ additiona∞ suggestion≤á fo≥á use¼á tha⌠á use≥ ì
  85.         manua∞á  anΣ expandeΣ prograφ togethe≥ havσ botΦ gotteε s∩á largσ ì
  86.         tha⌠á mos⌠ systeφ operator≤ woulΣ no⌠ carr∙ thσ completσ library« ì
  87.         Somethinτá haΣ t∩ give«á ╔ fee∞ tha⌠ thσ prograφ i≤ largel∙á selµ ì
  88.         explanator∙á s∩á tha⌠ yo⌡ caε ge⌠ starteΣ ver∙ wel∞ witΦá onl∙á ß ì
  89.         shorteneΣ manual«á Thi≤ abbreviateΣ manua∞ i≤ includeΣ here«á Thσ ì
  90.         shor⌠ use≥ manua∞ deal≤ mainl∙ witΦ installinτ thσ Z80DI╙ prograφ ì
  91.         anΣ doinτ ß simplσ disassembly«á Thi≤ shor⌠ manua∞ i≤ al∞ tha⌠á ß ì
  92.         casua∞ use≥ woulΣ probabl∙ need.
  93.  
  94.         Thσá longe≥ manua∞ expand≤ oε thσ discussioε oµ thσ feature≤á anΣ ì
  95.         explain≤á thσá step-wisσá approacΦ t∩ dealinτá witΦá mucΦá large≥ ì
  96.         sourcσ codes« Thσ manua∞ als∩ deal≤ witΦ disassemblinτ codσ whicΦ ì
  97.         relocate≤á itself«á Extensivσá example≤ arσ included«á Al∞á erro≥ ì
  98.         message≤ anΣ secondar∙ option≤ arσ discusseΣ iε detail.
  99.  
  100.         Thσ ful∞ Z80DI╙ USE╥ MANUA╠ i≤ availablσ b∙ mail«á ╔ aφ askinτá ß ì
  101.         nomina∞á chargσá oµ ñ 20.0░ whicΦ include≤ thσá manual¼á postage¼ ì
  102.         handling¼ anΣ aε updatσ notificatioε service« Yo⌡ arσ granteΣ thσ ì
  103.         righ⌠á t∩ makσ not-for-profi⌠ copie≤ oµ thσ manual«á Thσá prograφ ì
  104.         itselµá i≤á no⌠á availablσ b∙ mai∞ a≤ ╔ d∩á no⌠á havσá extensive¼ ì
  105.         multi-forma⌠ disδ cop∙ capability«á Thσ notificatioε servicσ wil∞ ì
  106.         consis⌠á oµ ß lette≥ t∩ yo⌡ anytimσ ß ne≈ versioε i≤ releaseΣá s∩ ì
  107.         tha⌠ yo⌡ ma∙ bσ oε thσ lookou⌠ fo≥ it.
  108.  
  109.         T∩á orde≥ ß cop∙ oµ thσ Z80DI╙ USE╥ MANUAL¼á senΣ ß reques⌠á witΦ ì
  110.         you≥ name¼ address¼ anΣ ß checδ fo≥ ñ 20.0░ t∩ --
  111.  
  112.                   KennetΦ Gielow
  113.                   7╣ Tuli≡ Lane
  114.                   Pal∩ Alto¼ C┴  94303
  115.  
  116.         -----------------------------------------------------------------
  117.  
  118.                                FEATURE╙ O╞ Z80DIS
  119.                                ------------------
  120.         Thσá majo≥á featurσá oµ Z80DI╙ i≤ aε extensivσá analysi≤á oµá thσ ì
  121.         memor∙á usagσ b∙ thσ prograφ unde≥ investigation«á Thi≤á analysi≤ ì
  122.         capabilit∙á form≤ thσ basi≤ fo≥ aε automatiπ partitioninτ oµá thσ ì
  123.         codσ t∩ generatσ thσ breaδ table«á Thi≤ analysi≤ als∩ produce≤á ß ì
  124.         fully-annotateΣ cros≤ referencσ oµ al∞ addresses.
  125.  
  126.         ┴á disassemble≥á mus⌠ kno≈ whethe≥ thσ byte≤ arσ instruction≤á o≥ ìè
  127.  
  128.                                         2
  129.  
  130.  
  131.  
  132.         Z80DIS 2.1                                               01/11/86
  133.  
  134.  
  135.         datßá iε orde≥ t∩ proceed«á Z80DI╙ i≤ thσ firs⌠á disassemble≥á t∩ ì
  136.         producσá it≤á owεá breaδ tablσ fo≥ thi≤á purpose«á Somσá previou≤ ì
  137.         programs¼ sucΦ a≤ RESOURCE¼ havσ includeΣ ß searcΦ fo≥ ASCI╔ tex⌠ ì
  138.         regions¼á bu⌠ havσ lef⌠ thσ verificatioε anΣ interpretatioε u≡ t∩ ì
  139.         thσá user«á Mos⌠ othe≥ disassembler≤ arσ fooleΣ b∙ thσá tricδá oµ ì
  140.         addinτá nonsensσ byte≤ afte≥ jump≤ t∩ causσ thσ analysi≤ t∩á fal∞ ì
  141.         ou⌠ oµ synchronizatioε witΦ instructioε codσ interpretation«  
  142.  
  143.         Z80DI╙á produce≤ aε outpu⌠ listinτ  whicΦ itemize≤ al∞á addresse≤ ì
  144.         referenceΣ b∙ thσ code¼á distinguishe≤ type≤ oµ labe∞ references¼ ì
  145.         mark≤á subroutine≤á anΣá jump≤ anΣ produce≤ aεá annotateΣá cross-ì
  146.         reference«á Thi≤ listinτ show≤ thσ exac⌠ modσ oµ usagσ fo≥á ever∙ ì
  147.         reference║á Jum≡ absolute¼ Jum≡ relative¼ Call¼ Restart¼ LoaΣ 16-ì
  148.         bit¼á Storσ 16-bit¼ Immediatσ 16-bit¼ LoaΣ 8-bit¼ Storσ 8-bit« Iε ì
  149.         versioεá 2.1¼á thi≤ listinτ als∩ show≤ thσ breaδ tablσ regioεá oµ ì
  150.         residenc∙á fo≥á eacΦ labe∞ s∩ tha⌠ yo⌡ ma∙ inspec⌠ thσá lis⌠á fo≥ ì
  151.         inconsistencies.
  152.  
  153.              Aεá addres≤ labelinτ conventioε assist≤ iε understandinτ thσ ì
  154.         assembl∙á codσ generated«á EacΦ labe∞ generateΣ oεá thσá assembl∙ ì
  155.         listinτá indicates¼á b∙ format¼á no⌠ onl∙ thσ generiπ typσ (Jump¼ ì
  156.         Call¼ Data¼ Other⌐ oµ an∙ references¼ bu⌠ als∩ thσ singularit∙ oµ ì
  157.         thσ reference.
  158.  
  159.                   Fo≥á example¼á J#02E│ useΣ a⌠ addres≤ 02E│á indi-ì
  160.         áááááááááácate≤ tha⌠ onl∙ onσ referencσ wa≤ madσ t∩ addres≤ ì
  161.         áááááááááá02E│ anΣ tha⌠ tha⌠ referencσ wa≤ ß JUMP.
  162.  
  163.         Iεá additioε t∩ helpinτ yo⌡ b∙ automatiπ analysi≤ oµ memor∙á use¼ ì
  164.         Z80DI╙ als∩ assist≤ yo⌡ b∙ stylinτ thσ presentatioε oµ thσ disas-ì
  165.         sembleΣ code«á Thσ disassembleΣ codσ i≤ outpu⌠ iε tw∩ forms║ BotΦ ì
  166.         thσ usua∞ *.MA├ filσ anΣ ß printe≥ formatteΣ *.PR╬ file.
  167.  
  168.         Thσ *.PR╬ filσ i≤ styleΣ t∩ looδ likσ thσ outpu⌠ oµ aεá assemble≥ ì
  169.         witΦ botΦ thσ instruction≤ anΣ assembleΣ byte≤ shown«á Thσ juxta-ì
  170.         positioεá oµá thσá hexadecima∞ byte≤ anΣ thσá assembl∙á mnemonic≤ ì
  171.         allow≤á thσá use≥ t∩ recognizσ error≤ causeΣá b∙á aεá incorrectl∙ ì
  172.         defineΣ breaδ table« 
  173.  
  174.         -----------------------------------------------------------------
  175.  
  176.         ┴ persona∞ note:
  177.  
  178.              ╔á wrotσ thi≤ disassemble≥ becausσ ╔ coulΣ no⌠ finΣá anothe≥ ì
  179.         tha⌠á woulΣá reall∙á opeε u≡ ß foreigεá prograφá fo≥á inspection« ì
  180.         RESOURC┼á anΣá it≤ spin-off≤ givσ yo⌡ onl∙ ß pin-holσ looδá a⌠á ß ì
  181.         prograφá withou⌠ indicatinτ thσ importan⌠ interaction≤ witΦ othe≥ ì
  182.         part≤á oµá thσ code«á Z80DI╙ rectifie≤ tha⌠ lacδ vißá thσá cross-ì
  183.         reference¼á disassembl∙ comments¼á anΣ automatiπ structurσ analy-ì
  184.         sis« ╔ hopσ tha⌠ yo⌡ wil∞ finΣ i⌠ a≤ usefu∞ a≤ ╔ have« 
  185.  
  186.                                       Kenneth Gielow
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.                                         3
  195.  
  196.  
  197.  
  198.         Z80DIS 2.1                                               01/11/86
  199.  
  200.  
  201.                        Significant Changes in Version 2.1
  202.                        ----------------------------------
  203.  
  204.              1⌐ BU╟ CORRECTION║á Durinτ automatiπ breaδ tablσ creatioε iε ì
  205.         versioε 2.0¼á thσ code≤ DD34¼á DD35¼á DD36¼ FD34¼ FD35¼ FD3╢ werσ ì
  206.         no⌠á correctl∙á recognized«á Thi≤ resulteΣ iεá falsσá assumption≤ ì
  207.         abou⌠á thσá legalit∙á oµ somσ Z8░ codσ region≤á whicΦá werσá theε ì
  208.         though⌠ t∩ bσ datß region≤ rathe≥ thaε instructioε regions«á Thi≤ ì
  209.         ha≤ beeε correcteΣ iε versioε 2.1.
  210.  
  211.              2⌐ IMPROVEMEN╘ I╬ HANDLIN╟ J╥ REFERENCES║á Iεá disassemblinτ ì
  212.         808░á coding¼á instructioε jump≤ anΣ call≤ usσ 3-bytσ addressing╗ ì
  213.         tha⌠ i≤ unambiguou≤ anΣ no⌠ easil∙ misinterpreted« WitΦ Z8░ code¼ ì
  214.         ASCI╔ tex⌠ block≤ contaiε code≤ tha⌠ arσ easil∙ mistakeε fo≥á Z8░ ì
  215.         relativσá jumps╗á tha⌠á create≤ apparen⌠ jum≡ reference≤ t∩á codσ ì
  216.         withiεá 12╕ byte≤ beforσ o≥ afte≥ thσá misinterpreteΣá byte«á Thσ ì
  217.         ASCI╔ blanδ (2░ hex⌐ i≤ especiall∙ baΣ a≤ i⌠ look≤ exactl∙ likσ ß ì
  218.         "J╥ NZ,xxxxó code« Versioε 2.▒ ha≤ beeε mucΦ improveΣ t∩ distrus⌠ ì
  219.         relativσá jum≡ reference≤ a≤ ß basi≤ fo≥ declarinτ ß regioε t∩ bσ ì
  220.         instructions«á Versioεá 2.▒á examine≤ corroborativσá evidencσá t∩ ì
  221.         distinguisΦ ASCI╔ datß froφ instructioε codes« 
  222.  
  223.              3⌐ OTHE╥ IMPROVEMENTS║á Thσ entirσ Exper⌠ systeφá comprisinτ ì
  224.         thσ Automatiπ Breaδ Determinatioε featurσ wa≤ enhanceΣ t∩ yielΣ ß ì
  225.         morσ completσ analysi≤ oµ thσ codσ structure.
  226.  
  227.                       Highlight≤ oµ Change≤ iε Versioε 2.0
  228.                       ------------------------------------
  229.  
  230.              1⌐ AUTOMATI├ BREA╦ TABL┼ CREATION║ Wheε thσ prograφ ask≤ fo≥ ì
  231.         breaδá tablσ inputs¼á yo⌡ ma∙ no≈ ente≥ '*º whicΦ wil∞ trigge≥á ß ì
  232.         detaileΣ analysi≤ oµ thσ structurσ anΣ relationship≤ oµ thσ inpu⌠ ì
  233.         code.
  234.  
  235.              2⌐ Thσ CO═ filσ anΣ overla∙ file≤ fo≥ Z80DI╙ n∩ longe≥á neeΣ ì
  236.         t∩ bσ oε you≥ defaul⌠ disδ drive« 
  237.  
  238.              3⌐á Thσá cross-referencσ listinτ no≈ show≤ thσá breaδá tablσ ì
  239.         regioε oµ residenc∙ fo≥ eacΦ label.
  240.  
  241.              4⌐á Overflo≈ oµ memor∙ o≥ disδ spacσ durinτ pas≤ ▒ wil∞á no⌠ ì
  242.         abor⌠ execution.
  243.  
  244.              5⌐á Yo⌡ ma∙ no≈ disassemblσ direc⌠ t∩ you≥ printe≥ b∙ speci-ì
  245.         fyinτ LST║ a≤ thσ lis⌠ filσ name.
  246.  
  247.              6⌐á Yo⌡á ma∙á no≈ suppres≤ creatioε oµ eithe≥ .PR╬á o≥á .MA├ ì
  248.         outpu⌠ files.
  249.  
  250.              7⌐ Thσ defaul⌠ namσ fo≥ thσ breaδ tablσ savσ filσ i≤ no≈ thσ ì
  251.         samσ namσ a≤ tha⌠ oµ you≥ inpu⌠ file« 
  252.  
  253.         _________________________________________________________________
  254.         CP/M is a registered trademark of Digital Research Inc., 
  255.         TURB╧ PASCA╠ i≤ ß trademarδ oµ BorlanΣ International, 
  256.         Z-80 is a trademark of Zilog Corp.
  257.  
  258.  
  259.  
  260.                                         4
  261.  
  262.  
  263.  
  264.