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
/
Z80DIS20.DOC
< prev
next >
Wrap
Text File
|
1993-03-31
|
49KB
|
1,252 lines
Z80DIS SHORT USER MANUAL
A new Z80 disassembler
by KENNETH GIELOW
29 NOVEMBER 85
- PART 1 -
INTRODUCTORY REMARKS
--------------------
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∙ ì
specia∞á feature≤á fo≥á easσ oµ understandinτ thσ inten⌠á oµá thσ ì
code«á
Thσ prograφ anΣ documentatioε arσ (C⌐ Copyrigh⌠ 1985¼á b∙ KennetΦ ì
Gielow¼ Pal∩ Alto¼ CA« Al∞ Right≤ Reserved« A⌠ thi≤ time¼ ╔ ì
d∩á no⌠ intenΣ an∙ releasσ oµ thσ 5000-plu≤ line≤ oµ sourcσá codσ ì
fo≥ thσ disassembler¼ whicΦ wil∞ bσ controlleΣ a≤ ß Tradσ Secret.
This short user manual is written in 4 parts:
PART 1: These introductory remarks
PART 2: Features of Z80DIS
PART 3: How to use the program
APPENDIX A: Adaptation to your terminal
APPENDIX B: Z80DIS revision history
Thi≤á prograφ ma∙ bσ useΣ freel∙ fo≥ non-commercia∞á purposes«á ┴ ì
licensσ i≤ extendeΣ t∩ user≤ t∩ cop∙ anΣ exchangσ thσ prograφ anΣ ì
documentatioε witΦ thσ solσ restriction≤ tha⌠ authorshi≡á notice≤ ì
arσá no⌠ t∩ bσ removeΣ o≥ circumventeΣ anΣ tha⌠ sucΦ distributioε ì
mus⌠á bσá non-commercia∞á iε naturσ (thi≤ i≤ no⌠á t∩á impl∙á tha⌠ ì
charge≤á fo≥á sucΦá thing≤ a≤ diskette≤ anΣá modes⌠á copyinτá anΣ ì
mailinτá fee≤ arσ oµ themselve≤ commercia∞ iε nature.⌐ Al∞á othe≥ ì
right≤ arσ reserveΣ t∩ thσ author¼ KennetΦ Gielow.
Thσá followinτá file≤ wil∞ bσ founΣ oε thi≤ prograφá distributioε ì
library packagσ:ì
Z80DIS.COM - the disassembler main program
Z80DIS.000 - overla∙ file fo≥ Z80DI╙
Z80DIS.00▒ - overla∙ file fo≥ Z80DI╙
ZDINSTAL.CO═ - thσ installatioε program
ZDINSTAL.MSG - contain≤ tex⌠ oµ ZDINSTA╠ message≤
ZDINSTAL.DTA - contain≤ termina∞ characteristic≤ data
Z80DIS20.DOC - shor⌠á use≥ manua∞ iε read∙ t∩ prin⌠á format« ì
ááááááááááááááááááááFo≥ ß bette≥ manua∞ seσ DOCUMENTATIO╬á NOTIC┼ ì
áááááááááááááááááááá(below.)
- page 1 -
Z80DIS - a Z80 native code disassembler for CP/M - 29 NOV. 85
Thσá Z80DI╙á binar∙ i≤ iε threσ file≤ (seσ PAR╘ │ fo≥á use.⌐á Thσ ì
ZDINSTA╠á file≤á wil∞á tailo≥ thσ interactivσá display≤á t∩á you≥ ì
termina∞á (seσá APPENDI╪á A.⌐ Thσ DO├ filσ i≤ thσ tex⌠á fo≥á thi≤ ì
shor⌠ forφ oµ thσ use≥ manua∞ ¿ SE┼ DOCUMENTATIO╬ NOTIC┼ .)
Thσ distributeΣ versioε i≤ compileΣ fo≥ ß standarΣ somewha⌠ smal∞ ì
CP/═á systeφ fo≥ maximuφ compatibilit∙ witΦ thσ large≥á CP/═á 3.░ ì
anΣá fo≥ user≤ oµ thσ ZCPR│ extension≤ t∩ CP/M«á TP┴ memor∙á sizσ ì
ha≤ beeε se⌠ fo≥ 50K╗á thσ to≡ addres≤ i≤ C7F╞ hex«á ┴ Z8░á baseΣ ì
CP/═ systeφ i≤ required« Als∩ needeΣ i≤ ß printe≥ witΦ 8░ column≤ ì
minimum« Thσ prograφ i≤ configurablσ fo≥ termina∞ difference≤ bu⌠ ì
mos⌠á display≤á arσ formatteΣ t∩ looδ bes⌠ oε ßá screeεá witΦá a⌠ ì
leas⌠ 8░ columns and 24 lines.
-0-
- DOCUMENTATION NOTICE -
--------------------
Thσ original¼ verisoε 1¼ use≥ manua∞ gavσ extensivσ example≤ anΣ ì
useΣá disassembl∙ oµ thσ publiπ domaiε prograφ D.CO═ a≤ aεá exam-ì
ple«á Unfortunately¼á witΦá thσ addition≤ t∩ documen⌠á thσá newe≥ ì
feature≤á anΣá givσá additiona∞ suggestion≤ fo≥á use¼á tha⌠á use≥ ì
manua∞ anΣ 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Φá ßá shor-ì
teneΣ 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∞ Z80DIS 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∩ ì
that you may be on the lookout for it.
T∩á orde≥ ß cop∙ oµ thσ Z80DIS USE╥ MANUAL¼á senΣ ß reques⌠á witΦ ì
you≥ name¼ address¼ anΣ ß checδ fo≥ ñ 20.0░ t∩ --
Kenneth Gielow
7╣ Tuli≡ Lane
Palo Alto, CA 94303
- page 2 -
Z80DIS - Part 2: Features of Z80DIS - 29 NOV. 85
- PART 2 -
FEATURES OF 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≤á ß ì
full∙ annotateΣ cros≤ referencσ oµ al∞ addresse≤ referencσ b∙ thσ ì
codσ unde≥ analysis.
┴á breaδá tablσá tell≤ ß disassemble≥ ho≈ t∩á interpre⌠á thσ ì
binar∙á byte≤á tha⌠ i⌠ i≤ examining«á ┴á disassemble≥á mus⌠á kno≈ ì
whethe≥á thσ byte≤ arσ instruction≤ o≥ datß iε orde≥ t∩á proceed« ì
Z80DI╙á i≤ thσ firs⌠ disassemble≥ t∩ producσ it≤ owε breaδ table« ì
Somσ previou≤ programs¼á sucΦ a≤ RESOURCE¼ havσ includeΣ ß searcΦ ì
fo≥ ASCI╔ tex⌠ regions¼ bu⌠ havσ lef⌠ thσ verificatioε anΣ inter-ì
pretatioε 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╙á give≤ yo⌡ thσ optioε oµ callinτ oεá thσ ì
buil⌠ iε exper⌠ systeφ t∩ evaluatσ al∞ oµ thσ interaction≤ oµ thσ ì
codσ t∩ correctl∙ separatσ thσ instruction≤ froφ thσ data«
T∩á ge⌠á aε automatiπ breaδ table¼á yo⌡ ente≥ '*ºá wheεá thσ ì
prograφ ask≤ fo≥ breaδ tablσ inputs« Thi≤ trigger≤ aε analysi≤ oµ ì
thσ structurσ anΣ relationship≤ oµ thσ inpu⌠ codσ t∩ extrac⌠á thσ ì
star⌠á addres≤ oµ eacΦ region«á Yo⌡ arσ giveε thσ opportunit∙á t∩ ì
edi⌠ and/o≥ savσ thσ resultinτ breaδ tablσ beforσ continuinτ witΦ ì
thσ disassembly«á Region≤ oµ instructions¼á bytes¼á words¼á asciΘ ì
data¼ anΣ un-se⌠ buffer≤ arσ al∞ identifieΣ fo≥ you.
Z80DI╙ als∩ give≤ yo⌡ aε addres≤ listinτ whicΦ itemize≤ al∞ ì
addresse≤á referenceΣ b∙ thσ code¼á distinguishe≤ type≤ oµá labe∞ ì
references¼á mark≤á subroutine≤á anΣ jump≤ anΣ produce≤ aεá full∙ ì
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.0¼á thi≤ listinτ als∩ show≤ thσ breaδ ì
tablσ regioε oµ residenc∙ fo≥ eacΦ labe∞ s∩ tha⌠ yo⌡ ma∙á inspec⌠ ì
thσ lis⌠ fo≥ inconsistencies.
Thσá addres≤á oµ eacΦ referencσ i≤ given«á Thσ typσ oµá eacΦ ì
referencσ i≤ showε b∙ ß onσ o≥ tw∩ lette≥ code:
J = Jump Jr = Jum≡ relative
C = Call Cr = Cal∞ b∙ Restart
Lw = LoaΣ word Lb = LoaΣ byte
Sw = Storσ word Sb = Storσ byte
Iw = Immediate word
Z80DI╙á use≤ aε addres≤ labelinτ conventioε whicΦ assist≤ iε ì
understandinτ thσ assembl∙ codσ generated«á EacΦ labe∞á generateΣ ì
oεá thσ assembl∙ listinτ indicates¼á b∙ format¼á botΦ thσ generiπ ì
typσ oµ an∙ reference≤ anΣ thσ singularit∙ oµ thσ reference║
- page 3 -
Z80DIS - Part 2: Features of Z80DIS - 29 NOV. 85
Wherσ ß CP/═ addres≤ caε bσ assumed¼ theε tha⌠ namσ i≤ used:
0005h=>BDOS, 005Ch=>FCB1, 006Dh=>FCB2, 0080h=>DBUF, etc.
Otherwise¼á thσ labe∞ take≤ thσ forφ L.hhhΦ anΣ consist≤ oµ threσ ì
parts║
Thσ firs⌠ characte≥ i≤ usuall∙ ß "J"¼ "C"¼ "D"¼ "Ió o≥ "X"« ì
J = JUMP (JP, JR references only)
C = CALL (CALL, RST, JP, JR only)
D = DATA (8- or 16-bit Load, Store or Immediate only)
I = Immediate 16-bit only
X = any other combination (a suspicious mixture)
. = thσá addres≤á i≤ no⌠ referenced¼á bu⌠á i≤á includeΣ ì
ááááááááááááááábecausσáá i⌠á i≤á thσá beginninτá oµá ßá datßáá o≥ ì
áááááááááááááááinstructioε codσ segment.
Thσ seconΣ characte≥ indicates the singularity of the label.
. = multiple references
# = singular reference
Thσ thirΣ througΦ sixtΦ character≤ arσ thσ he° address.
Foráexample¼á J#02E3á woulΣ bσ useΣ a⌠ addres≤ 02E│á iµá onσ ì
ááááááááááreferencσá wa≤ madσ t∩ tha⌠ addres≤ anΣ 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σ ì
disassembleΣ code«á Thσ disassembleΣ codσ i≤ outpu⌠ iε tw∩ forms║ ì
BotΦ thσ usua∞ *.MA├ filσ anΣ a¼ printe≥ formatted¼ *.PR╬ file.
Thσ *.PR╬ filσ i≤ ß majo≥ aiΣ t∩ understandinτ thσ inten⌠ oµ ì
thσá code«á Thσá filσ look≤ likσ thσ outpu⌠ oµ aε assemble≥á witΦ ì
botΦ thσ instruction≤ anΣ assembleΣ byte≤ shown«á Thσá juxtaposi-ì
tioεá oµ thσ hexadecima∞ byte≤ anΣ thσ assembl∙ mnemonic≤á allow≤ ì
thσá use≥á t∩ recognizσ error≤ causeΣ b∙ aεá incorrectl∙á defineΣ ì
breaδ table«
Separatioεá commen⌠ line≤ arσ useΣ t∩ assis⌠ iεá visualizinτ ì
thσá flo≈ oµ thσ program«á ┴ blanδ commen⌠ linσ i≤ inserteΣ afte≥ ì
ever∙ CAL╠ o≥ CONDITIONA╠ JUMP«á ┴ bar-of-dashe≤ commen⌠ linσá i≤ ì
inserteΣá afte≥ ever∙ UNCONDITIONA╠ JUMP«á Al∞ CAL╠á instruction≤ ì
arσ indenteΣ onσ spacσ t∩ highligh⌠ them.
Al∞á subroutine≤á arσá markeΣ witΦ ßá heade≥á commen⌠á whicΦ ì
separate≤ theφ froφ thσ othe≥ codσ anΣ allow≤ yo⌡ t∩ annotatσ thσ ì
purposσá oµ thσ subroutine«á Al∞ immediatσ 8-bi⌠ datß i≤ showε iε ì
botΦ he° anΣ decima∞ o≥ ASCII.
Versioε 2.░ allow≤ yo⌡ thσ optioε oµ suppressinτ eithe≥á thσ ì
*.MA├á filσ o≥ thσ *.PR╬ file«á Thi≤ allow≤ conservinτ disδ spacσ ì
needeΣ fo≥ thσ assembl∙ languagσ outpu⌠ filσ whilσ yo⌡ arσ analy-ì
zinτ thσ codσ viß thσ lis⌠ file« Yo⌡ ma∙ no≈ direc⌠ thσ lis⌠ filσ ì
directl∙ t∩ you≥ LS╘ devicσ t∩ savσ furthe≥ disδ space.
- page 4 -
Z80DIS - Part 3: INSTRUCTIONS FOR EXECUTION - 29 NOV. 85
- PART 3 -
INSTRUCTIONS FOR EXECUTION
--------------------------
Z80DI╙á i≤á ß batcΦ prograφ witΦ use≥ interactivσ set-u≡á oµá thσ ì
contro∞ parameters«á Yo⌡ star⌠ Z80DI╙ b∙ typinτ "Z80DISó witΦá n∩ ì
parameters«á Thσá prograφá wil∞ promp⌠ yo⌡ fo≥á inputs«á Iεá mos⌠ ì
cases¼á defaul⌠á entrie≤ arσ showε iε DI═ intensit∙ alread∙ occu-ì
pyinτ thσ datß field«á Iµ yo⌡ typσ onl∙ thσ RETUR╬ key¼á thσá de-ì
faul⌠ wil∞ bσ used.
Z80DIS.CO═á ma∙ bσ oε thσ drivσ oµ you≥ choicσ anΣ executeΣ viß ß ì
drivσ prefi° (e.i«á B:Z80DIS)¼á thσ overla∙ files¼ Z80DIS.00░ anΣ ì
Z80DIS.001¼ mus⌠ bσ oε you≥ loggeΣ drive¼ drivσ A¼ o≥ drivσ B«
Therσ arσ fou≥ phase≤ oµ execution« Thσ firs⌠ tw∩ arσ use≥ inter-ì
active║ Basiπ paramete≥ set-u≡ anΣ definitioε oµ thσ breaδ table« ì
Thσ seconΣ tw∩ arσ automatic║á Disassembl∙ pas≤ ▒ anΣ disassembl∙ ì
pas≤ 2« Thesσ wil∞ bσ deal⌠ witΦ iε part≤ 3.▒ througΦ 3.┤ whicΦ ì
follow«
-0-
PARTá 3.▒ -- BASI├ PARAMETE╥ DEFINITION║á Afte≥ ß brieµá sign-oε ì
ááááámessage¼áá yo⌡áá wil∞á bσá askeΣá t∩á suppl∙á thσá followinτ ì
áááááinformation:
=================================================================
INPUT file name: ______________
OUTPUT file name: ______________
LISTING file name: ______________
Descriptive TITLE: __________________________________________
file LOAD address: ____ HEX
disassembly START address: ____ HEX
disassembly STOP address: ____ HEX
Do you wish to run a FULL output (as opposed to XREF only)? _
On which disk do you wish the scratch file to reside? (A-G) _
D∩áYo⌡ wisΦ t∩ proces≤ al∞ Z8░ code≤ (a≤ opposeΣ 808░ subset)┐
Are all inputs OK so far? _
=================================================================
EacΦ questioε i≤ presenteΣ one-at-a-timσ froφ thσ top«á Thσ para-ì
graph≤ belo≈ discus≤ thσ purpose¼á defaults¼á editinτá capabilit∙ ì
anΣ erro≥ checkinτ fo≥ eacΦ answer.
- page 5 -
Z80DIS - Part 3: INSTRUCTIONS FOR EXECUTION - 29 NOV. 85
-----------------------------------
INPUT file name: ______________
Z80DI╙á want≤ thσ namσ oµ thσ filσ yo⌡ wisΦ t∩á disassemble« ì
Thi≤á filσ mus⌠ bσ iε thσ absolutσ binar∙ forma⌠ commoεá t∩á CP/═ ì
".COMó files«á Thσ filσ neeΣ no⌠ bσ ß .CO═ filσ anΣ neeΣ no⌠ loaΣ ì
int∩á memor∙á a⌠ addres≤ 010░ hex«á Z80DI╙ wil∞ asδ fo≥ thσá loaΣ ì
addres≤ a⌠ ß late≥ step.
-----------------------------------
OUTPUT file name: ______________
Z80DI╙ want≤ thσ namσ oµ thσ filσ t∩ bσ useΣ fo≥ thσá disas-ì
sembleΣ output.
Thσá prograφá provide≤ ß defaul⌠ filσ namσ whicΦá i≤á NONE:« ì
thi≤ filσ namσ wil∞ suppres≤ productioε oµ thi≤ file« T∩ writσ ß ì
filσ yo⌡ mus⌠ suppl∙ ß name.
-----------------------------------
LISTING file name: ______________
Z80DI╙ want≤ thσ namσ oµ thσ filσ t∩ bσ useΣ fo≥ thσ listinτ ì
oµ thσ cross-referencσ anΣ thσ disassembly«á ┴ standarΣ CP/═ filσ ì
namσ i≤ expected« T∩ suppres≤ lis⌠ outpu⌠ yo⌡ ma∙ ente≥ NONE:« T∩ ì
direc⌠ thσ listinτ t∩ you≥ printe≥ yo⌡ ma∙ ente≥ LST:.
-----------------------------------
Descriptive TITLE: __________________________________________
Yo⌡ ma∙ ente≥ ß free-form¼ 42-characte≥ titlσ t∩ bσ includeΣ ì
a≤ identificatioε oε you≥ listing≤ anΣ outpu⌠ code«á Somσ forφ oµ ì
date¼ time¼ crackinτ attemp⌠ numbe≥ arσ useful.
-----------------------------------
file LOAD address: ____ HEX
Z80DI╙ want≤ thσ he° memor∙ addres≤ a⌠ whicΦ thσ firs⌠á worΣ ì
oµ thσ filσ reside≤ wheε loadeΣ anΣ read∙ t∩ run« Thi≤ i≤ usuall∙ ì
010░ he° fo≥ norma∞ .CO═ files«á Iµ yo⌡ ente≥ onl∙ <CR>¼ yo⌡ wil∞ ì
ge⌠ thσ 010░ default«
-----------------------------------
disassembly START address: ____ HEX
Z80DI╙á want≤á thσ he° memor∙ addres≤ a⌠ whicΦ t∩ star⌠á thσ ì
disassembly« Thi≤ i≤ usuall∙ thσ samσ a≤ thσ LOA─ address« Iµ yo⌡ ì
ente≥á onl∙á <CR>¼á yo⌡ wil∞ ge⌠ thσ valuσ yo⌡á entereΣá a≤á LOA─ ì
addres≤á a≤ default«á Thσ STAR╘ addres≤ mus⌠ bσ a⌠ o≥ highe≥ thaε ì
thσ LOA─ address«
NOTICE:áfo≥ thσ breaδ tablσ '*'¼á automatiπ assignment¼ optioε t∩ ì
ááááááááááfunctioεá correctly¼á thσ STAR╘ anΣ STO╨ addresse≤ mus⌠ ì
áááááááááácorresponΣ t∩ entirσ prograφ file« Usσ thσ defaults«
-----------------------------------
- page 6 -
Z80DIS - Part 3: INSTRUCTIONS FOR EXECUTION - 29 NOV. 85
disassembly STOP address: ____ HEX
Z80DI╙á want≤á thσ he° memor∙ addres≤ a⌠ whicΦ t∩á sto≡á thσ ì
disassembly«á Iµ yo⌡ ente≥ onl∙ <CR>¼ yo⌡ wil∞ ge⌠ ß valuσ accor-ì
dinτ t∩ thσ filσ lengtΦ oε thσ disk«
-----------------------------------
Do you wisΦ t∩ ruε FUL╠ outpu⌠ (a≤ opposeΣ t∩ XRE╞ only⌐┐ (Y/N⌐ _
Iµ yo⌡ answe≥ Y¼á yo⌡ wil∞ ge⌠ ß ful∞ disassembl∙á includinτ ì
botΦá thσ cross-referencσ par⌠ anΣ thσ instructioε codσ part«á Iµ ì
yo⌡ answe≥ N¼ yo⌡ wil∞ onl∙ ge⌠ ß cross-reference«
Thσ "Nó answe≥ processe≤ faste≥ anΣ i≤ ß gooΣ placσ t∩ star⌠ ì
t∩ ge⌠ ß fee∞ fo≥ thσ memor∙ layout.
-----------------------------------
On which disk do you wish the scratch file to reside? (A-G) _
Thi≤á allow≤á yo⌡ t∩ placσ thσ Z80DI╙ scratcΦ file(s⌐á oεá ß ì
specifiπá drive«á Iµ yo⌡ answe≥ <CR>¼á theε thσ loggeΣá drivσá i≤ ì
used.
-----------------------------------
Do you wish to process all Z80 codes
(as opposed 8080 subset only) ? (Y/N) _
Man∙á oµ thσ publiπ domain¼á anΣ other¼á program≤ whicΦá ruε ì
unde≥á CP/═ arσ writteε iε purσ 808░ codσ withou⌠ thσ Z8░á exten-ì
sion≤á t∩ thσ instructioε set«á SucΦ program≤ shoulΣ bσ disassem-ì
bleΣ witΦ ß "Nó answe≥ t∩ thi≤ question« Thσ N╧ answe≥ wil∞ stil∞ ì
generatσ Z8░ mnemonics¼á bu⌠ wil∞ marδ a≤ invaliΣ al∞ instructioε ì
byte≤ correspondinτ t∩ thσ unexpecteΣ Z8░ extension≤ t∩ thσá 808░ ì
codσ set.
Yo⌡á shoulΣá usσá thσ "Yó answe≥ onl∙ iµ yo⌡ kno≈á tha⌠á thσ ì
prograφ wil∞ ruε onl∙ oε ß Z8░ baseΣ CP/═ system.
-----------------------------------
Are all inputs OK so far? (Y/N) _
Thi≤ questioε give≤ yo⌡ ß chancσ t∩ re-examinσ you≥á answer≤ ì
t∩ thσ othe≥ question≤ beforσ continuing«á Iµ yo⌡ answe≥ "N"¼ thσ ì
prograφá wil∞á returε t∩ thσ INPU╘ filσ question«á Iµ yo⌡á answe≥ ì
"Y"¼ yo⌡ wil∞ continuσ oε t∩ settinτ u≡ you≥ breaδ table.
-----------------------------------------------------------------
Tha⌠ complete≤ thσ set-u≡ phasσ oµ thσ disassembl∙á process«á Thσ ì
nex⌠á ste≡á i≤ t∩ definσ thσ typσ oµ disassembl∙ t∩ bσá useΣá fo≥ ì
eacΦ par⌠ oµ thσ prograφ memory«
-0-
- page 7 -
Z80DIS - Part 3: INSTRUCTIONS FOR EXECUTION - 29 NOV. 85
PART 3.2á -- DEFINITIO╬á O╞á TH┼á BREA╦á TABLE:á Afte≥á yo⌡á havσ ì
ááááááááááanswereΣ YE╙ t∩ thσ "Input≤ OKó question¼ You≥ termina∞ ì
ááááááááááwil∞ no≈ displa∙ thσ following:
=================================================================
>>> Z80DIS version 2.0
Yo⌡ ma∙ no≈ ente≥ CONTRO╠ BREA╦ addresse≤ t∩ definσ thσ type
oµ disassembl∙ fo≥ eacΦ part oµ thσ code╗ eacΦ control
breaδ define≤ thσ firs⌠ addres≤ oµ ß part whicΦ end≤ a⌠ the
beginninτ oµ thσ nex⌠ part-▒ byte.
TO SEE DETAILS OF YOUR COMMAND CHOICES, type H
?: _
=================================================================
┴á breaδá tablσ tell≤ ß disassemble≥ ho≈ t∩ interpre⌠ thσá binar∙ ì
byte≤ tha⌠ i⌠ i≤ examining«á ┴ disassemble≥ mus⌠ kno≈ whethe≥ thσ ì
byte≤ arσ instruction≤ o≥ datß iε orde≥ t∩ proceed«
┴á "breakóá i≤ defineΣ t∩ bσ aε addres≤ iε thσ memor∙á wherσá yo⌡ ì
wisΦ t∩ eithe≥ forcσ ß break¼ o≥ yo⌡ wisΦ t∩ changσ froφ onσ typσ ì
oµá disassembl∙ t∩ another«á Thσ breaδ tablσ i≤ defineΣ t∩á bσá ß ì
lis⌠á oµ thσ breaδ addresse≤ fo≥ ß giveε binar∙ file«á Thσá breaδ ì
tablσ ma∙ bσ writteε t∩ ß breaδ file.
Iµá thi≤á i≤ you≥ firs⌠ attemp⌠ t∩ disassemblσ ß ne≈ prograφá anΣ ì
yo⌡ havσ n∩ ideß wherσ anythinτ i≤ stored¼ usσ thσ ne≈ "*ó optioε ì
b∙á enterinτ "*"«á Thσ "*ó commanΣ wil∞ generatσ thσ breaδá tablσ ì
fo≥á you«á Afte≥ thσ automatiπ assignmen⌠ returns¼á yo⌡á wil∞á bσ ì
showε thσ breaδ table« Ente≥ "FSó t∩ storσ thσ breaδ tablσ o≥ "Qó ì
t∩ qui⌠ thσ breaδ definitioε proces≤ anΣ star⌠ disassembly.
Z80DI╙á caεá operatσ iε si° bytσ interpretatioε mode≤á whicΦá arσ ì
defineΣ b∙ typinτ oε oµ thσ si° modσ identifiers:
I = Instructions
A = Ascii text using DEFM with quoted strings
B = Byte storage using DEFB with hex byte values
W = Word storage using DEFW with hex word values
T = Table of addresses using DEFW with address labels
S = Space using DEFS and the length
EacΦá breaδá addres≤á define≤ thσ star⌠ oµ tha⌠á mode«á Thσá modσ ì
remain≤ iε effec⌠ unti∞ onσ bytσ beforσ thσ nex⌠ breaδ addres≤ o≥ ì
thσ enΣ oµ thσ prograφ memory.
- page 8 -
Z80DIS - Part 3: INSTRUCTIONS FOR EXECUTION - 29 NOV. 85
Iεá additioε t∩ thσ si° breaδ settinτ commands¼á therσ arσá eigh⌠ ì
othe≥ command≤ tha⌠ ma∙ bσ entered:
* = Reques⌠á fo≥á automatiπ assignmen⌠ oµ break≤ b∙á Z80DI╙ ì
ááááááááááartificial intelligence heuristics.
C = Clear all of break table
FL = Load (append) a break file to the break table
FS = Store break table as a break file
L = List break table for review
H = Display Help for break table editing commands
K = Kill existing break at an address
P = Print break table on "LST:" CP/M device
Q = Quit break entry process (start the disassembly)
-0-
THE COMMANDS
------------
Command≤á ma∙á bσ giveε iε an∙ orde≥ witΦ thσá exceptioεá oµá "Qó ì
whicΦ terminate≤ commanΣ entry« EacΦ commanΣ i≤ presenteΣ below.
-----------------------------------
*
Initiate≤á automatiπá assignmen⌠ oµ breaδ point≤ withiεá thσ ì
prograφ code« Z80DI╙ i≤ thσ firs⌠ disassemble≥ t∩ producσ it≤ owε ì
breaδá table«á Mos⌠ othe≥ disassembler≤ arσ fooleΣ b∙ sucΦá anti-ì
disassembl∙á trick≤ a≤ addinτ nonsensσ byte≤ afte≥ jump≤ t∩ causσ ì
thσ analysi≤ t∩ fal∞ ou⌠ oµ synchronizatioε witΦ instructioε codσ ì
interpretation« Z80DI╙ give≤ yo⌡ thσ ne≈ optioε oµ triggerinτ aε ì
analysi≤ oµ thσ structurσ anΣ relationship≤ oµ thσ inpu⌠ codσá t∩ ì
extrac⌠ thσ star⌠ addres≤ oµ eacΦ region«
Region≤ oµ instructions¼ bytes¼ words¼ asciΘ data¼ anΣ un-se⌠ ì
buffer≤ arσ al∞ identifieΣ fo≥ you.
-----------------------------------
C
Clear≤á entirσ breaδ tablσ t∩ empty«á Aε empt∙á breaδá tablσ ì
define≤ thσ entirσ codσ segmen⌠ t∩ bσ instructions«á A≤ thi≤ i≤ ß ì
fairl∙ drastiπ thinτ t∩ do¼ yo⌡ wil∞ bσ askeΣ t∩ confirm.
-----------------------------------
FS
Storσá breaδá tablσ a≤ ß breaδ file«á Z80DI╙ wil∞ asδ fo≥á ß ì
filσ name.
-----------------------------------
FL
LoaΣá breaδ tablσ froφ ß breaδ file«á Z80DI╙ wil∞ asδ fo≥á ß ì
filσ name.
-----------------------------------
- page 9 -
Z80DIS - Part 3: INSTRUCTIONS FOR EXECUTION - 29 NOV. 85
L
Lis⌠á thσá breaδá tablσ t∩ you≥ consolσá displa∙á devicσá a≤ ì
follows:
Typ 0000-0000 Typ 0000-0000 Typ 0000-0000 Typ 0000-0000 ....
Typ 0000-0000 Typ 0000-0000 Typ 0000-0000 Typ 0000-0000 ....
-----------------------------------
H
Reques⌠ displa∙ oµ shor⌠ criΓ note≤ oε breaδ tablσ commands« ì
Thσ followinτ screeε oµ informatioε i≤ displayed:
|================================================================
|
| command long name break code meaning
|---------/------------/------------/----------------------------
| C Clear - clear all of break table
| FL File Load - Load (append) file to table
| FS File Store - Store table as file
| L List - List break table for review
| H Help - Re-list these instructions
| K Kill - Kill break at address
| P Print - Print break table on LST:
| Q Quit - Quit break entry process
|
|
| * AUTO ASSIGN - Automatic assignment
|
| I Instructions Ins set Instruction break
| A Ascii Asc set Ascii break
| B Bytes Byt set Byte break
| W Words Wrd set Word break
| T Table of addr Adt set address Table break
| S Space Spc set Space break
|
|================================================================
-----------------------------------
K
Removσá ß breaδ poin⌠ froφ thσ table«á Z80DI╙ wil∞á completσ ì
thσ commanΣ anΣ positioε thσ curso≥ fo≥ entr∙ oµ aε address.
-----------------------------------
P
Prin⌠á thσá breaδ tablσ t∩ you≥ CP/═á LST║á devicσá iεá samσ ì
manne≥á a≤á ╠ commanΣ above«á Outpu⌠ i≤ alway≤ immediatσ t∩á LST║ ì
regardles≤ oµ an∙ filσ assignment≤ yo⌡ madσ iε par⌠ 3.1.
-----------------------------------
Q
Qui⌠ breaδ tablσ processinτ anΣ proceeΣ witΦ disassembly« Iµ ì
yo⌡á havσ no⌠ saveΣ you≥ definition≤ ont∩ ß filσ fo≥á futurσá usσ ì
sincσ you≥ las⌠ changσ t∩ thσ table¼ Z80DI╙ wil∞ reminΣ you.
-----------------------------------
- page 10 -
Z80DIS - Part 3: INSTRUCTIONS FOR EXECUTION - 29 NOV. 85
I
A
B
W
T
S
Thesσá si°á command≤á se⌠ breaδ tablσá addresse≤á t∩á definσ ì
transitioεá point≤á iεá thσ disassembl∙ mode«á Thσá prograφá wil∞ ì
completσ thσ commanΣ linσ anΣ positioε thσ curso≥ fo≥ entr∙ oµá ß ì
Hexadecima∞ number:
I at .... hex
Yo⌡ ente≥ thσ addres≤ followeΣ b∙ <CR>« An∙ numbe≥ tha⌠ yo⌡ ente≥ ì
wil∞ bσ righ⌠ justifieΣ iε thσ fou≥ digit≤ wheε yo⌡ pusΦ <CR>« Iµ ì
yo⌡á ente≥á ßá breaδá a⌠ thσ samσ addres≤ a≤á aεá existinτá breaδ ì
address¼ thσ forme≥ definitioε i≤ overwritteε withou⌠ comment.
This disassembler can operate in six modes:
I = Instructions
(Either Z80 full set or 8080 sub-set)
A = Ascii text using DEFM with quoted strings
(an Ascii region is output as strings of characters)
B = Byte storage using DEFB with hex byte values
(blocks of single bytes interpreted as numbers)
W = Word storage using DEFW with hex word values
(blocks of double byte words interpreted as numbers)
T = Table of addresses using DEFW with address labels
(blocks of byte pairs interpreted as addresses)
S = Space using DEFS and the length
(blocks of empty space of uninterpreted content)
-----------------------------------
_ ( any other command not listed above )
Iµá yo⌡ can'⌠ thinδ oµ an∙á commands¼á ente≥á anything«á Thσ ì
prograφ wil∞ responΣ witΦ ß shor⌠ criΓ notσ givinτ yo⌡ acceptablσ ì
commanΣ characters«
-----------------------------------
-0-
PARTá 3.3á -- EXECUTIO╬á PAS╙ ONE║á Upoε entr∙ oµ thσ Qui⌠á breaδ ì
áááááááááátablσá command¼á thσá actua∞á disassembl∙á wil∞á begin« ì
ááááááááááDurinτá thi≤ pas≤ thσ codσ i≤ crackeΣ accordinτ t∩á thσ ì
áááááááááábreaδá table¼á thσá cros≤ referencσ lis⌠á structurσá i≤ ì
áááááááááálinkeΣ int∩ thσ PASCA╠ hea≡ spacσ iε uppe≥ memory¼á thσ ì
áááááááááácrackeΣá codσ i≤ copieΣ witΦ contex⌠ informatioε ont∩ ß ì
ááááááááááscratcΦ filσ calleΣ Z80DIS.$$$«á Durinτ pas≤ one¼á you≥ ì
ááááááááááconsolσ screeε wil∞ displa∙ thσ following:
Durinτ processinτ oµ pas≤ ▒ o≥ pas≤ 2¼ Z80DI╙ wil∞ displa∙ ß linσ ì
likσ thσ following:
è
- page 11 -
Z80DIS - Part 3: INSTRUCTIONS FOR EXECUTION - 29 NOV. 85
working at 05F0 Asc
Thσá "workinτá atóá linσ i≤ animateΣ anΣ wil∞á sho≈á thσá curren⌠ ì
addres≤ anΣ disassembl∙ mode« Iε thσ illustrateΣ casσ thσ prograφ ì
ha≤á jus⌠ finisheΣ processinτ thσ filσ D.CO═ anΣ thσá las⌠á breaδ ì
typσ wa≤ ascii.
Durinτ an∙ executioε phase¼á yo⌡ ma∙ typσ ^├ t∩ abor⌠ tha⌠ phase« ì
Iµá yo⌡ abor⌠ durinτ pas≤ one¼á thσ prograφ wil∞ trea⌠ tha⌠ a≤á ß ì
prematurσá enΣá oµ filσ anΣ g∩ oε t∩ proces≤ wha⌠ i⌠ ha≤á througΦ ì
pas≤ two.
-0-
PART 3.4á -- EXECUTIO╬ PAS╙ TWO: Durinτ thi≤ pas≤ al∞ use≥ outpu⌠ ì
ááááááááááfile≤ anΣ listing≤ arσ produceΣ anΣ thσ scratcΦ filσ i≤ ì
ááááááááááerased«á
Thσ displa∙ wil∞ takσ yo⌡ ste≡ b∙ ste≡ througΦ pas≤ tw∩ anΣá sho≈ ì
yo⌡ wha⌠ thσ prograφ i≤ doinτ a⌠ eacΦ step.
Informativσ message≤ abou⌠ filσ anΣ memor∙ spacσ wil∞ le⌠ yo⌡ seσ ì
jus⌠á ho≈á closσ t∩ you≥ memor∙ anΣ disδ capacit∙ thσ prograφá i≤ ì
running.
Wheε thσ prograφ i≤ complete¼ Z80DI╙ wil∞ rinτ you≥ termina∞ bel∞ ì
twicσ anΣ terminate.
- page 12 -
Z80DIS - Appendix A: ADAPTATION TO YOUR TERMINAL - 29 NOV. 85
- APPENDIX A -
ADAPTATIO╬ O╞ Z80DIS T╧ YOU╥ TERMINAL
-------------------------------------
CP/═á i≤ ß generiπ operatinτ system¼á bu⌠ mos⌠ oµá thσá terminal≤ ì
useΣá witΦá CP/═á havσ feature≤ no⌠ anticipateΣá b∙á CP/M«á Thesσ ì
feature≤á includσá CURSO╥ ADDRESSinτ anΣá BRIGHT/DI═á displa∙á oµ ì
characters«á Thi≤á prograφ utilize≤ sucΦ feature≤ t∩ improvσá thσ ì
operato≥ interaction«á A≤ thσ prograφ itselµ i≤ writteε iε TURB╧ ì
PASCAL¼á thσá TURB╧ installatioε suppor⌠ featurσ ha≤ beeε useΣ t∩ ì
makσ thi≤ adaptatioε easy«á Therefore¼á beforσ yo⌡ usσ thi≤ prog-ì
ram¼ i⌠ mus⌠ bσ installeΣ t∩ you≥ particula≥ terminal.
Thσ followinτ file≤ arσ par⌠ oµ thi≤ prograφ installatioε packagσ ì
anΣá mus⌠á bσá presen⌠ durinτ termina∞á installatioεá (thσá threσ ì
ZDINSTAL.¬á file≤á ma∙ theε bσ deleteΣ afte≥ installatioεá iµá n∩ ì
othe≥ terminal≤ arσ t∩ bσ supported)..
Z80DIS.COM - thσ prograφ yo⌡ wil∞ bσ installing
Z80DIS.000 - overla∙ file fo≥ Z80DI╙
Z80DIS.001 - overla∙ file fo≥ Z80DI╙
ZDINSTAL.CO═ - thσ installatioε program
ZDINSTAL.MSG - contain≤ tex⌠ oµ ZDINSTA╠ message≤
ZDINSTAL.DTA - contain≤ termina∞ characteristic≤ data
- TH┼ INSTALLATIO╬ PROCEDUR┼ -
--------------------------
Star⌠á thσá installatioεá b∙ typinτ ZDINSTA╠á a⌠á you≥á terminal« ì
Selec⌠ Screeε installatioε froφ thσ maiε menu.
┴á numbereΣ men⌡ listinτ ß numbe≥ oµ popula≥ terminal≤á wil∞á ap-ì
pear¼ invitinτ yo⌡ t∩ choosσ onσ b∙ enterinτ it≤ number.
Iµ you≥ termina∞ i≤ mentioned¼á jus⌠ ente≥ thσ correspondinτ num-ì
ber¼á anΣá thσ installatioε i≤ complete«á Beforσ installatioεá i≤ ì
actuall∙ performed¼ yo⌡ arσ askeΣ thσ question..
D∩ yo⌡ wan⌠ t∩ modif∙ thσ definitioε beforσ installation┐ _
Thi≤á allow≤á yo⌡ t∩ modif∙ onσ o≥ morσ oµ thσ value≤á beinτ ì
installeΣá a≤ describeΣ iε thσ following«á Iµ yo⌡ d∩ no⌠ wan⌠á t∩ ì
modif∙ thσ termina∞ definition¼ jus⌠ typσ N¼ anΣ thσ installatioε ì
wil∞á completσ b∙ askinτ yo⌡ thσ operatinτ frequenc∙ oµ you≥á CP╒ ì
t∩ establisΦ parameter≤ fo≥ timinτ loops.
Iµ you≥ termina∞ i≤ NO╘ oε thσ menu¼ however¼ yo⌡ mus⌠ definσ thσ ì
requireΣ value≤ yourself«á Thσ value≤ caε mos⌠ probabl∙ bσá founΣ ì
iε thσ manua∞ supplieΣ witΦ you≥ terminal.
Ente≥á thσá numbe≥ correspondinτ t∩ Nonσ oµ thσ abovσ anΣá answe≥ ì
thσ question≤ onσ b∙ onσ a≤ the∙ appea≥ oε thσ screen.
Iεá thσ following¼á eacΦ commanΣ yo⌡ ma∙ instal∞ i≤ describeΣá iε ì
detail«á You≥ termina∞ ma∙ no⌠ suppor⌠ al∞ thσ command≤ tha⌠á caε ì
bσ installed«á Iµ so¼á jus⌠ pas≤ thσ commanΣ no⌠ needeΣ b∙ typinτ ìè
page A-1
Z80DIS - Appendix A: ADAPTATION TO YOUR TERMINAL - 29 NOV. 85
RETUR╬ iε responsσ t∩ thσ prompt« Iµ Delete-line¼ Insert-line¼ o≥ ì
Erase-to-end-of-linσá i≤ no⌠ installed¼á thesσ function≤ wil∞á bσ ì
emulateΣ iε software¼ slowinτ screeε performancσ somewhat.
Command≤á code≤á ma∙á bσ entereΣ eithe≥ simpl∙á b∙á pressinτá thσ ì
appropriatσá key≤ o≥ b∙ enterinτ thσ decima∞ o≥ hexadecima∞ ASCI╔ ì
valuσá oµ thσ command«á Iµ ß commanΣ require≤ thσ tw∩á character≤ ì
'ESCAPEº anΣ '='¼ yo⌡ may...
either áápres≤ firs⌠ thσ escapσ key¼á theε thσ =« Thσ entr∙ wil∞ ì
áááááááááábσ echoeΣ witΦ appropriatσ labels¼ i.e« <ESC╛ =.
or ááEnte≥á thσ decima∞ o≥ hexadecima∞ value≤á separateΣá b∙ ì
ááááááááááspaces«á Hexadecima∞á value≤á mus⌠á bσá precedeΣá b∙á ß ì
áááááááááádollar-sign«á Ente≥ e.g« 2╖ 6▒ o≥ $1┬ 6▒ o≥ $1┬ $3─ ì
ááááááááááwhicΦ arσ al∞ equivalent«
Thσá tw∩ method≤ canno⌠ bσ mixed¼á i.e«á oncσ yo⌡ havσ entereΣá ß ì
non-numeriπá character¼á thσ res⌠ oµ tha⌠ commanΣ mus⌠ bσ defineΣ ì
iε tha⌠ mode¼ anΣ visσ versa«
┴ hypheε entereΣ a≤ thσ ver∙ firs⌠ characte≥ i≤ useΣ t∩ deletσá ß ì
command¼ anΣ echoe≤ thσ tex⌠ Nothing.
-----------------------------------
Termina∞ type║ ______________________
Ente≥á thσá namσ oµ thσ termina∞ yo⌡ arσ abou⌠á t∩á install« ì
Wheεá yo⌡ completσ ZDINSTAL¼á thσ value≤ wil∞ bσ stored¼á anΣ thσ ì
termina∞á namσ wil∞ appea≥ oε thσ initia∞ lis⌠ oµá terminals«á Iµ ì
yo⌡ late≥ neeΣ t∩ re-instal∞ Z80DI╙ t∩ thi≤ terminal¼á yo⌡ caε d∩ ì
tha⌠ b∙ choosinτ i⌠ froφ thσ list«
-----------------------------------
SenΣ aε initializatioε strinτ t∩ thσ terminal┐ _
Iµá yo⌡ wan⌠ t∩ initializσ you≥ termina∞ wheε Z80DI╙á start≤ ì
(e.g«á t∩ dowε loaΣ command≤ t∩ programmablσ functioε keys)¼á yo⌡ ì
answe≥ Y fo≥ ye≤ t∩ thi≤ question« Iµ not¼ jus⌠ hi⌠ RETURN.
Iµ yo⌡ answe≥ Y¼ yo⌡ ma∙ choosσ betweeε enterinτ thσ commanΣ ì
directl∙á o≥ defininτ ß filσ namσ containinτ thσ commanΣá string« ì
Thσá latte≥ i≤ ß gooΣ ideß iµ thσ initializatioε strinτ i≤á long¼ ì
a≤ e.g« ß strinτ t∩ prograφ ß numbe≥ oµ functioε key≤ woulΣ be«
-----------------------------------
SenΣ ß rese⌠ strinτ t∩ thσ terminal┐ _
Here¼á yo⌡á ma∙á definσ ß strinτ t∩ bσ sen⌠ t∩ thσá termina∞ ì
wheεá Z80DI╙ terminates«á Thσ descriptioε oµá thσá initializatioε ì
commanΣ abovσ applie≤ here.
-----------------------------------
page A-2
Z80DIS - Appendix A: ADAPTATION TO YOUR TERMINAL - 29 NOV. 85
CURSO╥ LEAD-I╬ command║ _
Curso≥á Lead-iεá i≤ ß specia∞ sequencσ oµá character≤á whicΦ ì
tell≤á you≥ termina∞ tha⌠ thσ followinτ character≤ arσ aε addres≤ ì
oε thσ screeε oε whicΦ thσ curso≥ shoulΣ bσ placed«
Wheεá yo⌡ definσ thi≤ command¼á yo⌡ arσ askeΣ thσá followinτ ì
supplementar∙ questions..
-----------------------------------
CURSO╥ POSITIONIN╟ COMMAN─ t∩ senΣ betweeε linσ anΣ column║ _
Somσ terminal≤ neeΣ ß commanΣ betweeε thσ tw∩ number≤á defi-ì
ninτ thσ ro≈ anΣ columε curso≥ address.
-----------------------------------
CURSO╥ POSITIONIN╟ COMMAN─ t∩ senΣ afte≥ linσ anΣ column║ _
Somσ terminal≤ neeΣ ß commanΣ afte≥ thσ tw∩ number≤ defininτ ì
thσ ro≈ anΣ columε curso≥ address.
-----------------------------------
Columε first┐ _
Mos⌠ terminal≤ requirσ thσ addres≤ oε thσ format║ firs⌠ ROW¼ ì
theε COLUMN«á Iµ thi≤ i≤ thσ casσ oε you≥ terminal¼á answe≥ N« Iµ ì
you≥ termina∞ want≤ COLUM╬ first¼ theε ROW¼ theε answe≥ Y.
-----------------------------------
OFFSE╘ t∩ adΣ t∩ LINE _
Ente≥ thσ numbe≥ t∩ adΣ t∩ thσ LIN┼ (ROW⌐ address.
-----------------------------------
OFFSE╘ t∩ adΣ t∩ COLUMN _
Ente≥ thσ numbe≥ t∩ adΣ t∩ thσ COLUM╬ address.
-----------------------------------
Binar∙ address┐ _
Mos⌠á terminal≤ neeΣ thσ curso≥ addres≤ sen⌠ oε binar∙ form« ì
Iµá tha⌠ i≤ truσ fo≥ you≥ terminal¼á ente≥ Y«á Iµá you≥á termina∞ ì
expect≤ thσ curso≥ addres≤ a≤ ASCI╔ digits¼á ente≥ N«á Iµ so¼ yo⌡ ì
arσ askeΣ thσ supplementar∙ question..
-----------------------------------
▓ o≥ │ ASCI╔ digits┐ _
Ente≥ thσ numbe≥ oµ digit≤ iε thσ curso≥ addres≤ fo≥ you≥ ì
terminal.
-----------------------------------
page A-3
Z80DIS - Appendix A: ADAPTATION TO YOUR TERMINAL - 29 NOV. 85
CLEA╥ SCREE╬ command║ _
Ente≥á thσá commanΣ tha⌠ wil∞ clea≥ thσ entirσá content≤á oµ ì
you≥ screen¼ botΦ foregrounΣ anΣ background¼ iµ applicable.
-----------------------------------
Doe≤ CLEA╥ SCREE╬ als∩ HOM┼ cursor┐ _
Thi≤ i≤ normall∙ thσ case╗ iµ i⌠ i≤ no⌠ s∩ oε you≥ terminal¼ ì
ente≥ N¼ anΣ definσ thσ curso≥ HOM┼ command.
-----------------------------------
DELET┼ LIN┼ command║ _
Ente≥ thσ commanΣ tha⌠ delete≤ thσ entirσ linσ a⌠ thσ curso≥ ì
position.
-----------------------------------
INSER╘ LIN┼ command║ _
Ente≥á thσá commanΣ tha⌠ insert≤ ß linσ a⌠ thσ curso≥á posi-ì
tion.
-----------------------------------
ERAS┼ T╧ EN─ O╞ LIN┼ command║ _
Ente≥á thσ commanΣ tha⌠ erase≤ thσ linσ a⌠ thσ curso≥á posi-ì
tioε froφ thσ curso≥ positioε througΦ thσ righ⌠ enΣ oµ thσ line.
-----------------------------------
STAR╘ O╞ 'LO╫ VIDEOº command║ _
Iµ you≥ termina∞ support≤ differen⌠ vide∩ intensities¼á theε ì
definσá thσ commanΣ tha⌠ initiate≤ thσ DIM vide∩á here«á Iµá thi≤ ì
commanΣ i≤ defined¼ thσ followinτ questioε i≤ asked . . .
-----------------------------------
STAR╘ O╞ 'NORMA╠ VIDEOº command║ _
Definσá thσ commanΣ tha⌠ set≤ thσ screeε t∩ sho≈á character≤ ì
iε 'normalº video.
-----------------------------------
Numbe≥ oµ row≤ (lines⌐ oε you≥ screen║ _
Ente≥ thσ numbe≥ oµ horizonta∞ line≤ oε you≥ screen.
-----------------------------------
Numbe≥ oµ column≤ oε you≥ screen║ _
Ente≥ thσ numbe≥ oµ columε position≤ oε you≥ screen.
-----------------------------------
page A-4
Z80DIS - Appendix A: ADAPTATION TO YOUR TERMINAL - 29 NOV. 85
Dela∙ afte≥ CURSO╥ ADDRES╙ (0-25╡ ms)║ _
Dela∙ afte≥ CLEAR¼ DELETE¼ anΣ INSER╘ (0-25╡ ms)║ _
Dela∙ afte≥ ERAS┼ T╧ EN─ O╞ LIN┼ anΣ HIGHLIGH╘ On/Ofµ (0-25╡ ms)║ ì
Ente≥ thσ dela∙ iε millisecond≤ requireΣ afte≥ thσ function≤ ì
specified« RETUR╬ mean≤ ░ (n∩ delay).
-----------------------------------
I≤ thi≤ definitioε correct┐ _
Iµ yo⌡ havσ madσ an∙ error≤ iε thσ definitions¼ ente≥ N« Yo⌡ ì
wil∞ theε returε t∩ thσ termina∞ selectioε menu« Thσ installatioε ì
datßá yo⌡ havσ jus⌠ entereΣ wil∞ bσ includeΣ iε thσá installatioε ì
datß filσ anΣ appea≥ oε thσ termina∞ selectioε menu¼á bu⌠ instal-ì
latioε wil∞ no⌠ bσ performed«
Wheεá yo⌡á ente≥á Y iε responsσ t∩ thi≤á question¼á yo⌡á arσ ì
asked.«
-----------------------------------
Operatinτ frequenc∙ oµ you≥ microprocesso≥ iε MH· (fo≥ delays)║ _
A≤á thσá delay≤á specifieΣá earlie≥á arσá dependinτá oεá thσ ì
operatinτ frequenc∙ oµ you≥ CPU¼á yo⌡ mus⌠ definσ thi≤ value«á Iµ ì
you≥á processo≥ operate≤ a⌠ ß fractiona∞ speeΣá (i.e«á 2.╡á MHz)¼ ì
enter the next larger integer value (3 MHz for this example.)
-----------------------------------
-0-
Thσá installatioεá i≤ finished¼á installatioε datß i≤ writteεá t∩ ì
Z80DIS¼á anΣ yo⌡ returε t∩ thσ oute≥ menu«á Ne≈ installatioε datß ì
i≤ als∩ saveΣ iε thσ installatioε datß filσ anΣ thσ ne≈á termina∞ ì
wil∞á appea≥ oε thσ termina∞ selectioε lis⌠ wheε yo⌡ ruε ZDINSTA╠ ì
iε thσ future.
page A-5
Z80DIS - Appendix B: Z80DIS REVISION HISTORY - 29 NOV. 85
- APPENDIX B -
Z80DIS REVISION HISTORY
-----------------------
-----------------------------------------------------------------
Version 1.5 Released: July 30, 1985
First version released for public use.
-----------------------------------------------------------------
Version 1.6 Released: September 12, 1985
A bug fix and some enhancements.
1⌐á Backward≤á referencinτ relativσ jump≤ havσá beeεá fixed« ì
áááááThe∙á haΣ beeε workinτ originally¼á bu⌠ ß buτ haΣ slippeΣ iε ì
áááááwheεá makinτá othe≥á changes«á ForwarΣá reference≤á werσá O╦ ì
ááááábefore«
ááááá2⌐á Thσ assembl∙ outpu⌠ filσ no≈ use≤ ß capita∞ ╚ suffi°á oε ì
áááááhex«á ╔á likσ thσ smal∞ Φ bette≥ a≤ i⌠ show≤ bette≥ nex⌠á t∩ ì
ááááánumbers¼ bu⌠ somσ assembler≤ caε no⌠ handlσ lowe≥ case.
ááááá3⌐á Thσá prograφá n∩ longe≥ skip≤ ß linσá afte≥á "RS╘á 38H"« ì
áááááNormall∙á al∞ call≤ arσ followeΣ b∙ ß ski≡ t∩ se⌠ theφá off¼ ì
ááááábu⌠á RS╘á 38╚ correspond≤ t∩ FFΦ whicΦá ofteεá fill≤á unuseΣ ì
áááááspacσ anΣ generate≤ to∩ man∙ useles≤ linσ oµ code.
4⌐á Thσ .PR╬ filσ no≈ end≤ witΦ ß form-feed«á Thi≤á prevent≤ ì
áááááleavinτ you≥ printe≥ iε miΣ page.
-----------------------------------------------------------------
Version 2.0 Released: December 1, 1985
áááááThi≤ i≤ ß majo≥ re-organizatioε oµ Z80DIS║á Add≤ ßá built-iε ì
áááááexper⌠á systeφá fo≥á assignmen⌠ oµá breaδá tablσá addresses╗ ì
áááááEnhance≤ anΣ improve≤ man∙ option≤ anΣ defaults.
1⌐ 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⌠ codσ t∩ extrac⌠ thσ ì
ááááástar⌠ addres≤ oµ eacΦ region«á Yo⌡ arσ giveε thσ opportunit∙ ì
ááááát∩á edi⌠á and/o≥á savσá thσá resultinτá breaδá tablσá beforσ ì
ááááácontinuinτá witΦ thσ disassembly«á Region≤ oµá instructions¼ ì
ááááábytes¼á words¼á asciΘá data¼á anΣá un-se⌠á buffer≤á arσá al∞ ì
áááááidentifieΣ fo≥ you.
ááááá2⌐á Thσ COM filσ anΣ overla∙ file≤ fo≥ Z80DIS n∩ longe≥ neeΣ ì
ááááát∩á bσ oε you≥ defaul⌠ disδ drive«á Thσ prograφ wil∞á searcΦ ì
áááááthσ connecteΣ drive¼á thσ ┴ drive¼á anΣ thσ ┬ drivσ iεá tha⌠ ì
áááááorder«á Thσ prograφ doe≤ assume¼á however¼ tha⌠ botΦ overla∙ ì
áááááfiles are on the same drive.è
page B-1
Z80DIS - Appendix B: Z80DIS REVISION HISTORY - 29 NOV. 85
ááááá3⌐á Thσá cross-referencσ listinτ no≈ show≤ thσá breaδá tablσ ì
áááááregioεá oµ residenc∙ fo≥ eacΦ labe∞ s∩ tha⌠ yo⌡ ma∙á inspec⌠ ì
áááááthe list for inconsistencies.
ááááá4⌐á Overflo≈ oµ memor∙ o≥ disδ spacσ durinτ pas≤ ▒ wil∞á no≈ ì
áááááterminatσá thσá pas≤á anΣ proces≤ wha⌠á ha≤á beeεá collecteΣ ì
áááááso far through pass 2. The previous version just aborted.
ááááá5⌐á Yo⌡á ma∙á no≈á disassemblσ direc⌠á t∩á you≥á printe≥á b∙ ì
áááááspecifying LST: as the list file name.
ááááá6⌐á Yo⌡ ma∙ no≈ suppres≤ eithe≥ thσ assembl∙ languagσ outpu⌠ ì
áááááfilσ o≥ thσ lis⌠ outpu⌠ filσ ¿ bu⌠ no⌠ botΦ ⌐ b∙á specifyinτ ì
áááááthσá filσá namσ NONE:«á Thσ defaul⌠ fo≥ thσ assembl∙á outpu⌠ ì
ááááá(*.MAC file) is NO assembly output file (NONE:).
ááááá7⌐ Thσ defaul⌠ namσ fo≥ thσ breaδ tablσ savσ filσ i≤ no≈ thσ ì
ááááásamσ a≤ tha⌠ oµ you≥ inpu⌠ file«á Previousl∙ thσ defaul⌠ wa≤ ì
áááááalways SAVE.BRK.
ááááá8⌐á Man∙á interna∞á enhancement≤ t∩á makσá thσá prograφá ruε ì
áááááfaster.
=================================================================
Yo⌡ ma∙ leavσ you≥ comments¼ messages¼ usagσ note≤ o≥ buτ report≤ ì
fo≥ 'KennetΦ Gielowº oε onσ oµ thσ followinτ RCP/═ boards:
FOG # 5, Palo Alto (415) 424-1482
POTPOURR╔ RCP/═ (408⌐ 378-747┤ (requires registration)
=================================================================
_________________________________________________________________
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.
page B-2