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
/
BEEHIVE
/
ZCAT
/
Z80DIS21.LBR
/
README.2Z
/
README.21
Wrap
Text File
|
2000-06-30
|
13KB
|
263 lines
January 11, 1986
This is the READ-ME file from the Z80DIS.LBR package, version 2.1
------------------------------------------------------===========
Version 2.1 change note:
Versioε 2.░ addeΣ artificia∞ intelligencσ t∩ Z80DIS«
Versioεá 2.▒ correct≤ ß smal∞ buτ iε thσ processinτ oµá INC¼ ì
áááááDEC¼á anΣá L─ usinτ inde° register≤ I╪ anΣ IY«á Versioεá 2.▒ ì
áááááals∩á significantl∙ enhance≤ thσ abilitie≤ oµ thσá disassem-ì
áááááble≥á t∩á distinguisΦ betweeε ASCI╔ blanδ (2░ hex⌐á anΣá thσ ì
áááááinstructioεá "J╥ NZ,xxxxó (als∩ 2░ hex⌐ whicΦ lead≤ t∩á lot≤ ì
áááááanΣ lot≤ oµ phon∙ instructioε jum≡ references«á Versioεá 2.░ ì
áááááworkeΣ wel∞ iε determinatioε oµ correc⌠ breaδ type≤ fo≥ 808░ ì
ááááácode«á WitΦ versioε 2.1¼á yo⌡ no≈ havσ tha⌠ reliabilit∙ witΦ ì
áááááZ8░ codσ a≤ well.
Z80DI╙á i≤á aε entirel∙ ne≈ disassemble≥ fo≥ Z8░ baseΣ CP/═á sys-ì
tems«á Z80DI╙ i≤ writteε iε TURB╧ PASCAL«á Z80DI╙ generate≤á Z8░ ì
mnemonic≤á anΣ prepare≤ aε assembl∙ languagσ filσ witΦ man∙á spe-ì
cia∞á feature≤ fo≥ easσ oµ understandinτ thσ inten⌠ oµ thσ disas-ì
sembleΣ code« Thσ sourcσ fo≥ Z80DI╙ ha≤ grown¼ witΦ thi≤ version¼ ì
u≡ t∩ 580░ line≤ oµ coding«
WitΦ version≤ 2.░ anΣ higher¼ yo⌡ neeΣ kno≈ ver∙ littlσ abou⌠ thσ ì
forma⌠ oµ thσ *.CO═ filσ t∩ producσ ß nearl∙ finisheΣ sourcσ filσ ì
iε mos⌠ cases« Iε additioε ß largσ numbe≥ oµ conveniencσ feature≤ ì
anΣ default≤ havσ beeε addeΣ tha⌠ werσ no⌠ presen⌠ iε versioεá 1« ì
┴ ful∞ synopsi≤ oµ thσ version≤ oµ thσ prograφ iε curren⌠ distri-ì
butioεá i≤ includeΣ iε thσ Z80DIS20.DO├ file«á Highlight≤ oµá thσ ì
curren⌠ change≤ follo≈ a⌠ thσ enΣ oµ thi≤ paper.
BotΦá thσá Z80DI╙ prograφ anΣ thσ Z80DI╙á documentatioεá arσá (C⌐ ì
Copyrigh⌠á 198╡ anΣ 198╢ b∙ KennetΦ Gielow╗á Al∞ Right≤ Reserved« ì
Whilσá ╔á aφ freel∙ distributinτ thσ binar∙ codσá fo≥á non-profi⌠ ì
use¼ ╔ aφ reservinτ thσ sourcσ codσ a≤ ß tradσ secret.
Thi≤á prograφ require≤ ß Z8░ baseΣ compute≥ runninτ CP/═á versioε ì
2.▓á o≥á higher«á Thσ codσ wa≤ compileΣ fo≥ ß 50╦á TPA╗á thσá to≡ ì
addres≤ i≤ C7FF« Thi≤ slightl∙ smal∞ sizσ wa≤ donσ fo≥ compatibi-ì
lit∙ witΦ CP/═ 3.░ anΣ ZCPR3.
Thσ followinτ file≤ wil∞ bσ founΣ oε Z80DIS21.LB╥ fo≥ thi≤á prog-ì
raφ distributioε librar∙ package:
Z80DIS.COM - thσ disassembler program
Z80DIS.000 - overla∙ file fo≥ Z80DIS
Z80DIS.00▒ - overlay file for Z80DIS
ZDINSTAL.COM - a terminal command installatioε program
ZDINSTAL.MSG - contain≤ tex⌠ oµ ZDINSTA╠ message≤
ZDINSTAL.DTA - contain≤ termina∞ characteristic≤ data
Z80DIS20.DOC - aε abbreviateΣ use≥ manua∞ iε read∙ t∩ prin⌠ ì
áááááááááááááááááááááformat« (Seσ documentatioε noticσ ⌐
è
Z80DIS 2.1 01/11/86
Thσ Z80DI╙ binar∙ i≤ iε threσ files« Thσ ZDINSTA╠ file≤ arσ baseΣ ì
oεá thσ TURB╧ Toolbo° GINS╘ prograφ anΣ wil∞ tailo≥ thσá interac-ì
tivσ display≤ t∩ you≥ terminal.
Thσá prograφá i≤ eas∙ t∩ usσ witΦ interactivσ display≤ fo≥á para-ì
mete≥ specification«á Al∞ contro∞ parameter≤ havσ default≤ prese⌠ ì
t∩á thσ mos⌠ likel∙ values«á Thσ DO├ filσ i≤ thσ tex⌠ oµ ßá shor⌠ ì
use≥ manua∞ whicΦ explain≤ mos⌠ oµ thσ importan⌠ point≤ needeΣ t∩ ì
ge⌠ going.
DOCUMENTATIO╬ NOTIC┼
--------------------
Thσ original¼ forty-plu≤ pagσ use≥ manua∞ gavσ extensivσ example≤ ì
anΣá useΣá disassembl∙ oµ thσ publiπ domaiε prograφ D.CO═á a≤á aε ì
example«á Unfortunately¼ witΦ thσ addition≤ t∩ documen⌠ thσ newe≥ ì
feature≤á anΣá givσ additiona∞ suggestion≤á fo≥á use¼á tha⌠á use≥ ì
manua∞á anΣ expandeΣ prograφ togethe≥ havσ botΦ gotteε s∩á largσ ì
tha⌠á mos⌠ systeφ operator≤ woulΣ no⌠ carr∙ thσ completσ library« ì
Somethinτá haΣ t∩ give«á ╔ fee∞ tha⌠ thσ prograφ i≤ largel∙á selµ ì
explanator∙á s∩á tha⌠ yo⌡ caε ge⌠ starteΣ ver∙ wel∞ witΦá onl∙á ß ì
shorteneΣ manual«á Thi≤ abbreviateΣ manua∞ i≤ includeΣ here«á Thσ ì
shor⌠ use≥ manua∞ deal≤ mainl∙ witΦ installinτ thσ Z80DI╙ prograφ ì
anΣ doinτ ß simplσ disassembly«á Thi≤ shor⌠ manua∞ i≤ al∞ tha⌠á ß ì
casua∞ use≥ woulΣ probabl∙ need.
Thσá longe≥ manua∞ expand≤ oε thσ discussioε oµ thσ feature≤á anΣ ì
explain≤á thσá step-wisσá approacΦ t∩ dealinτá witΦá mucΦá large≥ ì
sourcσ codes« Thσ manua∞ als∩ deal≤ witΦ disassemblinτ codσ whicΦ ì
relocate≤á itself«á Extensivσá example≤ arσ included«á Al∞á erro≥ ì
message≤ anΣ secondar∙ option≤ arσ discusseΣ iε detail.
Thσ ful∞ Z80DI╙ USE╥ MANUA╠ i≤ availablσ b∙ mail«á ╔ aφ askinτá ß ì
nomina∞á chargσá oµ ñ 20.0░ whicΦ include≤ thσá manual¼á postage¼ ì
handling¼ anΣ aε updatσ notificatioε service« Yo⌡ arσ granteΣ thσ ì
righ⌠á t∩ makσ not-for-profi⌠ copie≤ oµ thσ manual«á Thσá prograφ ì
itselµá i≤á no⌠á availablσ b∙ mai∞ a≤ ╔ d∩á no⌠á havσá extensive¼ ì
multi-forma⌠ disδ cop∙ capability«á Thσ notificatioε servicσ wil∞ ì
consis⌠á oµ ß lette≥ t∩ yo⌡ anytimσ ß ne≈ versioε i≤ releaseΣá s∩ ì
tha⌠ yo⌡ ma∙ bσ oε thσ lookou⌠ fo≥ it.
T∩á orde≥ ß cop∙ oµ thσ Z80DI╙ USE╥ MANUAL¼á senΣ ß reques⌠á witΦ ì
you≥ name¼ address¼ anΣ ß checδ fo≥ ñ 20.0░ t∩ --
KennetΦ Gielow
7╣ Tuli≡ Lane
Pal∩ Alto¼ C┴ 94303
-----------------------------------------------------------------
FEATURE╙ O╞ Z80DIS
------------------
Thσá majo≥á featurσá oµ Z80DI╙ i≤ aε extensivσá analysi≤á oµá thσ ì
memor∙á usagσ b∙ thσ prograφ unde≥ investigation«á Thi≤á analysi≤ ì
capabilit∙á form≤ thσ basi≤ fo≥ aε automatiπ partitioninτ oµá thσ ì
codσ t∩ generatσ thσ breaδ table«á Thi≤ analysi≤ als∩ produce≤á ß ì
fully-annotateΣ cros≤ referencσ oµ al∞ addresses.
┴á disassemble≥á mus⌠ kno≈ whethe≥ thσ byte≤ arσ instruction≤á o≥ ìè
2
Z80DIS 2.1 01/11/86
datßá iε orde≥ t∩ proceed«á Z80DI╙ i≤ thσ firs⌠á disassemble≥á t∩ ì
producσá it≤á owεá breaδ tablσ fo≥ thi≤á purpose«á Somσá previou≤ ì
programs¼ sucΦ a≤ RESOURCE¼ havσ includeΣ ß searcΦ fo≥ ASCI╔ tex⌠ ì
regions¼á bu⌠ havσ lef⌠ thσ verificatioε anΣ interpretatioε u≡ t∩ ì
thσá user«á Mos⌠ othe≥ disassembler≤ arσ fooleΣ b∙ thσá tricδá oµ ì
addinτá nonsensσ byte≤ afte≥ jump≤ t∩ causσ thσ analysi≤ t∩á fal∞ ì
ou⌠ oµ synchronizatioε witΦ instructioε codσ interpretation«
Z80DI╙á produce≤ aε outpu⌠ listinτ whicΦ itemize≤ al∞á addresse≤ ì
referenceΣ b∙ thσ code¼á distinguishe≤ type≤ oµ labe∞ references¼ ì
mark≤á subroutine≤á anΣá jump≤ anΣ produce≤ aεá annotateΣá cross-ì
reference«á Thi≤ listinτ show≤ thσ exac⌠ modσ oµ usagσ fo≥á ever∙ ì
reference║á Jum≡ absolute¼ Jum≡ relative¼ Call¼ Restart¼ LoaΣ 16-ì
bit¼á Storσ 16-bit¼ Immediatσ 16-bit¼ LoaΣ 8-bit¼ Storσ 8-bit« Iε ì
versioεá 2.1¼á thi≤ listinτ als∩ show≤ thσ breaδ tablσ regioεá oµ ì
residenc∙á fo≥á eacΦ labe∞ s∩ tha⌠ yo⌡ ma∙ inspec⌠ thσá lis⌠á fo≥ ì
inconsistencies.
Aεá addres≤ labelinτ conventioε assist≤ iε understandinτ thσ ì
assembl∙á codσ generated«á EacΦ labe∞ generateΣ oεá thσá assembl∙ ì
listinτá indicates¼á b∙ format¼á no⌠ onl∙ thσ generiπ typσ (Jump¼ ì
Call¼ Data¼ Other⌐ oµ an∙ references¼ bu⌠ als∩ thσ singularit∙ oµ ì
thσ reference.
Fo≥á example¼á J#02E│ useΣ a⌠ addres≤ 02E│á indi-ì
áááááááááácate≤ tha⌠ onl∙ onσ referencσ wa≤ madσ t∩ addres≤ ì
áááááááááá02E│ anΣ tha⌠ tha⌠ referencσ wa≤ ß JUMP.
Iεá additioε t∩ helpinτ yo⌡ b∙ automatiπ analysi≤ oµ memor∙á use¼ ì
Z80DI╙ als∩ assist≤ yo⌡ b∙ stylinτ thσ presentatioε oµ thσ disas-ì
sembleΣ code«á Thσ disassembleΣ codσ i≤ outpu⌠ iε tw∩ forms║ BotΦ ì
thσ usua∞ *.MA├ filσ anΣ ß printe≥ formatteΣ *.PR╬ file.
Thσ *.PR╬ filσ i≤ styleΣ t∩ looδ likσ thσ outpu⌠ oµ aεá assemble≥ ì
witΦ botΦ thσ instruction≤ anΣ assembleΣ byte≤ shown«á Thσ juxta-ì
positioεá oµá thσá hexadecima∞ byte≤ anΣ thσá assembl∙á mnemonic≤ ì
allow≤á thσá use≥ t∩ recognizσ error≤ causeΣá b∙á aεá incorrectl∙ ì
defineΣ breaδ table«
-----------------------------------------------------------------
┴ persona∞ note:
╔á wrotσ thi≤ disassemble≥ becausσ ╔ coulΣ no⌠ finΣá anothe≥ ì
tha⌠á woulΣá reall∙á opeε u≡ ß foreigεá prograφá fo≥á inspection« ì
RESOURC┼á anΣá it≤ spin-off≤ givσ yo⌡ onl∙ ß pin-holσ looδá a⌠á ß ì
prograφá withou⌠ indicatinτ thσ importan⌠ interaction≤ witΦ othe≥ ì
part≤á oµá thσ code«á Z80DI╙ rectifie≤ tha⌠ lacδ vißá thσá cross-ì
reference¼á disassembl∙ comments¼á anΣ automatiπ structurσ analy-ì
sis« ╔ hopσ tha⌠ yo⌡ wil∞ finΣ i⌠ a≤ usefu∞ a≤ ╔ have«
Kenneth Gielow
3
Z80DIS 2.1 01/11/86
Significant Changes in Version 2.1
----------------------------------
1⌐ BU╟ CORRECTION║á Durinτ automatiπ breaδ tablσ creatioε iε ì
versioε 2.0¼á thσ code≤ DD34¼á DD35¼á DD36¼ FD34¼ FD35¼ FD3╢ werσ ì
no⌠á correctl∙á recognized«á Thi≤ resulteΣ iεá falsσá assumption≤ ì
abou⌠á thσá legalit∙á oµ somσ Z8░ codσ region≤á whicΦá werσá theε ì
though⌠ t∩ bσ datß region≤ rathe≥ thaε instructioε regions«á Thi≤ ì
ha≤ beeε correcteΣ iε versioε 2.1.
2⌐ IMPROVEMEN╘ I╬ HANDLIN╟ J╥ REFERENCES║á Iεá disassemblinτ ì
808░á coding¼á instructioε jump≤ anΣ call≤ usσ 3-bytσ addressing╗ ì
tha⌠ i≤ unambiguou≤ anΣ no⌠ easil∙ misinterpreted« WitΦ Z8░ code¼ ì
ASCI╔ tex⌠ block≤ contaiε code≤ tha⌠ arσ easil∙ mistakeε fo≥á Z8░ ì
relativσá jumps╗á tha⌠á create≤ apparen⌠ jum≡ reference≤ t∩á codσ ì
withiεá 12╕ byte≤ beforσ o≥ afte≥ thσá misinterpreteΣá byte«á Thσ ì
ASCI╔ blanδ (2░ hex⌐ i≤ especiall∙ baΣ a≤ i⌠ look≤ exactl∙ likσ ß ì
"J╥ NZ,xxxxó code« Versioε 2.▒ ha≤ beeε mucΦ improveΣ t∩ distrus⌠ ì
relativσá jum≡ reference≤ a≤ ß basi≤ fo≥ declarinτ ß regioε t∩ bσ ì
instructions«á Versioεá 2.▒á examine≤ corroborativσá evidencσá t∩ ì
distinguisΦ ASCI╔ datß froφ instructioε codes«
3⌐ OTHE╥ IMPROVEMENTS║á Thσ entirσ Exper⌠ systeφá comprisinτ ì
thσ Automatiπ Breaδ Determinatioε featurσ wa≤ enhanceΣ t∩ yielΣ ß ì
morσ completσ analysi≤ oµ thσ codσ structure.
Highlight≤ oµ Change≤ iε Versioε 2.0
------------------------------------
1⌐ AUTOMATI├ BREA╦ TABL┼ CREATION║ Wheε thσ prograφ ask≤ fo≥ ì
breaδá tablσ inputs¼á yo⌡ ma∙ no≈ ente≥ '*º whicΦ wil∞ trigge≥á ß ì
detaileΣ analysi≤ oµ thσ structurσ anΣ relationship≤ oµ thσ inpu⌠ ì
code.
2⌐ Thσ CO═ filσ anΣ overla∙ file≤ fo≥ Z80DI╙ n∩ longe≥á neeΣ ì
t∩ bσ oε you≥ defaul⌠ disδ drive«
3⌐á Thσá cross-referencσ listinτ no≈ show≤ thσá breaδá tablσ ì
regioε oµ residenc∙ fo≥ eacΦ label.
4⌐á Overflo≈ oµ memor∙ o≥ disδ spacσ durinτ pas≤ ▒ wil∞á no⌠ ì
abor⌠ execution.
5⌐á Yo⌡ ma∙ no≈ disassemblσ direc⌠ t∩ you≥ printe≥ b∙ speci-ì
fyinτ LST║ a≤ thσ lis⌠ filσ name.
6⌐á Yo⌡á ma∙á no≈ suppres≤ creatioε oµ eithe≥ .PR╬á o≥á .MA├ ì
outpu⌠ files.
7⌐ Thσ defaul⌠ namσ fo≥ thσ breaδ tablσ savσ filσ i≤ no≈ thσ ì
samσ namσ a≤ tha⌠ oµ you≥ inpu⌠ file«
_________________________________________________________________
CP/M is a registered trademark of Digital Research Inc.,
TURB╧ PASCA╠ i≤ ß trademarδ oµ BorlanΣ International,
Z-80 is a trademark of Zilog Corp.
4