home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-07-13 | 198.6 KB | 6,230 lines |
-
-
-
-
-
-
- Z8E USER'S MANUAL
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright 1984
- by
- RICK SURWILO
- 23 PLMOUTH ROAD
- STAMFORD,CONNECTICUT 06906
- (203) 324-3809
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- TABLE OF CONTENTS
-
- Section Page
-
- I. INTRODUCTION 1
-
- II. INSTALLATION 3
- áááááááááááááááááááá
- III. INVOKING Z8E AT THE CP/M COMMAND LEVEL 13
-
- IV. INITIALIZATION 19
-
- V. COMMAND INPUT 23
-
- VI. BREAKPOINTS 29
-
- VII. COMMANDS:
-
- A Assemble 32
- B Set Breakpoint 26
- C Clear Breakpoint 27
- D Dump 28
- E Examine 29
- F Find 31
- G Go 33
- H Display Symbol Table 34
- I Input File 35
- J Animated Full Screen Debugging 37
- K Set Memory Window Address for J command 49
- M Move Memory 50
- N Output to I/O Port without Pre-read 51
- O Output Current Breakpoints to Console 53
- P Examine Flag Register 54
- Q Query I/O Ports 55
- R Register 57
- S Single Step 58
- U Save Symbol Table to Disk 60
- V Verify Memory 61
- W Write Memory Segment to Disk 62
- X Display Machine State 63
- Y Fill Memory 64
- Z Disassemble 65
-
- APPENDIX A - Symbol File Formats 69
- APPENDIX B - ZILOG Mnemonics 73
- APPENDIX C - System Memory Map 91
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
-
-
-
-
-
-
- Z8E - Z8░ DEBUGGIN╟ MONITOR
-
-
- I« INTRODUCTION
-
- Z8┼ i≤ ß professiona∞ qualit∙ interactivσ debugginτ too∞ designeΣ ì
- t∩ speeΣ thσ testinτ oµ Z8░ assembl∙ languagσ programs«á Origin-ì
- all∙ writteε a≤ ß standalonσ monitor¼á Z8┼ wa≤ useΣ iε thσá deve-ì
- lopemen⌠á oµ thσ world'≤ larges⌠ Touch-Tonσ Input/Voicσá Responsσ ì
- system«á No≈ redonσ t∩ ruε iε ß CP/═ o≥ TurboDO╙ environmen⌠ Z8┼ ì
- contain≤á morσ feature≤ iε les≤ memor∙ thaε an∙ comparablσá soft-ì
- warσ product« Occupyinτ les≤ thaε 9╦ oµ memory¼ Z8┼ include≤ thσ ì
- followinτ amonτ it≤ man∙ features:
-
- áááááá-áFul∞ screeε animateΣ displa∙ oµ thσ prograφ unde≥ ì
- áááááááátes⌠ whilσ i⌠ i≤ beinτ executeΣ b∙ thσ Z8░
-
- áááá - Completσ Z8░ inlinσ assembler¼á witΦ labels¼ sym-ì
- áááááááábols¼á expressions¼á anΣ directives¼á usinτ Ziloτ ì
- áááááááámnemonics
-
- - Interactivσá disassembl∙ witΦ label≤ anΣá symbol≤ ì
- áááááááát∩á consolσá o≥ disδ allow≤ thσ use≥á t∩á specif∙ ì
- ááááááááoutpu⌠ format≤ anΣ adΣ comment≤
-
- áááááá- Full∙á traceΣ prograφ executioε includinτ ßá ful∞ ì
- ááááááááscreeε singlσ ste≡ commanΣ tha⌠ instruct≤ Z8┼á t∩ ì
- áááááááádisassemblσá codσá anΣ t∩ movσ thσ curso≥ t∩á thσ ì
- áááááááánex⌠ instructioε t∩ execute
-
- - U≡ t∩ 1╢ use≥ settablσ breakpoint≤ witΦá optiona∞ ì
- áááááááápas≤ counts
-
- - Truσá symboliπá debugginτá usinτ thσá inpu⌠á froφ ì
- áááááááámultiplσá Microsof⌠á MACRO-8░ .PR╬á anΣá LINK-8░ ì
- áááááááá.SY═á file≤ anΣ Z80AS═ .LS╘ anΣ SLRN╦ anΣá Z80AS═ ì
- áááááááá.SY═ file≤ froφ SL╥ System≤.
-
- - Dynamiπ relocatioε oµ Z8┼ a⌠ loaΣ timσ t∩ thσ to≡ ì
- ááááááááoµá use≥á memor∙ regardles≤ oµá size«á N∩á use≥ ì
- ááááááááconfiguratioε oµ an∙ kinΣ i≤ required«
-
-
- Yo⌡á ma∙á wan⌠ t∩ spenΣ somσ timσ familarizinτ yourselµ witΦá thσ ì
- manua∞ anΣ Z8E'≤ commanΣ structure¼ especiall∙ thσ EXAMIN┼ memor∙ ì
- command¼ beforσ turninτ t∩ thσ INSTALLATIO╬ section.
-
-
-
-
-
- 1
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
-
-
-
- This Page Intentionally Left Blank.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- II. INSTALLATION
-
- Firs⌠ makσ ß workinτ cop∙ oµ Z8E¼á theε placσ you≥ origina∞ disk-ì
- ettσá iεá ß safσ place«á Makσ al∞ modification≤ t∩á thσá workinτ ì
- copy¼ no⌠ thσ original«
-
- Z8E'≤á (E)xaminσá memor∙á commanΣ wil∞ bσ useΣ t∩á changσá memor∙ ì
- contents«á Thi≤á commanΣ i≤ describeΣ briefl∙ below«á Fo≥ ßá morσ ì
- detaileΣá explanatioε pleasσ refe≥ t∩ SECTIO╬ ╓ oµá thi≤á manual¼ ì
- COMMAND INPUT.
-
- Z8┼ require≤ aε addressablσ curso≥ whicΦ caε bσ patcheΣá symboli-ì
- call∙ a≤ follows:
-
- Firs⌠ instruc⌠ Z8┼ t∩ loaΣ itselµ a≤ wel∞ a≤ thσ symbo∞ ì
- áááááfile:
-
- ááááá áA>Z8E Z8E.COM Z8E.SYM
-
- áááááThσá symbo∞ filσ Z8E.SY═ contain≤ thσ namσ anΣá addres≤ ì
- áááááof each parameter which may need to be modified.
-
- áááááUsσ thσ (E)xaminσ memor∙ commanΣ t∩ changσ thσ requireΣ ì
- ááááábytes«á Yo⌡á ma∙á ente≥ command≤ iε responsσ t∩á Z8E'≤ ì
- áááááasterisδá prompt«á Oncσ yo⌡ ente≥ "Eó followeΣá b∙á thσ ì
- ááááásymboliπá namσ oµ thσ addres≤ yo⌡ whicΦ t∩ change¼á Z8┼ ì
- áááááwil∞ responΣ b∙ displayinτ thσ actua∞ addres≤ followeΣ ì
- áááááb∙á thσ he° anΣ ASCI╔ representatioε oµ thσ bytσá beinτ ì
- áááááexamineΣ (non-printablσ character≤ arσ showε a≤ ß "~")« ì
- áááááFo≥ example║
-
- áááá *┼ MXYC╨ <cr>
-
- ááááá285┼á ▓ ■ X╪ <cr> ;X╪ represent≤ your input
- ááááá285F 1B ~ XX <cr>
- ááááá2860 3D = XX <cr>
- ááááá2861 00 ~ . ;PERIOD ENDS COMMAND
- ááááá*
-
-
- áááááIMPORTANT:
- áááááAlway≤á patcΦ usinτ thσ symboliπ namσ oµ thσá variable╗ ì
- áááááthσ addresse≤ showε iε thσ examplσ abovσ arσ fo≥ demon-ì
- ááááástratioε onl∙ anΣ d∩ no⌠ necessaril∙ reflec⌠ thσ actua∞ ì
- ááááálocation≤ oµ thσ variable≤ iε memory.
-
-
-
-
-
-
-
-
-
-
-
-
- 3
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- áááááListeΣá belo≈ arσ thσ symboliπ name≤ oµá thσá addresse≤ ì
- áááááwhicΦ ma∙ havσ t∩ bσ patcheΣ fo≥ you≥ CRT«
-
- MXYCPá - Curso≥ addressinτ lead-iε string«á Thσá firs⌠ ì
- áááááááááááááábytσá (thσ numbe≥ ▓ iε thσ abovσ example⌐á re-ì
- áááááááááááááápresent≤á thσá numbe≥ oµ byte≤ iε thσá string« ì
- ááááááááááááááThσ strinτ ma∙ bσ u≡ t∩ 1░ byte≤á long«á Thi≤ ì
- ááááááááááááááactua∞á lead-iε strinτ shoulΣ immediatel∙ fol-ì
- áááááááááááááálo≈ thσ coun⌠ byte.
-
- ááááááááááááááDefault is the two character string:
- áááááááááááááá
- áááááááááááááá 1B (Hex), 3D (Hex)
-
- ááááááááááááááASCII ESCAPE, followed by EQUAL SIGN.
- ááááááááááááá
- áááááROWB4? - Set this byte as follows:
-
- NOT ZERO - Row is sent before Column
- ZERO - Column is sent before Row
-
- ááááááááááááááDefault is NOT ZERO, row sent before column.áááááááááááááá
-
-
- ROW - Se⌠á thi≤ bytσ t∩ contaiε thσ valuσ whicΦ i≤ t∩á bσ ì
- ááááááááááááááaddeΣ ro≈ numbe≥ beforσ i⌠ i≤ sen⌠ t∩ thσ screen.
-
- Default is 20 Hex, ASCII space.
-
-
- COLUMN - Se⌠á thi≤ bytσ t∩ contaiε thσ valuσ whicΦ i≤ t∩á bσ ì
- ááááááááááááááaddeΣá columεá numbe≥á beforσá i⌠ i≤á sen⌠á t∩á thσ ì
- ááááááááááááááscreen« Defaul⌠ i≤ 2░ Hex¼ ASCI╔ space.
-
-
- CASEá - Thi≤á bytσá control≤ whethe≥á yo⌡á prefe≥á enterinτ ì
- áááááááááááááásymbo∞á name≤á iεá uppe≥ o≥ lowe≥á case«á I⌠á als∩ ì
- áááááááááááááácontrol≤ whethe≥ disassembl∙ wil∞ bσ donσ iεá uppe≥ ì
- ááááááááááááááo≥áá lowe≥á case«áá PatcΦá as follows:
-
- ááááá FF - lower case (DEFAULT)
- ááááá 00 - UPPER CASE
-
- áááááMAXLEN - Thi≤á i≤á thσ maximuφ lengtΦ oµ permitteΣá fo≥ ì
- áááááááááááááásymbo∞á names«á Thσ permissablσ value≤ arσá ╢ ì
- ááááááááááááááanΣá 14«á Iµ patcheΣ t∩ an∙ othe≥ valuσá theε ì
- ááááááááááááááZ8┼á wil∞ usσ 6«á Thσ maximuφ lengtΦá oµá thσ ì
- áááááááááááááásymbo∞ i≤ requireΣ b∙ Z8┼ iε orde≥ t∩ allocatσ ì
- ááááááááááááááspacσ fo≥ loadinτ thσ symbo∞ table« Iµ MAXLE╬ ì
- ááááááááááááááequal≤á ╢ theε Z8┼ reserve≤ ╕ bytσ pe≥ symbol¼ ì
- áááááááááááááá╢á fo≥ thσ namσ anΣ tw∩ fo≥ thσá address«á Iµ ì
- ááááááááááááááthσá numbe≥á 1┤ i≤ useΣ theε Z8┼á reserve≤á 1╢ ì
- áááááááááááááábyte≤á pe≥ symbol«á Hencσ MAXLE╬ impact≤á thσ ì
- ááááááááááááááamoun⌠ oµ TP┴ availablσ t∩ thσ prograφ sincσ ß ì
- áááááááááááááásymbo∞á tablσ oµ 1╢ byte≤ pe≥ entr∙á obviousl∙ ìè
-
- 4
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- áááááááááááááátake≤á u≡á twicσ a≤ mucΦ spacσ a≤ onσá witΦá ╕ ì
- áááááááááááááábytσ entries«
-
- ááááááááááááááIf¼á whilσá readinτ iε thσ symbol≤ froφá disk¼ ì
- ááááááááááááááZ8┼á encounter≤ ß symbo∞ longe≥ thaε thσ valuσ ì
- ááááááááááááááspecifieΣáá iεá MAXLE╬á thσá symbo∞á namσáá i≤ ì
- áááááááááááááátruncated to MAXLEN.
-
- áááááááááááááá 6 - Maximum Symbol Length (DEFAULT)áááááááááááááá
- áááááááááááááá 14 - Optional Symbol Length
-
- TO SAVE THE PATCHED PROGRAM:
-
- *W ANYNAME.COM (Writes the File to Disk)
-
- Thi≤ complete≤ thσ installatioε oµ Z8E« Typinτ iε ^├ (Contro∞ C⌐ ì
- iεá responsσá t∩á Z8E'≤ asterisδ promp⌠ wil∞ returεá yo⌡á t∩á thσ ì
- operatinτ system.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 5
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- USER CODED CONSOLE I/O
-
- Thσ followinτ sectioε provide≤ detail≤ oε ß methoΣ oµá optionall∙ ì
- replacinτá thσá BDO╙á call≤ fo≥ Consolσ I/╧ whicΦ Z8┼á use≤á witΦ ì
- physica∞ consolσ I/╧ routine≤ o≥ direc⌠ BIO╙ calls«
-
- T∩á modif∙á theφ usσ thσ symbo∞ name≤ listeΣ belo≈á anΣá assemblσ ì
- you≥á routinσá a⌠ thσ appropriatσ addres≤ (vißá Z8E'≤á (A)ssemblσ ì
- commanΣ - Seσ Manual).
-
-
- TTYQ: Thi≤á routinσ check≤ thσ statu≤ oµá thσá console« ì
- ááááááááááááááááIµ ß characte≥ i≤ waitinτ i⌠ i≤ read╗á otherwise¼ ì
- ááááááááááááááááTTYQá return≤á ßá zer∩ iε ┴ t∩ indicatσá tha⌠á n∩ ì
- áááááááááááááááácharacte≥ i≤ waiting.
-
- áááááTTYI║ ReaΣ ß character¼ waitinτ unti∞ onσ arrives.
- ááááá Return Character in A.
-
- áááááTTYO║ Outpu⌠ ß character¼ waitinτ unti∞ i⌠ i≤ sent.
- ááááá Character passed in A.
-
-
- ListeΣ belo≈ i≤ thσ codσ tha⌠ Z8┼ use≤ t∩ d∩ consolσ I/O╗á usσ i⌠ ì
- a≤á ß model«á You≥ routine≤ shoulΣ replacσ thσ instruction≤á witΦ ì
- thσá doublσá semicolons«á Bσ surσ t∩ savσ thσ reqister≤ a≤á sho≈ ì
- below« Thσ sizσ oµ eacΦ routinσ mus⌠ no⌠ exceeΣ 3▓ bytes«
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 6
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
-
- TTYQ: push bc
- push de
- push hl
- ld c,11 ;;Check Console Status
- call BDOS ;;BDOS returns: A = 00 No Character
- ;; A = NZ Input Waiting
- ;;
- and a ;;Character Here?
- ld c,6 ;;
- ld e,0ffh ;;
- cal∞ nz,BDO╙ ;;Iµ Characte≥ Herσ ReaΣ It...
- ;; Else Fall Thru
- pop hl
- pop de
- pop bc
- and 7fh
- ret
-
- org TTYQ+32
-
- TTYI: push bc
- push de
- push hl
- TTYI00: ld c,06 ;;Unadorned Console Input
- ld e,0ffh ;;Tell CP/M this is Input Request
- call BDOS ;;
- and 7fh ;;Strip Parity
- jr z,TTYI00 ;;Loop til Input Arrives
- pop hl
- pop de
- pop bc
- ret
-
- org TTYI+32
-
-
- TTYO: push af
- push bc
- push de
- push hl
- ld c,02 ;;
- ld e,a ;;
- call BDOS ;;Console Output
- pop hl
- pop de
- pop bc
- pop af
- ret
-
- org TTYO+32
-
-
-
-
-
-
- 7
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- Thσ symbol≤ TTYQ¼ TTYI¼ anΣ TTY╧ arσ includeΣ iε Z8E.SYM« There-ì
- forσá thesσá routine≤á caε bσ patcheΣá symbolicall∙á usinτá Z8E'≤ ì
- assemblσ command¼ fo≥ example║
-
-
- *A TTYQ
- 1F76 C5 TTYQ: PUSH BC
-
-
-
-
- Z8┼á als∩ contain≤ ß provisioε fo≥ use≥ installeΣá initializatioε ì
- code«á A≤á sooε a≤ Z8┼ i≤ loaded¼á bu⌠ beforσ i⌠ relocate≤ itselµ ì
- int∩ higΦ memory¼á i⌠ make≤ ß cal∞ t∩ INIT«á A≤ presentl∙ confi-ì
- gureΣ INI╘ merel∙ contain≤ ß RE╘ instruction«á Howeve≥ thσá use≥ ì
- ma∙ adΣ u≡ t∩ 12╖ byte≤ oµ initializatioε code« Thi≤ codσ ma∙ bσ ì
- useΣá fo≥ an∙ purpose¼á fo≥ example¼á t∩ changσ you≥ SI╧ o≥á Uar⌠ ì
- froφá interrup⌠ driveε t∩ non-interrup⌠ driveε iε thσ even⌠á tha⌠ ì
- thσá Z8┼á consolσ routine≤ werσ replaced«á An∙ codσ installeΣá a⌠ ì
- INI╘á i≤ executeΣ oncσ anΣ i≤ no⌠ moveΣ t∩ higΦ memor∙á witΦá thσ ì
- res⌠ oµ Z8E« Yo⌡ neeΣ no⌠ savσ an∙ registers.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 8
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- SUPPLYING YOUR OWN CURSOR ADDRESSING ROUTINE
-
-
- Iµá you≥ compute≥ require≤ ß custoφ curso≥ addressinτ routinσá i⌠ ì
- can be easily added by following the steps listed below:
-
- 1. áExaminσá thσ Z8E.SY═ filσ tha⌠ t∩ determinσ thσ addres≤ ì
- áááááoµá Z8E'≤ standarΣ curso≥ addressinτ routinσá whicΦá i≤ ì
- ááááácalleΣ XYCP«á AssociateΣ witΦ namσ XYC╨ iε thσ filσ i≤ ì
- áááááit≤ absolutσ address.
-
- 2.áááUsinτ you≥ owε tex⌠ edito≥ codσ you≥ routinσ and prefacσá i⌠ ì
- áááááwitΦ thσ followinτ puedo-ops:
-
- ááááá ASEG
- ááááá .PHASE XXXXH
-
- ááááá Wherσá XXX╪á represent≤ thσá absolutσá hexadecima∞ ì
- ááááááááááaddres≤ obtaineΣ iε ste≡ 1.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
-
-
- áááááZ8┼ wil∞ pas≤ thσ ro≈ addres≤ iε thσ ┬ REGISTE╥ anΣ thσ ì
- ááááácolumεá addres≤á iε thσ ├ REGISTER«á Ro≈ number≤á rangσ ì
- áááááfroφ ░ t∩ 2│ whilσ columε number≤ rangσ froφ ░ t∩ 79«
- áááááYou≥ joΓ i≤ t∩ translatσ thesσ tw∩ numbe≥ int∩ ß curso≥ ì
- ááááápostion on the screen of your CRT.
-
- áááááSavσá al∞á register≤ includinτ BC«á Usσá thσá followinτ ì
- áááááskeletoε a≤ ß guide:
-
- ááááá ASEG
- ááááá .PHAS┼ XXX╪ ;From áZ8E.SYM
-
- ááááá YOURS:
- ááááá PUSH BC
- ááááá PUSH DE
- ááááá PUSH HL
-
- ááááá CURSOR ADDRESSING CODE HERE
-
- ááááá POP HL
- ááááá POP DE
- ááááá POP BC
- ááááá RET
-
- ááááá ENDáááá
- á
- áááááUsσá Z8E'≤ outpu⌠ routinσ TTY╧ a≤ describeΣá abovσá (o≥ ì
- áááááyou≥á owεá routine⌐á t∩ outpu⌠ thσ character≤á iεá you≥ ì
- ááááácurso≥ addressinτ sequence« Obtaiε thσ absolutσ addres≤ ì
- áááááoµá TTY╧ froφ thσ filσ Z8E.SYM«á Codσ thσ cal∞á t∩á thσ ì
- ááááásubroutinσá usinτ thσ absolutσ addres≤ iεá hexadecimal« ì
- áááááFor instance, if Z8E.SYM contains the entry:
-
- ááááá 2FE2 TTYO
-
- áááááthen code your call statements as:
-
- ááááá CALL 2FE2H
-
- áááááZ8┼ impose≤ onl∙ onσ restrictioε oε thσ codσ yo⌡ write« ì
- áááááIεá orde≥á t∩ guaranteσ tha⌠ you≥ routinσ caε bσá relo-ì
- ááááácateΣá int∩ higΦ memor∙ b∙ Z8┼ d∩ no⌠ loaΣ an∙á 1╢á bi⌠ ì
- áááááconstant≤á int∩á registe≥ pairs╗á insteaΣ d∩ tw∩ ╕á bi⌠ ì
- áááááloads«á Fo≥ example¼á d∩ no⌠ usσ thσ followinτá state-ì
- áááááment:
-
- ááááá LD HL,1234H
-
- áááááRather, code it like this:
-
- ááááá LD H,12H
- ááááá LD L,34H
-
- è
-
- 10
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- áááááThi≤á i≤á thσ onl∙ restrictioε othe≥ thaεá thσá maximuφ ì
- ááááácodσá lengtΦ whicΦ i≤ placeΣ oε you≥ codσ whicΦ i≤á 12╕ ì
- ááááábytes.
-
- 3.áááAssemblσá you≥ routinσ witΦ eithe≥ Macro-8░ o≥á Z80ASM« ì
- áááááLink it with either Link-80 or SLRNK.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 11
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- 4.áááLoad Z8E.COM using Z8E:
-
- ááááá A>Z8E Z8E.COM Z8E.SYM
-
- ááááá *
-
- 5.áááNow overlay Z8E's cursor address code with your own:
-
- ááááá *I YOURCODE.COM,XYCP
-
- áááááZ8┼ wil∞ loaΣ you≥ curso≥ addressinτ routinσ oε to≡ it≤ ì
- áááááowεá beginninτá a⌠á thσá addres≤á associateΣá witΦá thσ ì
- ááááásymbol XYCP.ááááááááá
-
- 6.áááSave the new file using a name of your choosing:
-
- ááááá *W NEWDEBUG.COM
-
- 7.áááExi⌠á bacδá t∩á thσá operatinτá systeφá bσá enterinτá ß ì
- áááááControl-C at the asterisk prompt.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 12
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
-
-
-
- This Page Intentionally Left Blank.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 13
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- III. INVOKING Z8E AT THE CP/M COMMAND LEVEL
-
- Upoεá invokatioε a⌠ thσ CP/═ commanΣ leve∞ Z8E load≤ a⌠á thσá lo≈ ì
- enΣá oµ thσ Transien⌠ Prograφ Areß (TPA⌐ whicΦ begin≤ a⌠ absolutσ ì
- addres≤ 100H«á Thσ TP┴ i≤ thσ areß iε memor∙ wherσ use≥á program≤ ì
- arσ executed«
-
- Oncσá loadeΣ Z8┼ determine≤ thσ sizσ oµ thσ TP┴ b∙ examininτá thσ ì
- addres≤á fielΣ oµ thσ jum≡ instructioε a⌠ locatioε 5«á Thi≤á ad-ì
- dres≤á represent≤á botΦ thσ entr∙ poin⌠ int∩ CP/═ anΣ thσ enΣá oµ ì
- thσ TPA«á Z8┼ lower≤ thi≤ addres≤ b∙ approximatel∙ 9╦ byte≤á anΣ ì
- relocate≤ int∩ thi≤ areß b∙ adjustinτ al∞ addresse≤ withiε itselµ ì
- t∩ reflec⌠ it≤ ne≈ location«á Thσ jum≡ instructioε a⌠ locatioε ╡ ì
- i≤ similiarl∙ modifieΣ t∩ reflec⌠ thσ ne≈ sizσ oµ thσ TPA«á Thu≤ ì
- al∞á program≤á whicΦ usσ thi≤ addres≤ t∩ determinσ thσ amoun⌠á oµ ì
- availablσ memor∙ caε ruε unchanged«á Z8┼ complete≤ it≤ initiali-ì
- zatioεá b∙ storinτ ß jum≡ instructioε t∩ it≤ breakpoin⌠á handlinτ ì
- softwarσ a⌠ absolutσ addres≤ 3╕ (hexadecimal)«
-
- Symbol≤ whicΦ arσ loadeΣ froφ file≤ arσ storeΣ b∙ Z8┼ iε ß symbo∞ ì
- tablσ a⌠ thσ to≡ oµ thσ TP┴ jus⌠ belo≈ Z8E« Z8┼ wil∞ dynamicall∙ ì
- allocatσá thσá storagσ necessar∙ t∩ holΣ al∞ symbol≤ loadeΣá froφ ì
- files╗ however¼ Z8┼ als∩ allow≤ thσ use≥ t∩ ente≥ hi≤ owε symbol≤ ì
- froφá thσá keyboarΣ viß thσ (A)ssemblσá command«á Z8┼á doe≤á NOT ì
- reservσ ANY spacσ iε memor∙ fo≥ use≥ generateΣ symbols« Thσ use≥ ì
- mus⌠á explicitl∙á reques⌠ memor∙ spacσ oε thσ CP/═ commanΣá line« ì
- Thi≤ i≤ accomplisheΣ b∙ enterinτ thσ numbe≥ oµ symbol≤ fo≥á whicΦ ì
- spacσá shoulΣ bσ reserveΣ a≤ ß decima∞ number«á Thi≤ numbe≥ mus⌠ ì
- bσ encloseΣ iε parenthese≤ anΣ mus⌠ appea≥ a≤ thσ firs⌠á argumen⌠ ì
- oε thσ commanΣ linσ a≤ showε below:
-
- A>Z8E (32)
-
- Iεá thi≤ examplσ thσ use≥ ha≤ requesteΣ spacσ fo≥ 3▓ use≥ defineΣ ì
- symbols«á Iµá MAXLE╬ ha≤ bσ se⌠ t∩ ╢ (Seσ INSTALLATIO╬á Section⌐ ì
- theεá eacΦ symbo∞ require≤ ╕ byte≤ oµá storage¼á hence¼á iεá thi≤ ì
- examplσá Z8┼ wil∞ se⌠ asidσ 25╢ byte≤ oµ memor∙ fo≥ use≥á defineΣ ì
- symbols«
-
- Subsequen⌠ actioε i≤ baseΣ oε thσ forma⌠ oµ thσ remainde≥ oµá thσ ì
- commanΣ linσ a≤ entereΣ b∙ thσ user« Iε thσ example≤ tha⌠ follo≈ ì
- bea≥á iεá minΣá tha⌠ an∙ oµ thesσ commanΣ line≤ ma∙á contaiεá thσ ì
- argumen⌠á requestinτ memor∙ spacσ fo≥ use≥ symbo∞ tablσá entries« ì
- Thσ argumen⌠ woulΣ appea≥ immmediatσ afte≥ "Z8Eó iε ever∙ case.
-
-
- 1« A>Z8E
-
- Z8E reside≤ a≤ ß standalonσ prograφ iε memory.
-
-
-
- 2. A>Z8E USERFILE.COM
-
- áááááááááááááááááááUSERFILE.CO═ i≤ loadeΣ a⌠ thσ beginninτ oµ thσ ìè
-
- 14
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- áááááááááááááááááááTP┴á anΣ i≤ read∙ t∩ bσ acteΣ oε b∙á Z8Eá com-ì
- ááááááááááááááááááámands«á
-
-
-
- 3. A>Z8E USERFILE.COM USERFILE.SYM [,bias]
-
- áááááááááááááááááááUSERFILE.SY═ i≤ reaΣ iε b∙ Z8E anΣ al∞á symbo∞ ì
- áááááááááááááááááááname≤ containeΣ iε thσ filσ arσ entereΣ int∩ ß ì
- ááááááááááááááááááátablσá whicΦ begin≤ a⌠ thσ startinτ addres≤ oµ ì
- áááááááááááááááááááZ8E (thσ endinτ addres≤ oµ thσ "newó TPA⌐á anΣ ì
- áááááááááááááááááááextend≤á downwarΣá iεá memory«á Thσá optiona∞ ì
- ááááááááááááááááááábias¼á iµá specified¼á i≤ ß 1╢ bi⌠ valuσ whicΦ ì
- áááááááááááááááááááwil∞ bσ addeΣ t∩ thσ 1╢ bi⌠ addres≤ associateΣ ì
- áááááááááááááááááááwitΦ eacΦ symbo∞ iε thσ file«á (Iε thi≤ exam-ì
- áááááááááááááááááááplσ ß .SY═ filσ i≤ shown╗á however¼ sincσ al∞ ì
- áááááááááááááááááááaddresse≤á appearinτ iε ß .SY═ filσ arσá abso-ì
- ááááááááááááááááááálutσá thσ optiona∞ bia≤ woulΣ probabl∙ no⌠á bσ ì
- áááááááááááááááááááused.)
-
- áááááááááááááááááááUSERFILE.CO═ i≤ loadeΣ a⌠ thσ star⌠ oµ thσ TP┴ ì
- áááááááááááááááááááonl∙ afte≥ thσ .SY═ filσ ha≤ beeε reaΣ anΣ thσ ì
- ááááááááááááááááááásymbo∞á tablσ built«á
- áááááááááááááááááááá
-
-
- 4« A>Z8E USERFILE.CO═ USERFILE.PRN [,bias]
- áááááááááááááááááááá
- áááááááááááááááááááA≤á iεá thσ previou≤ examplσá USERFILE.CO═á i≤ ì
- áááááááááááááááááááloadeΣá a⌠ thσ beginninτ oµ thσá TPA¼á bu⌠á iε ì
- áááááááááááááááááááthi≤ instancσ ß .PR╬ filσ i≤ useΣ t∩ construc⌠ ì
- áááááááááááááááááááthσá symbo∞ table«á Thσ optiona∞ bia≤ become≤ ì
- áááááááááááááááááááver∙á usefu∞ iµ thσ .LS╘ o≥ .PR╬á filσá repre-ì
- ááááááááááááááááááásent≤á thσá listinτ oµ ß relocatablσá program« ì
- áááááááááááááááááááRelocatablσ program≤ linkeΣ usinτá Microsoft'≤ ì
- áááááááááááááááááááLINK-8░ defaul⌠ t∩ ß loaΣ addres≤ oµ 103╚ witΦ ì
- áááááááááááááááááááthσá threσá byte≤á oµ memor∙ locateΣá a⌠á 100╚ ì
- ááááááááááááááááááácontaininτá ß jum≡ t∩ thσ entr∙ poin⌠á oµá thσ ì
- áááááááááááááááááááprogram«á Therefore¼á iµá thσ use≥ supplie≤ ß ì
- ááááááááááááááááááábia≤á oµ 10│ iε thσ commanΣ linσ al∞á relocat-ì
- áááááááááááááááááááablσá symbol≤ iε thσ filσ wil∞á bσá associateΣ ì
- áááááááááááááááááááwitΦá thei≥ actua∞ addresse≤ iεá memory«á An∙ ì
- ááááááááááááááááááábia≤á specifieΣá wil∞ onl∙ bσ addeΣá t∩á thosσ ì
- ááááááááááááááááááásymbol≤á whicΦ arσ flaggeΣ a≤ codσ relativσ iε ì
- áááááááááááááááááááthσ .PR╬ file« ┴ bia≤ wil∞ no⌠ bσ addeΣ t∩ an∙ ì
- ááááááááááááááááááásymbo∞á flaggeΣá a≤á ABSOLUTE¼áá EXTERANL¼á O╥ ì
- áááááááááááááááááááCOMMON.
-
- áááááááááááááááááááUSERFILE.CO═ i≤ loadeΣ a⌠ thσ star⌠ oµ thσ TP┴ ì
- áááááááááááááááááááonl∙ afte≥ thσ .LS╘ o≥ .PR╬ filσ ha≤ beeε reaΣ ì
- áááááááááááááááááááanΣ thσ symbo∞ tablσ built.
-
-
-
-
-
-
- 15
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- 5« A>Z8E USERFILE.CO═ USERFILE.SY═ [,bias▌ NFILE.LST [,bias]
- áááááááááááááááááááá
- áááááááááááááááááááThσ truσ powe≥ oµ Z8E'≤ symbo∞ loadinτ i≤ bes⌠ ì
- áááááááááááááááááááevidenceΣ wheε loadinτ multiplσ symbo∞á table≤ ì
- áááááááááááááááááááfroφá severa∞ files«á Thσ firs⌠ filσ i≤á gen-ì
- áááááááááááááááááááerall∙á ß .SY═ filσ specifyinτ al∞ thσá globa∞ ì
- ááááááááááááááááááásymbo∞ name≤ iε thσ prograφ t∩ bσ tested« Thσ ì
- ááááááááááááááááááásubsequen⌠ file≤ specifieΣ oε thσ commanΣ linσ ì
- áááááááááááááááááááarσá usuall∙ .PR╬ o≥ .LS╘ file≤ oµ thσ indivi-ì
- ááááááááááááááááááádua∞á sourcσ module≤ tha⌠ werσ originall∙á as-ì
- ááááááááááááááááááásembleΣá anΣ theε linkeΣ (whicΦá produceΣá thσ ì
- ááááááááááááááááááá.SY═ file)« AlthougΦ onl∙ tw∩ file≤ (USERFIL┼ ì
- áááááááááááááááááááanΣ NFILE⌐ arσ showε iε thi≤ example¼ iε actu-ì
- áááááááááááááááááááalit∙ thσ numbe≥ oµ .SY═ anΣ .PR╬ file≤ speci-ì
- áááááááááááááááááááfieΣá iεá thσ commanΣ linσ i≤ limiteΣ onl∙á b∙ ì
- áááááááááááááááááááthσá sizσá oµ Z8E'≤ inpu⌠ buffe≥ whicΦá i≤á 8░ ì
- ááááááááááááááááááácharacter≤ long.
-
-
- áááááááááááááááááááUSERFILE.CO═á i≤ loadeΣ a⌠ thσ star⌠á oµá thσ ì
- áááááááááááááááááááTP┴á onl∙á afte≥ al∞ .SY═ anΣ .PRN/.LS╘á file≤ ì
- áááááááááááááááááááhavσ beeε reaΣ anΣ thσ symbo∞ tablσ built.
-
-
- áááááááááááááááááááNote:
- áááááááááááááááááááIµ n∩ bia≤ i≤ specified¼á Z8E wil∞ usσ ßá bia≤ ì
- áááááááááááááááááááoµ zero«
-
-
- Iµá morσ thaε onσ .LS╘ o≥ .PR╬ filσ i≤ beinτá loaded¼á theεá eacΦ ì
- filσá namσ caε bσ specifieΣ witΦ it≤ owε bias«á Thσ bia≤ ma∙á bσ ì
- entereΣ iε thσ forφ oµ ß symbo∞ name¼ hexadecima∞ number¼ decima∞ ì
- number¼á o≥á an∙ combinatiioε oµ thσ threσ iε aε expressioε usinτ ì
- thσá ½ anΣ - operators«á Iµ thσ individua∞ modulσ ha≤á ßá globa∞ ì
- entr∙á point¼á thσ namσ oµ whicΦ wa≤ previousl∙ loaded¼á thσ use≥ ì
- caεá bia≤ al∞ symbol≤ witΦ thσ valuσ associateΣ witΦá thi≤á name« ì
- Iεá thi≤á wa∙ al∞ symbols¼á botΦ absolutσá anΣá relocatable¼á arσ ì
- associateΣ witΦ thei≥ actua∞ locatioε iε memory.
-
- Z8┼á a≤á presentl∙ configureΣ caε builΣ ß symbo∞ tablσá froφá thσ ì
- list files produced by the following programs:
-
- 1. Microsoft MACRO-80 V3.37 .PRN Files May 8, 1980
- 2. Microsoft MACRO-80 V3.44 .PRN Files Dec 9, 1981
- 3. Microsoft LINK-80 V3.44 .SYM Files Dec 9, 1981
- 4. SLR Systems Z80ASM V1.07 .LST Files
- 5. SLR Systems SLRNK V1.07 .SYM Files
-
- Z80AS═ anΣ SLRN╦ ma∙ bσ configureΣ fo≥ 8░ o≥ 13▓ columε output.
-
- Z8┼á use≤ thσ filσ namσ extensioε (thσ threσ character≤ appearinτ ì
- t∩ thσ righ⌠ oµ thσ period⌐ t∩ determinσ thσ forma⌠ oµ thσá file« ì
- EacΦá oµá thσ abovσ filσ type≤ ha≤ ß distinguishinτá format«á Thσ ì
- characteritics of each type are described in APPENDIX A.
-
- è
-
- 16
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- Durinτ thσ loadinτ proces≤ Z8E display≤ statu≤ anΣ erro≥ message≤ ì
- oεá thσá consolσ relatinτ t∩ thσ activit∙ iεá progres≤á a≤á showε ì
- below:
-
- áááááááá STATUS MESSAGE DESCRIPTION
-
- 1. Loading: USERFILE.COM áááááááááZ8Eá i≤ attemptinτ t∩ opeε ì
- áááááááááááááááááááááááááááááááááááááááthσá nameΣá filσ (iεá thi≤ ì
- ááááááááááááááááááááááááááááááááááááááácase, USERFILE.COM)
-
-
- 2. Number of symbols loaded: Followinτá thσ loadinτá oµ ì
- áááááááááááááááááááááááááááááááááááááááal∞ symbol≤ froφ ß listinτ ì
- áááááááááááááááááááááááááááááááááááááááfilσá o≥á ß .SY═ filσ, thσ ì
- ááááááááááááááááááááááááááááááááááááááánumbe≥á oµ symbol≤á loadeΣ ì
- áááááááááááááááááááááááááááááááááááááááfroφ thσ specifieΣ filσ i≤ ì
- ááááááááááááááááááááááááááááááááááááááádisplayeΣá a≤á ßáá decima∞ ì
- ááááááááááááááááááááááááááááááááááááááánumber.
-
-
- 3. Loaded: 100 YYYY Z8E display≤ thσá startinτ ì
- ááááááááááPages:á ZZZá ááááááááááááááááanΣá endinτ memor∙ addres-ì
- áááááááááááááááááááááááááááááááááááááááse≤á oµá thσá targe⌠á filσ ì
- ááááááááááááááááááááááááááááááááááááááá(thσ firs⌠ filσá specifieΣ ì
- áááááááááááááááááááááááááááááááááááááááoεá thσ CP/═ commanΣá linσ ì
- áááááááááááááááááááááááááááááááááááááááanΣ thσ onσ whicΦ i≤ goinτ ì
- ááááááááááááááááááááááááááááááááááááááát∩ bσ debugged).
-
- áááááááááááááááááááááááááááááááááááááá"Pages:óáá refer≤á t∩á thσ ì
- ááááááááááááááááááááááááááááááááááááááádecima∞á numbe≥á oµá page≤ ì
- áááááááááááááááááááááááááááááááááááááááanΣá i≤ thσ coun⌠á oµá 25╢ ì
- ááááááááááááááááááááááááááááááááááááááábytσá page≤á iε thσá file« ì
- áááááááááááááááááááááááááááááááááááááááThi≤ numbe≥ ma∙ bσ subse-ì
- áááááááááááááááááááááááááááááááááááááááquentl∙ useΣ witΦ thσ CP/═ ì
- áááááááááááááááááááááááááááááááááááááááSAV┼ commanΣ oncσ thσá de-ì
- ááááááááááááááááááááááááááááááááááááááábuτ sessioε ends«
-
-
- ERROR MESSAGE DESCRIPTION
-
- 1.á File not foundáááááááááááááááThσá filσ specifieΣ iε thσ ì
- ááááááááááááááááááááááááááááááááááááááácommanΣ coulΣ no⌠ bσ founΣ ì
- áááááááááááááááááááááááááááááááááááááááoε thσ specifieΣ drive.
-
- 2.á Symbol table not foundáááááááThσáá specifieΣá filσá wa≤ ì
- áááááááááááááááááááááááááááááááááááááááfounΣ bu⌠ diΣ no⌠á contaiε ì
- áááááááááááááááááááááááááááááááááááááááßá properl∙ formatteΣ sym-ì
- ááááááááááááááááááááááááááááááááááááááábo∞ table.
-
- 3.á Invalid offset - using 0000 Thσá use≥ ha≤ specifieΣ aε ì
- áááááááááááááááááááááááááááááááááááááááinvaliΣ offse⌠ t∩ bσ addeΣ ì
- ááááááááááááááááááááááááááááááááááááááát∩ eacΦ loadeΣ symbol« Z8E ì
- áááááááááááááááááááááááááááááááááááááááwil∞ continuσ t∩ loaΣ thi≤ ì
- ááááááááááááááááááááááááááááááááááááááásymbo∞á filσ bu⌠ wil∞á no⌠ ì
- áááááááááááááááááááááááááááááááááááááááadΣá an∙ bia≤ t∩ thσá sym-ìè
-
- 17
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- ááááááááááááááááááááááááááááááááááááááábols« Thi≤ erro≥ ma∙ havσ ì
- áááááááááááááááááááááááááááááááááááááááoccureΣá becausσ thσá use≥ ì
- áááááááááááááááááááááááááááááááááááááááspecifieΣ aε offse⌠ iε thσ ì
- áááááááááááááááááááááááááááááááááááááááforφ oµ ß symbo∞ whicΦ haΣ ì
- áááááááááááááááááááááááááááááááááááááááno⌠ááá beeεáááá previousl∙ ì
- áááááááááááááááááááááááááááááááááááááááloaded¼á o≥á thσ use≥á ma∙ ì
- áááááááááááááááááááááááááááááááááááááááhavσá specifieΣ ßá numeriπ ì
- ááááááááááááááááááááááááááááááááááááááávaluσá whicΦ containeΣá aε ì
- áááááááááááááááááááááááááááááááááááááááillega∞ character.
-
- 4. Syntax Error Thσá filσ namσ wa≤á incor-ì
- ááááááááááááááááááááááááááááááááááááááárectl∙ specified«
-
-
- Afte≥á al∞ use≥ files¼á botΦ symbo∞ file≤ anΣ thσ .CO═ filσ t∩ bσ ì
- debugged¼á havσ beeε loadeΣ Z8E display≤ curren⌠ memor∙ usagσá a≤ ì
- follows:
-
- Total Symbols: XXXX
- Symbol Table: XXXX - XXXX
- Z8E relocated: XXXX - XXXX
- Top of memory: XXXX ááá
-
-
-
- I⌠á i≤ importan⌠ t∩ notσ tha⌠ Z8E expect≤ thσ file≤ appearinτá iε ì
- thσá commanΣá linσ t∩ bσ appea≥ iε ß specifiπ order«á Thσá firs⌠ ì
- filσá namσá appearinτ iε thσ commanΣ linσ i≤ assumeΣá t∩á bσá thσ ì
- targe⌠ filσ whicΦ i≤ t∩ bσ debugged«á I⌠ i≤ alway≤ thσ las⌠ filσ ì
- t∩á bσ loaded«á Al∞ filσ name≤ followinτ thσ targe⌠ filσ namσ arσ ì
- assumeΣ t∩ bσ symbo∞ inpu⌠ file≤ anΣ the∙ arσ loadeΣ iε thσ orde≥ ì
- iε whicΦ the∙ appear.
-
- Thσá firs⌠á filσá nameΣá iε thσ commanΣá linσá i≤á alway≤á loadeΣ ì
- startinτ a⌠ addres≤ 10░ hex«á Thσ "Ió commanΣ contain≤ aε optioε ì
- t∩á allo≈á thσ filσ t∩ bσ loadeΣ a⌠ ßá differen⌠á address«á Thi≤ ì
- feature is not available at the CP/M command line level.
-
- Fo≥ ß discussioε oµ thσ forma⌠ oµ symbo∞ file≤ seσ APPENDI╪ A.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 18
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
-
-
-
- This Page Intentionally Left Blank.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 19
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- IV. INITIALIZATION
-
- Oncσ Z8E ha≤ beeε loaded¼ anΣ ha≤ iε turε loadeΣ al∞ file≤ speci-ì
- fieΣ oε thσ commanΣ line¼á i⌠ initialize≤ al∞ use≥ register≤ t∩ ░ ì
- witΦ thσ followinτ exceptions:
-
- Thσá user'≤ prograφ counte≥ contain≤ addres≤á 10░á he° ì
- áááááwhicΦ i≤ thσ star⌠ oµ thσ TPA«á
-
- áááááThσá user'≤á stacδ pointe≥ i≤ se⌠ t∩ thσ startinτá ad-ì
- ááááádres≤á oµ Z8┼ (thσ to≡ oµ thσ TPA⌐ minu≤á two«á Thesσ ì
- ááááátw∩á byte≤á arσ se⌠ t∩ zer∩ iεá accordancσá witΦá CP/═ ì
- áááááconvention«á Wheε CP/═ load≤ ß prograφ i⌠ initialize≤ ì
- áááááßá stacδ fo≥ thσ loadeΣ prograφ b∙ pushinτ thσ addres≤ ì
- áááááoµá thσ jum≡ t∩ thσ systeφ warφ boo⌠ routinσ ont∩á it« ì
- áááááThu≤ use≥ program≤ (STAT.CO═ i≤ aε example⌐ caε choosσ ì
- ááááát∩ terminatσ themselve≤ anΣ returε t∩ CP/═ b∙á execu-ì
- ááááátinτá aε RE╘ througΦ thi≤ addres≤ oε thσá stack«á Z8┼ ì
- áááááaccomplishe≤á thσá samσ objective║á thσ 000░á oεá thσ ì
- ááááástacδá permit≤ thσ use≥ prograφ t∩ returε t∩ CP/═á viß ì
- áááááaddres≤á 000░á whicΦá alway≤ contain≤ ßá jum≡á t∩á thσ ì
- ááááásystem'≤ warφ boo⌠ routine«
- ááááá
-
- áááááThσá use≥á ╔ (interrupt⌐ registe≥ i≤ se⌠ t∩ thσá valuσ ì
- ááááácontaineΣá iεá thσá ╔ registe≥ wheεá Z8Eá wa≤á loaded« ì
- áááááModif∙ a⌠ you≥ owε risk.
-
-
-
- Al∞á inpu⌠ anΣ outpu⌠ b∙ Z8E i≤ accomplisheΣ usinτá buffer≤á con-ì
- taineΣ withiε itself« Z8E doe≤ no⌠ usσ thσ defaul⌠ DM┴ buffe≥ a⌠ ì
- absolutσá locatioεá 8░ no≥ doe≤ i⌠ usσ thσ defaul⌠á Filσá Contro∞ ì
- Blocδá (FCB⌐á a⌠ absolutσ locatioε 5C.
-
- Note:
- áááááááááááWheεá CP/═ finishe≤ loadinτá an∙á program¼ ì
- áááááááááááincludinτá Z8E¼á i⌠ move≤ thσ commanΣ linσ ì
- ááááááááááátai∞ t∩ thσ defaul⌠ DM┴ buffe≥ a⌠ absolutσ ì
- áááááááááááaddres≤á 8░ (hex⌐ anΣ initialize≤ thσá de-ì
- áááááááááááfaul⌠á FC┬ a⌠ absolutσ addres≤ 5├á t∩á thσ ì
- ááááááááááánamσ oµ thσ firs⌠ filσ (o≥ firs⌠ tw∩ file≤ ì
- áááááááááááiµ tw∩ o≥ morσ arσ specified⌐ appearinτ iε ì
- áááááááááááthσ commanΣ line«á Z8E make≤ usσ oµ thi≤ ì
- áááááááááááinformatioεá iεá orde≥ t∩ loaΣá thσá use≥ ì
- áááááááááááprograφá anΣá an∙ symbo∞á files«á Iµá thσ ì
- áááááááááááprograφá t∩ bσ testeΣ als∩ expect≤ aε ini-ì
- ááááááááááátializeΣ FC┬ and/o≥ DM┴ buffe≥ (a≤ i≤ ver∙ ì
- áááááááááááofteε thσ case)¼ theε thσ use≥ mus⌠ effec⌠ ì
- áááááááááááthi≤á beforσá attemptinτá t∩á executσá thσ ì
- áááááááááááprogram«á
-
- áááááááááááFo≥á example¼á man∙ tex⌠ editinτá program≤ ì
- áááááááááááarσá invokeΣá b∙á typinτ thσ namσá oµá thσ ì
- áááááááááááedito≥ prograφ followeΣ b∙ thσ namσ oµ thσ ìè
-
- 20
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- áááááááááááprograφ t∩ edi⌠ oε thσ CP/═ commanΣá line¼ ì
- áááááááááááa≤ iε hypothetica∞ case:
-
- ááááááááááá A>EDIT B:FYL2EDIT.BAS
-
- áááááááááááOncσ thσ prograφ EDIT.CO═ i≤ loadeΣ i⌠ ma∙ ì
- áááááááááááexpec⌠á t∩ finΣ thσ defaul⌠ FC┬ t∩ bσá al-ì
- áááááááááááread∙ááá se⌠áá u≡áá t∩áá reaΣáá thσáá filσ ì
- áááááááááááFYL2EDIT.BAS«á EDIT.CO═á ma∙ als∩á expec⌠ ì
- áááááááááááthσá DM┴ buffe≥ t∩ contaiε thσá numbe≥á oµ ì
- ááááááááááácharacter≤á iε thσ commanΣ linσ a⌠ addres≤ ì
- ááááááááááá80¼á a≤á wel∞ thσ thσ tex⌠ oµ thσá commanΣ ì
- ááááááááááálinσ startinτ a⌠ addres≤ 81« Iε thi≤ exam-ì
- áááááááááááplσá locatioε 8░ woulΣ contaiε ßá hexadec-ì
- áááááááááááima∞ ╞ (decima∞ 15⌐ representinτ thσá num-ì
- ááááááááááábe≥áá oµá characters¼áá anΣá location≤á 8▒ ì
- áááááááááááthrougΦ 8╞ woulΣ contaiε thσ 1╡ character≤ ì
- ááááááááááá(spacσ througΦ S)«á Similiarly¼á thσ firs⌠ ì
- ááááááááááábytσá oµá thσ defaul⌠ FC┬á a⌠á addres≤á 5├ ì
- áááááááááááwoulΣá contaiε thσ numbe≥ ▒ (numeriπ equi-ì
- ááááááááááávalen⌠á oµ drivσ B⌐ anΣ thσ nex⌠ 1▒á byte≤ ì
- áááááááááááwoulΣá contaiε thσ filσ namσá FYL2EDI╘á iε ì
- áááááááááááASCII«á Iµá thσ namσ FYL2EDI╘ wa≤ shorte≥ ì
- áááááááááááthaε ╕ characters¼á theε thσ remainde≥á oµ ì
- áááááááááááthσá filσá namσ fielΣ iε thσ FC┬ woulΣá bσ ì
- áááááááááááfilleΣ witΦ ASCI╔ spaces« Thσ nex⌠ │ byte≤ ì
- áááááááááááwoulΣ contaiε thσ filσ typσ iεá ASCII╗á iε ì
- áááááááááááthi≤á examplσ thσ filσ typσ i≤ BAS«á Iµ n∩ ì
- áááááááááááfilσ typσ wa≤ specified¼á thi≤ fielΣ woulΣ ì
- ááááááááááácontaiε │ ASCI╔ spaces.
-
- áááááááááááNow¼á iµá thσá use≥ wa≤ t∩ debuτ thσá EDI╘ ì
- áááááááááááprograφ usinτ Z8E¼á thi≤ initializatioε oµ ì
- áááááááááááthσá defaul⌠á DM┴ buffe≥ anΣá defaul⌠á FC┬ ì
- ááááááááááámus⌠á bσ accomplisheΣ "b∙ handóá prio≥á t∩ ì
- áááááááááááattemptinτ t∩ debuτ EDIT.COM¼ owinτ t∩ thσ ì
- áááááááááááfac⌠ tha⌠ CP/═ ha≤ alread∙ se⌠ u≡ thesσ t∩ ì
- áááááááááááarea≤á witΦ thσ datß froφ thσ commanΣ linσ ì
- áááááááááááwhicΦ wa≤ typeΣ iε t∩ loaΣ Z8E« Iε short¼ ì
- áááááááááááEDI╘ mus⌠ bσ trickeΣ int∩ believinτ i⌠ wa≤ ì
- áááááááááááloadeΣ b∙ CP/═ anΣ no⌠ b∙ Z8┼ anΣ thσ use≥ ì
- ááááááááááámus⌠á perforφ thσ initializatioε oµá thesσ ì
- ááááááááááátw∩ areas« Thσ use≥ ma∙ usσ thσ ┼ commanΣ ì
- ááááááááááá(t∩á storσ botΦ ASCI╔ anΣ numeriπ datßá iε ì
- ááááááááááámemory⌐ t∩ simulatσ aε initializeΣ commanΣ ì
- ááááááááááálinσ buffe≥ anΣ FCB«á Furthe≥ informatioε ì
- áááááááááááregardinτá thσ forma⌠ oµ thσ FC┬á anΣá DM┴ ì
- ááááááááááábuffe≥á ma∙ mσ founΣ iε Digita∞ Research'≤ ì
- áááááááááááCP/═ 2.░ INTERFAC┼ GUIDE.
-
-
-
-
-
-
-
-
- 21
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- DEBUGGING HINT:
-
- I⌠á i≤á no⌠ necessar∙ t∩ initializσ thσ defaul⌠á FC┬á and/o≥á thσ ì
- defaul⌠á (commanΣá line⌐á DM┴ buffe≥ ever∙ timσ ß prograφá t∩á bσ ì
- testeΣ i≤ loadeΣ (iµ indeeΣ thi≤ prograφ utilize≤ them)« InsteaΣ ì
- follo≈ thσ procedurσ listeΣ belo≈ (Iµ yo⌡ haven'⌠ reaΣ thσá indi-ì
- vidua∞ commanΣ summarie≤ thσ followinτ ma∙ makσ morσ sensσ later):
-
- ááááááááááOncσá yo⌡á havσá loadeΣ thσ prograφá t∩á tes⌠ ì
- ááááááááááperforφá thσ requireΣ initializatioεá oµá thσ ì
- ááááááááááFCB'≤á a⌠á 5C╚ anΣ 6C╚ anΣ thσá commanΣá linσ ì
- áááááááááábuffe≥á a⌠ 80╚ usinτ thσ ┼ command«á Usσá thσ ì
- ááááááááááASCI╔ strinτ optioε witΦ thσ ┼ commanΣ t∩ se⌠ ì
- ááááááááááthσá tex⌠á portions«á Usσ thσá numeriπá inpu⌠ ì
- ááááááááááfunctioε t∩ intializσ thσ drivσ specificatioε ì
- ááááááááááa⌠ addres≤ 5├ anΣ thσ characte≥ coun⌠ a⌠ 80H«
-
- ááááááááááUsσá thσ ╫ commanΣ t∩ writσ ou⌠ memor∙ start-ì
- ááááááááááinτ a⌠ addres≤ ZERO« A≤ in:
-
- *W NEWFILE.COM 0 XXXX
-
- ááááááááááWherσ XXX╪ i≤ thσ highes⌠ addres≤ yo⌡ wisΦ t∩ ì
- áááááááááásave«á No≈ thσ nex⌠ timσ yo⌡ loaΣ thi≤á filσ ì
- áááááááááái⌠á wil∞ oµ coursσ loaΣ a⌠ addres≤ 100H«á Usσ ì
- ááááááááááthσá ═á (movσ memor∙ command⌐ t∩ movσá i⌠á t∩ ì
- áááááááááálocatioε 0000«á You≥ FC┬ anΣ DM┴ buffe≥á arσ ì
- ááááááááááinitialized«
-
- *M 100 XXXX+100 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 22
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
-
-
-
- This Page Intentionally Left Blank.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 23
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- V. COMMAND INPUTáá
-
- Oncσá filσá anΣá symbo∞ tablσ loadinτá ha≤á beeεá completed¼á Z8E ì
- prompt≤á thσá operato≥ fo≥ commanΣ inpu⌠ b∙á displayinτá thσá "*ó ì
- character« Thσ operato≥ caε theε typσ an∙ oµ Z8E'≤ singlσ lette≥ ì
- commands«á Somσá command≤ requirσ n∩ argument≤ whilσ other≤á re-ì
- quirσ betweeε onσ anΣ four« Argument≤ ma∙ bσ iε an∙ oµ thσ form≤ ì
- listeΣá belo≈ (excep⌠ a≤ noteΣ iε thσ descriptioε oµ thσá indivi-ì
- dua∞ commands)║
-
-
-
-
- SYMBOL:áááááá An∙á symbo∞ previousl∙ loadeΣá o≥á previousl∙ ì
- ááááááááááááááááááááentereΣá viß thσ keyboarΣ (seσ ┴ command⌐ ma∙ ì
- ááááááááááááááááááááappea≥ a≤ ß commanΣ argument« Al∞ symbol≤ arσ ì
- áááááááááááááááááááátreateΣ a≤ 1╢ bi⌠ values.
-
- áááááááááááááááááááá
- HEX: ┴á 1╢á bi⌠á he° numbe≥ ma∙ bσ entereΣá a≤á aε ì
- ááááááááááááááááááááargument«á Onl∙ thσ las⌠ fou≥ character≤á en-ì
- áááááááááááááááááááátereΣ arσ treateΣ a≤ significan⌠ inpu⌠ iµ Z8E ì
- áááááááááááááááááááái≤á expectinτá ß 1╢ bi⌠á argument«á Iεá thosσ ì
- ááááááááááááááááááááinstance≤ wherσ Z8E expect≤ ß ╕ bi⌠ argument¼ ì
- ááááááááááááááááááááonl∙ thσ las⌠ tw∩ character≤ arσ significant« ì
- ááááááááááááááááááááA≤á such¼á thσ use≥ ma∙ elec⌠ t∩ correc⌠ mis-ì
- áááááááááááááááááááátake≤ b∙ eithe≥ backspacinτ anΣ retyping¼á o≥ ì
- ááááááááááááááááááááb∙á continuinτ t∩ ente≥ thσ numbe≥ anΣá ensu-ì
- áááááááááááááááááááárinτá tha⌠ thσ erroneou≤ digi⌠ doe≤ no⌠á ap-ì
- áááááááááááááááááááápea≥á iε thσ rightmos⌠ fou≥ (o≥ two⌐á charac-ì
- ááááááááááááááááááááter≤ a≤ showε iε thσ followinτ example:
-
- áááááááááááááááááááá áá*E 1E21F4
-
- áááááááááááááááááááá áááááááááIµá ß 1╢ bi⌠ argumen⌠á i≤á expecteΣ ì
- ááááááááááááááááááááááááááááááZ8Eá woulΣá ignorσá thσá firs⌠á tw∩ ì
- áááááááááááááááááááááááááááááádigit≤á (▒ anΣ E⌐ anΣ woulΣ examinσ ì
- ááááááááááááááááááááááááááááááthσá content≤á oµá memor∙á locatioε ì
- áááááááááááááááááááááááááááááá21F4.
-
-
- ááááááááááááááááááááIµá n∩ symbo∞ tablσ i≤ presen⌠ iε memor∙ theε ì
- ááááááááááááááááááááhexadecima∞ number≤ (╕ o≥ 1╢ bit≤ iεá length⌐ ì
- ááááááááááááááááááááma∙ begiε witΦ an∙ digi⌠ ░ - F«á However¼ iµ ì
- ááááááááááááááááááááßá symbo∞ tablσ i≤ iε memor∙ theε al∞ hexade-ì
- áááááááááááááááááááácima∞ number≤ whicΦ begiε witΦ ß digi⌠ iε thσ ì
- áááááááááááááááááááárangσá ┴á - ╞ arσ evaluateΣ firs⌠á a≤á symbo∞ ì
- áááááááááááááááááááánames«á Iµ n∩ correspondinτ namσ i≤ founΣ iε ì
- ááááááááááááááááááááthσ symbo∞ tablσ theε Z8┼ attempt≤ t∩ reeval-ì
- ááááááááááááááááááááuatσ thσ namσ a≤ ß hexadecima∞á number«á Fo≥ ì
- ááááááááááááááááááááexample¼á thσá tokeεá DEA─ i≤ ß valiΣá symbo∞ ì
- ááááááááááááááááááááname≤ a≤ wel∞ a≤ ß valiΣ hexadecima∞á number« ì
- ááááááááááááááááááááIµá ß symbo∞ tablσ i≤ presen⌠ theε Z8┼á firs⌠ ì
- áááááááááááááááááááásearche≤á thσá symbo∞ tablσ lookinτá fo≥á thσ ì
- áááááááááááááááááááástrinτá DEAD.á Iµá n∩ matcΦ occur≤ theεá Z8┼ ìè
-
- 24
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- áááááááááááááááááááátreat≤ DEA─ a≤ thσ hexadecima∞ numbe≥á 0DEAD« ì
- ááááááááááááááááááááT∩á forcσá Z8┼ t∩ evaluatσ aε argumen⌠á a≤á ß ì
- ááááááááááááááááááááhexadecima∞ numbe≥ prefi° thσ argumen⌠ witΦ ß ì
- ááááááááááááááááááááleadinτ zer∩ a≤ iε 0DEAD«
-
-
- REGISTER: ValiΣ Z8░ 1╢ bi⌠ registe≥ name≤ arσá permit-ì
- ááááááááááááááááááááteΣá a≤ arguments«á Iµ ß 1╢ bi⌠ registe≥ namσ ì
- áááááááááááááááááááái≤á entered¼áá Z8Eá use≤á thσá 1╢á bi⌠á valuσ ì
- áááááááááááááááááááácurrentl∙ containeΣ iε thσ specifieΣ registe≥ ì
- áááááááááááááááááááápai≥á iε thσ user'≤ registe≥ se⌠ a≤ aεá argu-ì
- ááááááááááááááááááááment«
-
- áááááááááááááááááááá *D HL 8
-
- ááááááááááááááááááááááááááááááinstruct≤á Z8┼á t∩ dum≡á thσá firs⌠ ì
- ááááááááááááááááááááááááááááááeigh⌠á oµá memor∙ byte≤á whicΦá arσ ì
- áááááááááááááááááááááááááááááálocateΣ a⌠ thσ addres≤ containeΣ iε ì
- ááááááááááááááááááááááááááááááthσ user'≤ H╠ registe≥ pair
-
-
- Valid 16 bit register names:
-
- AF - Accumulator and Flag
- BC - BC register pair
- DE - DE register pair
- HL - HL register pair
- SP - Stack Pointer
- P - Program Counter
- PC - Program Counter
- IX - IX index register
- IY - IY index register
-
- ááááááááááááááááááááNotσá tha⌠ thσ prograφ counte≥ ma∙ bσá speci-ì
- ááááááááááááááááááááfieΣ iε eithe≥ oµ tw∩ ways«á Thσ singlσ cha-ì
- ááááááááááááááááááááracte≥ "Pó caε bσ useΣ t∩ specif∙ thσ prograφ ì
- áááááááááááááááááááácounte≥á provideΣá i⌠ doe≤ no⌠ appea≥á iεá aε ì
- ááááááááááááááááááááexpression«á T∩ includσ thσ curren⌠ valuσ oµ ì
- ááááááááááááááááááááthσá user'≤ prograφ counte≥ iε aεá expressioε ì
- ááááááááááááááááááááthσ mnemoniπ "PCó mus⌠ bσ used.
-
- ááááááááááááááááááááIµ aε expressioε useΣ a≤ aε argumen⌠ contain≤ ì
- ááááááááááááááááááááßá registe≥á pai≥ a≤ onσ oµá it≤á terms¼á thσ ì
- ááááááááááááááááááááregiste≥ pai≥ mus⌠ bσ thσ firs⌠ term«á Also¼ ì
- ááááááááááááááááááááonl∙á onσ registe≥ pai≥ ma∙ bσ includeΣ iε aε ì
- ááááááááááááááááááááexpression:
-
-
- áááááááááááááááááááá HL+4 valid expression
-
- áááááááááááááááááááá 5+DE invaliΣ expressioε - registe≥ ì
- ááááááááááááááááááááááááááááááááááápai≥ i≤ no⌠ thσ firs⌠ term
- áááááááááááááááááááááááá
- ááááááááááááááááááááááááHL+BC áááááinvaliΣáá expressioεá - morσ ì
- áááááááááááááááááááááááááááááááááááthaεá onσá registe≥ pai≥á wa≤ ìè
-
- 25
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- áááááááááááááááááááááááááááááááááááspecified
-
- áááááááááááááááááááááááááP-3ááááá invaliΣáá expressioεáá - "PCó ì
- ááááááááááááááááááááááááááááááááááámus⌠á bσ useΣ t∩ includσá thσ ì
- ááááááááááááááááááááááááááááááááááácurren⌠á valuσ oµ thσ prograφ ì
- ááááááááááááááááááááááááááááááááááácounter in an expression
- ááááááááááááááááááááááááááááááááááá
-
- ááááááááááááááááááááT∩áá differentiatσá betweeεá thσá hexadecima∞ ì
- áááááááááááááááááááánumber≤ AF¼á BC¼á anΣ D┼ anΣ thσ Z8░ registe≥ ì
- áááááááááááááááááááápair≤ oµ thσ samσ namσ bσ surσ t∩ prefi°á thσ ì
- áááááááááááááááááááánumerica∞ versioε witΦ ß leadinτ 0.
-
- ááááááááááááááááááááNotσá als∩ tha⌠ thσ Z8░ primσ registe≥á name≤ ì
- ááááááááááááááááááááarσá no⌠ alloweΣ a≤ argument≤ excep⌠ iε thσ ╥ ì
- áááááááááááááááááááácommand.
-
-
- áááááREGISTERá Z8┼ allow≤ thσ use≥ t∩ specif∙ thσ datßá con-ì
- INDIRECT: áááátaineΣ iε thσ memor∙ locatioε pointeΣ t∩ b∙ ß ì
- ááááááááááááááááááááregiste≥ pai≥ a≤ aε argument«á Fo≥ instance¼ ì
- ááááááááááááááááááááiµ thσ user'≤ H╠ registe≥ pai≥ containeΣ 18E┼ ì
- ááááááááááááááááááááanΣ thσ addresse≤ 18E┼ anΣ 18E╞ containeΣ thσ ì
- áááááááááááááááááááábyte≤á 4▓ anΣ 6▒ respectively¼á theε thσ com-ì
- áááááááááááááááááááámanΣ *┼ (HL⌐ woulΣ examinσ thσá content≤ ì
- ááááááááááááááááááááoµá memor∙ locatioε 6142«á Notσ tha⌠ registe≥ ì
- ááááááááááááááááááááindirec⌠á memor∙ reference≤ arσ indicateΣá b∙ ì
- ááááááááááááááááááááenclosinτá thσ registe≥ pai≥ namσá iεá PAREN-ì
- ááááááááááááááááááááTHESE╙ whicΦ follow≤ thσ ZILO╟ mnemoniπ meth-ì
- ááááááááááááááááááááoΣ oµ signifyinτ "thσ content≤ of".
-
- ááááááááááááááááááááThσá mos⌠ usefu∞ applicatioε oµ registe≥á in-ì
- áááááááááááááááááááádirec⌠á argument≤á i≤ t∩ se⌠á breakpoint≤á a⌠ ì
- áááááááááááááááááááásubroutinσá returε addresses«á Conside≥á thσ ì
- áááááááááááááááááááásituatioεá oµá ß prograφ whicΦá i≤á currentl∙ ì
- áááááááááááááááááááásuspendeΣá viß ß breakpoin⌠ somewherσ iεá thσ ì
- áááááááááááááááááááámiddlσá oµá ßá subroutine«á Thσ use≥á i≤á n∩ ì
- áááááááááááááááááááálonge≥á interesteΣ debugginτ thσ bod∙ oµá thσ ì
- áááááááááááááááááááásubroutine╗á hσ onl∙ care≤ abou⌠ gettinτ bacδ ì
- áááááááááááááááááááát∩ thσ instructioε tha⌠ follow≤ thσ CAL╠ tha⌠ ì
- áááááááááááááááááááágo⌠á hiφ int∩ thσ subroutine«á Registe≥á in-ì
- áááááááááááááááááááádirec⌠ forma⌠ allow≤ hiφ t∩ enter:
-
- áááááááááááááááááááá *B (SP)
-
- ááááááááááááááááááááThi≤á inform≤ Z8┼ t∩ se⌠ ß breakpoin⌠ a⌠á thσ ì
- ááááááááááááááááááááaddres≤á pointeΣá t∩á b∙á thσá stacδá pointe≥ ì
- ááááááááááááááááááááregister.
-
-
-
- áááá DECIMAL: Decima∞ number≤ iε thσ rangσ ░ - 6553╡ ma∙ bσ ì
- ááááááááááááááááááááentereΣ a≤ arguments«á Al∞ digit≤ oµ thσ num-ì
- áááááááááááááááááááábe≥á mus⌠á bσ iε thσ rangσá 0-9«á ┴á decima∞ ì
- áááááááááááááááááááánumbe≥á mus⌠ bσ followeΣ b∙ ß "#óá character¼ ìè
-
- 26
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- ááááááááááááááááááááotherwisσ Z8E wil∞ trea⌠ i⌠ a≤ ß he°á number« ì
- ááááááááááááááááááááThσá followinτ examplσ show≤ ß decima∞ numbe≥ ì
- áááááááááááááááááááábeinτ inpu⌠ a≤ par⌠ oµ thσ ┼ command:
-
- ááááááááááááááááá*E 512#
- áááááááááááááááááááá
- ááááááááááááááááááááááááááááááinstruct≤á Z8Eá t∩á examinσá memor∙ ì
- áááááááááááááááááááááááááááááálocatioεá 51▓ decima∞ (200 hex)
-
-
- LITERAL: á ASCI╔á literal≤ u≡ t∩ 7╕ byte≤ iε lengtΦá arσ ì
- áááááááááááááááááááápermitteΣ a≤ argument≤ (Z8E'≤ inpu⌠ buffe≥ i≤ ì
- áááááááááááááááááááá8░á character≤á lonτá les≤á thσá openinτá anΣ ì
- áááááááááááááááááááátrailinτá quotσ characters)«á ASCI╔ literal≤ ì
- áááááááááááááááááááámus⌠ bσ encloseΣ iε quotes«á Thσ quotσ char-ì
- ááááááááááááááááááááacte≥á itselµ i≤ thσ onl∙ characte≥ no⌠á per-ì
- áááááááááááááááááááámitteΣ a≤ ß literal«á Command≤ whicΦ d∩á no⌠ ì
- áááááááááááááááááááápermi⌠á thσ usσ oµ ARGUMENT-STRING≤ (seσá be-ì
- áááááááááááááááááááálow⌐á wil∞ stil∞ accep⌠ inpu⌠ iε thσ forφá oµ ì
- ááááááááááááááááááááquoteΣá strings«á Iεá sucΦ ß casσá Z8┼á wil∞ ì
- ááááááááááááááááááááignorσ al∞ bu⌠ thσ las⌠ tw∩ character≤ oµ thσ ì
- ááááááááááááááááááááquoteΣá literal¼á treatinτ thσ inpu⌠ a≤ ßá 1╢ ì
- áááááááááááááááááááábi⌠ number« Fo≥ examplσ iµ thσ use≥ entered:
-
- áááááááááááááááááááá áááááááááá *Z 'ABCD'
-
- ááááááááááááááááááááZ8┼ woulΣ begiε trea⌠ 'BCº a≤ ß 1╢ bi⌠ numbe≥ ì
- ááááááááááááááááááááand begin disassembling at address at 4243.
-
-
- ááARGUMENT-á áááááá Thσ ╞ (find)¼á ┼ (examinσ memory)¼á ╬á (quer∙ ì
- ááSTRINGS:ááááááááááI/╧á port≤ withou⌠ pre-read)¼á ╤ (quer∙ I/╧ ì
- ááááááááááááááááááááports)¼á anΣá ┘ (fil∞ memory⌐ command≤ permi⌠ ì
- ááááááááááááááááááááthσ usσ oµ ARGUMENT-STRINGS¼ whicΦ arσ simpl∙ ì
- áááááááááááááááááááácombination≤á oµá al∞á valiΣá argumen⌠á type≤ ì
- ááááááááááááááááááááseparateΣ b∙ commas« ARGUMENT-STRING≤ ma∙ bσ ì
- ááááááááááááááááááááan∙á lengtΦá u≡ t∩ thσ limi⌠ oµá Z8E'≤á inpu⌠ ì
- áááááááááááááááááááábuffe≥á whicΦ i≤ 8░á byte≤á long«á ARGUMENT-ì
- ááááááááááááááááááááSTRING≤á ma∙á bσ terminateΣ b∙ eithe≥ ßá car-ì
- ááááááááááááááááááááriagσ returε o≥ thσ firs⌠ spacσ characte≥ no⌠ ì
- ááááááááááááááááááááappearinτá iε betweeε quotσ characters«á Thσ ì
- ááááááááááááááááááááfollowinτáá i≤á aεá examplσá oµá ßá 1╡áá bytσ ì
- ááááááááááááááááááááARGUMENT-STRING╙á strinτ whicΦ combine≤á SYM-ì
- ááááááááááááááááááááBOLS¼ LITERALS¼ HEX¼ anΣ DECIMA╠ numbers:
-
- áááááááááááááááááááá SYMBOL,'xyZ',4F,12E4,9,21#,511#,'ABc'
-
- ááááááááááááááááááááAssuminτá tha⌠ SYMBO╠ i≤ equa∞ t∩á 177╚á theε ì
- ááááááááááááááááááááthe above ARGUMENT-STRING would evaluate to:
- áááááááááááááááááááá
- áááááááááááááááááááá01 77 78 79 5A 4F 12 E4 09 15 01 FF 41 42 63
-
- Again¼á ARGUMENT-STRING╙á arσá terminateΣá b∙ ì
- ááááááááááááááááááááeithe≥á ßá carriagσ returε o≥á b∙á thσá firs⌠ ì
- ááááááááááááááááááááspacσá characte≥á tha⌠ doe≤ no⌠ appea≥á iεá ß ìè
-
- 27
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- ááááááááááááááááááááquoteΣ litera∞ string.
-
- Z8E permit≤ expression≤ usinτ thσ ½ anΣ - operators«á An∙ argu-ì
- men⌠ typσ ma∙ bσ combineΣ witΦ an∙ othe≥ type«á Thσ lengtΦ oµ aε ì
- expressioεá i≤á limiteΣá onl∙ b∙ thσ sizσ oµá thσá inpu⌠á buffer« ì
- Expression≤á arσá evaluateΣá froφ left to right anΣá thσá usσá oµ ì
- parenthese≤ i≤ no⌠ permitted«
-
- Z8Eá indicate≤ argumen⌠ error≤ b∙ printinτ ß questioε marδ.
-
- Arguments ma∙á bσá line-editeΣ usinτ thσá standarΣá CP/═á contro∞ ì
- characters:
-
- backspace: erase the last character typed
- control X: erase the entire line
- control C: return to CP/M via warm boot
-
- Al∞ inpu⌠ i≤ truncateΣ t∩ thσ sizσ oµ Z8E'≤ inpu⌠ buffe≥ whicΦ i≤ ì
- 8░ character≤ long«
-
- Al∞ alphabetiπ inpu⌠ t∩ Z8┼ ma∙ bσ iε uppercasσ o≥ lowercase« Al∞ ì
- outpu⌠ b∙ Z8┼ follow≤ thσ dictate≤ oµ thσ CAS┼ bytσ a≤ patcheΣ b∙ ì
- thσ use≥ (seσ INSTALLATION).
-
- Iεá thi≤á manua∞ thσ appearancσ oµ squarσ bracket≤ █ ▌ arounΣá aε ì
- argumen⌠ alway≤ indicate≤ tha⌠ thσ argumen⌠ i≤ optional.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 28
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
-
-
-
-
- This Page Intentionally Left Blank.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 29
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
-
- VI. BREAKPOINTS
-
- Breakpoint≤á arσá thosσ addresse≤ iε thσ prograφá unde≥á tes⌠á a⌠ ì
- whicΦá thσ use≥ wishe≤ t∩ suspenΣ executioε anΣ returε contro∞ t∩ ì
- Z8E«á Thσá use≥ ma∙ set¼á clear¼á anΣ displa∙ breakpoint≤ a⌠á an∙ ì
- time¼á viß thσ appropriatσ commanΣ iε responsσ t∩ Z8E'≤á asterisδ ì
- prompt«á Z8E'≤á implementatioε oµ breakpoint≤ doe≤ no⌠ forcσ thσ ì
- use≥ t∩ tediousl∙ ente≥ breakpoin⌠ addresse≤ ever∙ timσ executioε ì
- i≤ resumed«á Rather¼á thσ use≥ ma∙ ente≥ u≡ t∩ 1╢ breakpoin⌠á ad-ì
- dresse≤ anΣ eacΦ breakpoint¼á oncσ set¼ i≤ storeΣ iε onσ oµ Z8E'≤ ì
- interna∞ table≤ anΣ remain≤ iε effec⌠ unti∞ explicitl∙ cleareΣ b∙ ì
- thσ use≥ viß thσ Clea≥ breakpoin⌠ commanΣ (seσ ├ command).
-
- Z8┼ als∩ allow≤ yo⌡ t∩ specif∙ ß pas≤ coun⌠ t∩ bσ associateΣ witΦ ì
- an∙ breakpoin⌠ tha⌠ i≤ set«á Pas≤ count≤ indicatσ thσ numbe≥á oµ ì
- time≤á ß particula≥ instructioε mus⌠ bσ executeΣ beforσ Z8┼á wil∞ ì
- regain control.
-
- Furthermore¼á Z8Eá doe≤ no⌠ modif∙ an∙ codσ iε thσá use≥á prograφ ì
- unti∞á ß G╧ commanΣ i≤ issueΣ (seσ ╟ command)«á Thi≤ permit≤á thσ ì
- use≥ t∩ examinσ code¼á anΣ makσ patche≤ iµ desired¼á a⌠ an∙ poin⌠ ì
- iε thσ debuτ session.
-
- Wheεá ß breakpoin⌠ i≤ reacheΣ iε thσ use≥ prograφ anΣ Z8E regain≤ ì
- control¼á thσ message║á *BP*XXX╪ i≤ displayeΣ wherσ XXX╪ ì
- represent≤ thσ hexadecima∞ addres≤ oµ thσ breakpoint«á Iεá addi-ì
- tion¼á Z8Eá wil∞ displa∙ thσ symboliπ namσ oµ thi≤ addres≤ iµ onσ ì
- exist≤á iε thσ symbo∞ table«á Z8E follow≤ thi≤ witΦ ß displa∙á oµ ì
- thσá asterisδá promp⌠ indicatinτ i⌠ i≤ read∙á read∙á fo≥á commanΣ ì
- processing.
-
- Thσá message║á *ERROR*BP*XXX╪ i≤ displayeΣ oε thσ consolσ ì
- wheneve≥ Z8┼ determine≤ tha⌠ contro∞ ha≤ beeε regaineΣ withou⌠á ß ì
- valiΣá breakpoin⌠ havinτ beeε reached«á Thi≤ i≤ generall∙ causeΣ ì
- b∙ ß use≥ prograφ whicΦ ha≤ gonσ ofµ thσ dee≡ end«á Iµ thσá use≥ ì
- examine≤á thσá curren⌠ content≤ oµ thσ register≤ (viß thσ ╪á com-ì
- mand⌐ thσ curren⌠ prograφ counte≥ wil∞ mos⌠ assuredl∙ contaiεá aε ì
- addres≤á whicΦá haΣá no⌠á previousl∙ beeε se⌠á a≤á ßá breakpoint« ì
- Thing≤ t∩ looδ fo≥ wheε thi≤ situatioε arise≤ include║ ß prograφ ì
- tha⌠ ble≈ it≤ stack¼ ß prograφ tha⌠ performeΣ ß ▓ 1/▓ gaine≥ witΦ ì
- ß ful∞ twis⌠ indirec⌠ througΦ ß register╗á ie«á J╨ (HL⌐ int∩á thσ ì
- grea⌠á unknown¼á anΣá attemptinτ t∩ tracσ wherσ wisσ meε fea≥á t∩ ì
- treaΣ (BIO╙ anΣ BDO╙ I/╧ routines).
-
- Z8┼á wil∞á allo≈ yo⌡ t∩ singlσ ste≡ (trace⌐ anΣá se⌠á breakpoint≤ ì
- anywherσ iε memory«á However¼á bea≥ iε minΣ tha⌠ a≤ yo⌡ ente≥ thσ ì
- BIO╙á anΣ BDO╙ netherworlΣ you≥ stacδ pointe≥ wil∞ a⌠ somσá poin⌠ ì
- bσá saveΣá directl∙ iε memor∙ a≤ CP/═ switche≤ t∩ it≤á owεá stacδ ì
- (you≥á stacδá pointe≥ i≤ no⌠ saveΣ oε ß stacδá b∙á CP/M)«á Iµá ß ì
- breakpoin⌠ ha≤ beeε se⌠ a⌠ aε instructioε somewherσ iε BDO╙ o≥ iε ì
- thσá BIO╙ (afte≥ thi≤ savσ oµ you≥ stacδ pointe≥ ha≤ occured⌐ anΣ ì
- thi≤ breakpoin⌠ i≤ reached¼á Z8┼ wil∞ itselµ cal∞ ß BDO╙á routinσ ì
- iε aε attemp⌠ t∩ displa∙ thσ *BP*XXX╪ messagσ oε thσ console«á A⌠ ì
- thi≤á poin⌠ CP/═ wil∞ savσ Z8E'≤ stacδ pointe≥ anΣ overla∙ your≤ ìè
-
- 30
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- iε memory«á Wheε BDO╙ eventuall∙ restore≤ thσ stacδ pointe≥á anΣ ì
- execute≤á ßá RE╘ instructioε yo⌡ wil∞ no⌠ returε t∩ you≥á prograφ ì
- anΣá you≥á stacδ pointe≥ wil∞ bσ gone«á Thesσá routine≤á caεá bσ ì
- traced¼ albei⌠ witΦ difficulty¼ bu⌠ yo⌡ mus⌠ kee≡ aε eyσ oε wha⌠ ì
- CP/═ i≤ doinτ witΦ thσ stacδ pointer.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 31
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
-
-
-
-
- This Page Intentionally Left Blank.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 32
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- A Assemble
- _________________________________________________________________
-
-
- Thσá ┴ commanΣ permit≤ thσ use≥ t∩ effec⌠ inlinσ assembl∙ oµá Z8░ ì
- assemble≥ sourcσ code¼á includinτ label≤ anΣ symbols¼á usinτá thσ ì
- ful∞á Z8░á instructioε set«á Iε addition¼á thσ assemble≥á accept≤ ì
- standarΣá Ziloτ mnemonic≤ (APPENDIX B)¼á expression≤ usinτ thσá ½ ì
- anΣ - operators¼á a≤ wel∞ a≤ thσ followinτ fivσ assemble≥á direc-ì
- tives║á ORG¼ DEFB¼ DDB¼ EQU¼ anΣ DEFW« Thσ forma⌠ oµ thσ commanΣ ì
- is:
-
- *A ARG1 <cr>
-
- wherσá ARG1á represent≤ thσ startinτ addres≤á a⌠á whicΦ ì
- ááááááááááassembly will take place
-
- ááááááááááARG1 may be of any type
-
-
- Z8Eá initiall∙á prompt≤á thσá use≥á b∙á firs⌠á disassemblinτá anΣ ì
- displayinτ thσ instructioε currentl∙ locateΣ a⌠ thσ addres≤á spe-ì
- cifieΣ b∙ ARG1« Thi≤ i≤ donσ a≤ ß conveniencσ t∩ permi⌠ thσ use≥ ì
- t∩á ensurσ tha⌠ an∙ patche≤ wil∞ bσ assembleΣ int∩ memor∙ a⌠á thσ ì
- intendeΣ location« Z8E theε output≤ ß carriagσ return/linσ feed¼ ì
- display≤á thσ addres≤ specifieΣ a≤ ARG1¼á anΣ await≤á input«á Z8E ì
- wil∞á no⌠ disassemblσ beforσ ever∙ linσ oµ sourcσ codσ entereΣ b∙ ì
- thσ user¼ onl∙ beforσ thσ firs⌠ one«
-
-
- Z8E expect≤ assembler input in the following format:
-
-
- LABEL: opcode [operand1] [,operand2]
-
-
- Thσ labe∞ fielΣ i≤ alway≤ optional¼ thσ opcodσ fielΣ i≤ mandator∙ ì
- onl∙á iµá n∩á labe∞á wa≤ entered¼á anΣá thσá operanΣá fielΣá mus⌠ ì
- naturall∙á bσá includeΣ fo≥ thosσ Z8░ instruction≤ whicΦá requirσ ì
- one« Thσ threσ field≤ ma∙ bσ separateΣ froφ onσ anothe≥ b∙ space≤ ì
- o≥ taΓ characters.
-
- Z8┼á doe≤ no⌠ automaticall∙ reservσ spacσ withiε itselµ fo≥á use≥ ì
- supplieΣ symbo∞ names« Use≥ supplieΣ symbols¼ a≤ opposeΣ t∩ thosσ ì
- loadeΣá froφ files¼á arσ entereΣ froφ thσ keyboarΣ iεá thσá labe∞ ì
- fielΣá usinτ thσ (A)ssemblσ command«á Symbo∞ tablσ spacσ t∩á holΣ ì
- use≥á supplieΣá symbo∞ name≤ mus⌠ bσ explicitl∙ requesteΣ oεá thσ ì
- CP/═ commanΣ linσ a≤ explaineΣ iε thσ sectioε "INVOKIN╟ Z8┼ a⌠ oε ì
- thσ CP/═ COMMAN─ LEVEL"«á Thesσ use≥ supplieΣ symbols¼á oncσá en-ì
- tered¼á ma∙á bσ referenceΣ iε thσ operanΣ fielΣ oµ an∙ subsequen⌠ ì
- assembl∙á statemen⌠ o≥ iε thσ argumen⌠ fielΣ oµ an∙ Z8┼á command« ì
- Thesσá symbol≤á comσ iε hand∙ wheε disassemblinτ .CO═á file≤á fo≥ ì
- whicΦ n∩ sourcσ listinτ exist≤ anΣ als∩ wheε patchinτ code.
-
- Thσá assemble≥ i≤ ß onσ pas≤ assemble≥ anΣ forwarΣ reference≤á t∩ ìè
-
- 33
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- symbol≤á whicΦá d∩á no⌠ alread∙ appea≥ iε thσá symbo∞á tablσá arσ ì
- flaggeΣá a≤á errors«á However¼á Z8┼ allow≤ thσ usσ oµá thσá OR╟ ì
- directivσá (seσ discussioε below⌐ whicΦ allow≤ thσ use≥ t∩á mani-ì
- pulatσ thσ assembler'≤ locatioε counter¼á whicΦ help≤ t∩ minimizσ ì
- thσ n∩ forwarΣ referencσ limitation.
-
- Label≤á ma∙ begiε iε an∙ column¼á bu⌠ al∞ label≤ mus⌠ bσ followeΣ ì
- b∙ ß coloε eveε thosσ appearinτ iε aε EQ╒ statement«á Label≤ ma∙ ì
- bσ oµ an∙ lengtΦ bu⌠ onl∙ thσ firs⌠ ╢ character≤ arσ significant« ì
- Z8┼á alway≤ assign≤ thσ 1╢ bi⌠ valuσ oµ thσá assembler'≤á curren⌠ ì
- locatioε counte≥ t∩ thσ labe∞ beinτ entered¼ unles≤ thσ statemen⌠ ì
- i≤á aε EQ╒ directive«á Label≤ neeΣ no⌠ bσ followeΣ b∙ aεá opcodσ ì
- anΣ thi≤ (a≤ wel∞ a≤ thσ EQ╒ directive⌐ provide≤ ß convenien⌠ wa∙ ì
- t∩á assigε ß valuσ t∩ ß symbo∞ name«á Merel∙ se⌠ thσá assembler≤ ì
- locatioε counte≥ (viß thσ OR╟ directivσ o≥ a≤ ARG1 iε thσ commanΣ ì
- line⌐ t∩ thσ valuσ yo⌡ wisΦ t∩ assign¼á theε typσ thσ symbo∞ namσ ì
- followeΣ b∙ ß carriagσ return« N∩ objec⌠ codσ i≤ produceΣ anΣ n∩ ì
- use≥á memor∙ area≤ arσ modifieΣ bu⌠ thσ symbo∞ anΣ it≤ associateΣ ì
- valuσá arσá entereΣ int∩ thσ use≥ symbo∞ table«á Z8┼á doe≤á no⌠ ì
- trea⌠á duplicatσ symbo∞ name≤ a≤ errors«á Rather¼á iµá thσá use≥ ì
- enter≤á ß symbo∞ namσ whicΦ alread∙ appear≤ iε thσ symbo∞á table¼ ì
- thσá valuσ associateΣ witΦ thσ ne≈ symbo∞ replace≤ thσ onσá asso-ì
- ciateΣ witΦ thσ old« Fo≥ example¼ iµ thσ symbo∞ ENTRY╨ exist≤ iε ì
- thσá symbo∞á tablσ anΣ i≤ associateΣ witΦ thσ valuσ 23D┴ anΣá thσ ì
- use≥ assemble≤ thσ followinτ instruction:
-
- 41FF 0E 04 ENTRYP: LD C,4
-
- Z8E would replace 23DA with 41FF.
-
- Assemble≥ statement≤ whicΦ d∩ no⌠ contaiε label≤ ma∙ begiε iε an∙ ì
- column¼á includinτá columε one«á Therσ i≤ N╧ neeΣ t∩á inser⌠á ß ì
- leadinτá spacσ o≥ taΓ beforσ aε opcodσ iµ thσ opcodσ i≤ no⌠á pre-ì
- cedeΣ b∙ ß label.
-
- Operand≤á appearinτ iε thσ operanΣ fielΣ oµ thσ instructioε t∩ bσ ì
- assembleΣá ma∙ bσ an∙ oµ thσ followinτ type≤ subjec⌠ onl∙ t∩á thσ ì
- provis∩ tha⌠ 1╢ bi⌠ value≤ canno⌠ appea≥ a≤ operanΣ fo≥ thosσ Z8░ ì
- instruction≤á whicΦ requirσ ╕ bi⌠ values«á Expression≤ combininτ ì
- an∙ oµ thσ followinτ fou≥ type≤ (witΦ thσ ½ anΣ - operators⌐á arσ ì
- als∩ permissable«
-
- SYMBOL (from symbol table)
- HEX
- LITERAL (two bytes maximum)
- DECIMAL
-
-
- Iεá additioεá thσá dolla≥ sigε ($⌐ ma∙ als∩ appea≥ iεá botΦá thσ ì
- operanΣá fielΣ oµ an∙ instructioε iε whicΦ ß 1╢ bi⌠á operanΣá i≤ ì
- allowed¼á anΣá als∩á iε thσ operanΣ fielΣ oµ an∙á relativσá jum≡ ì
- instruction«á Thσá dolla≥ sigε represent≤ thσ curren⌠ valuσá oµ ì
- thσ assembler'≤ locatioε counter¼ tha⌠ is¼ thσ addres≤ appearinτ ì
- oε thσ linσ a⌠ whicΦ thσ assembl∙ i≤ takinτ place.
-
- è
-
- 34
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- Thσá operanΣ fielΣ oµ ß relativσ jum≡ instructioε caε bσá entereΣ ì
- iεá eithe≥ oµ tw∩ ways«á Thσ use≥ ma∙ codσ thσ operanΣ usinτ thσ ì
- dolla≥ sigε mentioneΣ abovσ a≤ iε thσ followinτ examples:
-
-
- JR NZ,$+11 áá ;jump to address PC+11 (hex)
-
- DJNZ $-24# ;jump to address PC-24 (decimal)
-
- Thσ use≥ ma∙ alternativel∙ specif∙ ß 1╢ bi⌠ valuσ iε thσá operanΣ ì
- fielΣá oµá ß relativσ jum≡ instructioε anΣ le⌠ Z8E calculatσá thσ ì
- relativσá displacemen⌠á froφ thσ assembler'≤ prograφá counte≥á a≤ ì
- showε below:
-
- JRá C,LABEL Assuminτ LABE╠ exists¼ iε thσ symbo∞ ì
- ááááááááááááááááááááááááááááátablσ Z8┼ wil∞ calculatσ thσ offset« ì
- áááááááááááááááááááááááááááááLABE╠á mus⌠á bσ withiε +12╣ o≥á -12╢ ì
- ááááááááááááááááááááááááááááábyte≤ froφ thσ assembler'≤á locatioε ì
- ááááááááááááááááááááááááááááácounte≥á o≥á aε assembl∙ erro≥á wil∞ ì
- áááááááááááááááááááááááááááááresult.
-
- JRáá NZ,1080á Z8Eá calculate≤ thσ displacemen⌠ be- ì
- ááááááááááááááááááááááááááááátweeε thσ assembler'≤ curren⌠á loca-ì
- ááááááááááááááááááááááááááááátioεá counte≥á anΣ thσ addres≤á 108░ ì
- ááááááááááááááááááááááááááááá(hex).
-
-
-
- Z8E indicate≤ error-freσ inpu⌠ b∙ firs⌠ displayinτ thσ resultan⌠ ì
- objec⌠á codσá anΣá theε displayinτ (oε thσ nex⌠á line⌐á thσá nex⌠ ì
- addres≤ a⌠ whicΦ assembl∙ wil∞ takσ place«
-
- Assembl∙ error≤ arσ alway≤ indicateΣ b∙ ß doublσ pai≥ oµ questioε ì
- mark≤ whicΦ appea≥ followinτ thσ locatioε counter« Aε erro≥ flaτ ì
- i≤ als∩ printeΣ anΣ wil∞ bσ onσ oµ thσ following:
-
- ERROR FLAG MEANING
-
- Láá Label starts with numeric character
- áááááááááááááááááááááááááááááá
- O InvaliΣ opcode
-
- SáááááááááSyntax error
-
- T Symbol table full
-
- ╒áá Instructioεáreference≤ an undefined
- symbol name
-
- ╓á Valuσ error - a 1╢ bi⌠á valuσ ì
- wa≤ specifieΣ a≤ aε operanΣ fo≥ ì
- aεá instructioεá whicΦá permit≤ ì
- onl∙ ╕ bi⌠ numbers«
-
- Iµá aεá erro≥ occurs¼á Z8E wil∞ repromp⌠ thσ use≥ witΦá thσá samσ ìè
-
- 35
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- location counter address.
-
- A≤ wa≤ mentioneΣ previousl∙ thσ Z8E assmeble≥ use≤ standarΣ Ziloτ ì
- mnemonics«á Thσá onσ exceptioε t∩ thi≤ i≤ thσ E╪ AF,AFº instruc-ì
- tion«á T∩ assemblσ thi≤ instructioε thσ trailinτ quotσ characte≥ ì
- mus⌠ bσ omitted.
-
- Z8┼á support≤ thσ OR╟ directivσ whicΦ allow≤ thσ use≥á t∩á changσ ì
- thσ valuσ oµ thσ assembl∙ locatioε counter«á Thσ operanΣ fielΣ oµ ì
- thσá OR╟ directivσ ma∙ bσ ß 1╢ bi⌠ argumen⌠ oµ an∙á type«á Afte≥ ì
- settinτ thσ ne≈ assembl∙ locatioε counte≥ Z8┼ display≤ thσ disas-ì
- sembleΣ instructioε a⌠ thσ ne≈ address.
-
- Z8E support≤ thσ DEFB¼á DEFW¼á anΣ DD┬ directive≤ whicΦ givσá thσ ì
- use≥á thσ abilit∙ t∩ assemblσ datß constant≤ int∩á memory«á DEF┬ ì
- accept≤á aεá ╕á bi⌠ operand╗á thσ valuσ oµ whicΦ iεá placeΣá int∩ ì
- memor∙á a⌠ thσ addres≤ oµ thσ assembler'≤ curren⌠ locatioεá coun-ì
- ter« DEF╫ allow≤ thσ use≥ t∩ specif∙ ß 1╢ bi⌠ operanΣ value¼ thσ ì
- lo≈á orde≥ bytσ oµ whicΦ i≤ placeΣ int∩ memor∙ a⌠ thσ addres≤á oµ ì
- thσá assembler'≤ curren⌠ locatioε counter¼á whilσ thσ higΦá orde≥ ì
- bytσá oµ thσ operanΣ i≤ placeΣ int∩ memor∙ a⌠ thσ addres≤ oµá thσ ì
- assembler'≤ curren⌠ locatioε counte≥ plu≤ one«á Thi≤ i≤ iε accor-ì
- dancσ witΦ thσ 8080/Z8░ conventioε oµ storinτ thσ higΦ orde≥ bytσ ì
- oµá 1╢ bi⌠ datß towarΣ thσ higΦ enΣ oµ memory«á Thσá DD┬á (definσ ì
- doublσá byte⌐ directivσ allow≤ thσ use≥ t∩ specif∙ ß 1╢ bi⌠ valuσ ì
- which¼á iεá contras⌠ t∩ thσ DEF╫ directive¼á i≤ storeΣ iεá memor∙ ì
- witΦ thσ higΦ orde≥ bytσ towarΣ thσ lo≈ enΣ oµ memory«á Tha⌠ is¼ ì
- ß DD┬ directivσ instruct≤ Z8E t∩ storσ thσ mos⌠ significan⌠á bytσ ì
- oµá thσá 1╢á bi⌠ operanΣ valuσ iε memor∙ a⌠ thσá addres≤á oµá thσ ì
- assembler'≤á curren⌠ locatioε counter¼á anΣ thσ leas⌠ significan⌠ ì
- (lo≈á order⌐á bytσ i≤ placeΣ int∩ memor∙ a⌠ thσá addres≤á oµá thσ ì
- assembler'≤ curren⌠ locatioε counte≥ plu≤ one«
-
- Thσ EQ╒ directivσ allow≤ thσ use≥ t∩ assigε ß valuσ t∩ ßá symbol« ì
- Aε EQ╒ directivσ doe≤ no⌠ generatσ objec⌠ code« I⌠ merel∙ allow≤ ì
- thσá use≥á t∩á referencσ ß numeriπ valuσ b∙ ßá symboliπá namσá iε ì
- subsequen⌠ assembl∙ statement≤ o≥ monito≥ commands«á I⌠ i≤ espe-ì
- ciall∙á usefu∞á wheε useΣ prio≥ t∩ disassemblinτ (seσ ┌á command⌐ ì
- codσá fo≥ whicΦ n∩ symbo∞ tablσ exists«á Thσ EQ╒á directivσá re-ì
- quire≤á thσ use≥ t∩ suppl∙ ß symboliπ namσ iε thσ labe∞ fielΣá oµ ì
- thσ instruction«á Iµ Z8E indicate≤ error≤ iε aε EQ╒ statemen⌠ b∙ ì
- printinτ questioε marks« Iµ aε EQ╒ statemen⌠ i≤ correctl∙ assem-ì
- bleΣá b∙á Z8E¼á thσ addres≤ oµ thσ assembler'≤á curren⌠á locatioε ì
- counte≥á i≤á eraseΣá sincσ aε EQ╒ statemen⌠ generate≤á n∩á objec⌠ ì
- code« Operand≤ appearinτ iε EQ╒ statement≤ arσ evaluateΣ t∩ ß 1╢ ì
- bi⌠á value«á Z8E wil∞ displa∙ thσ valuσ oµ thi≤ 1╢ bi⌠ numbe≥á a≤ ì
- fou≥ he° digit≤ iε thσ objec⌠ codσ fielΣ oε thσ console.
-
-
-
-
-
-
-
-
-
-
- 36
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- B Set Breakpoint
- _________________________________________________________________
-
-
- Breakpoint≤á arσá thosσá addresse≤ a⌠ whicΦ thσá userá wishe≤á t∩ ì
- suspenΣ executioε oµ thσ prograφ unde≥ test«á Breakpoint≤ ma∙ bσ ì
- se⌠ a⌠ an∙ timσ iε responsσ t∩ Z8E'≤ asterisδ prompt« Z8E allow≤ ì
- thσá use≥ t∩ se⌠ u≡ t∩ 1╢ individua∞ breakpoint≤ iε hi≤á program« ì
- Z8┼ als∩ allow≤ thσ use≥ t∩ specif∙ ß pas≤ coun⌠ t∩ bσ associateΣ ì
- with any breakpoint.
- ì
- Thσ commanΣ i≤ invokeΣ a≤ follows:
-
-
- *B ARG1[,pass count] [ARG2... ARGn] <cr>
-
- wherσ eacΦ argumen⌠ represent≤ thσ addres≤ iε thσá use≥ ì
- ááááááááááprogram at which a breakpoint is to be set
-
- Normally¼á tha⌠ i≤ wheε n∩ pas≤ coun⌠ i≤ specifed¼á executioεá oµ ì
- thσá use≥á prograφ stop≤ anΣ contro∞ return≤ t∩ thσá Z8┼á commanΣ ì
- leve∞ a≤ sooε a≤ ß breakpoin⌠ i≤ reached« Pas≤ count≤ arσ useΣ t∩ ì
- inforφá Z8┼á tha⌠ executioε oµ thσ use≥ prograφ shoulΣ hal⌠á onl∙ ì
- wheεá thσá specifieΣ breakpoin⌠ i≤ reacheΣ thσá numbe≥á oµá time≤ ì
- time≤ indicateΣ b∙ thσ pas≤ count«
-
- Pas≤á count≤á arσ specifieΣ b∙ followinτ thσá breakpoin⌠á addres≤ ì
- witΦ ß commß anΣ theε enterinτ ß pas≤ coun⌠ immediatel∙ followinτ ì
- thσ comma.
-
- Aε existinτ pas≤ coun⌠ ma∙ bσ changeΣ t∩ ß differen⌠ valuσ b∙ re-ì
- enterinτ thσ samσ breakpoin⌠ address¼á followinτ i⌠ witΦ ß comma¼ ì
- and then specifying the new pass count.
-
- T∩ breaδ oε ß multi-bytσ Z8░ instructioε thσ addres≤ specifieΣ a≤ ì
- thσá breakpoin⌠á addres≤ mus⌠ bσ tha⌠ oµ thσ firs⌠á bytσá oµá thσ ì
- instruction«á User≤ wh∩ fai∞ t∩ observσ thi≤ rulσ wil∞ generall∙ ì
- finΣ thei≥ program≤ hoppinτ thσ nex⌠ bu≤ t∩ never-neve≥ land«á Iµ ì
- ß patcΦ i≤ madσ a⌠ aε addres≤ oµ ß breakpoin⌠ currentl∙ iε effec⌠ ì
- bσá surσá thσ breakpoin⌠ addres≤ i≤ stil∞ pointinτ a⌠á thσá firs⌠ ì
- bytσá oµá thσ ne≈ instruction«á
-
- Multiplσ breakpoint≤ ma∙ bσ se⌠ witΦ thσ samσ ┬ commanΣ b∙á sepa-ì
- ratinτ eacΦ onσ witΦ ß singlσ space« Iµ multiplσ breakpoint≤ arσ ì
- specifieΣá anΣ Z8E detect≤ aε erroneou≤ argumen⌠ (ßá non-existen⌠ ì
- symbo∞á fo≥á example⌐ ß questioε marδ wil∞ bσá printed¼á anΣá thσ ì
- commanΣá terminates«á Al∞ valiΣ breakpoint≤ specifieΣ u≡ t∩á thσ ì
- invaliΣ onσ will be set«
-
- Z8Eá display≤á ßá questioε marδ wheε ß attemp⌠ i≤ madσ t∩á se⌠á ß ì
- seventeentΦ breakpoint.
-
-
-
-
-
-
- 37
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- C Clear Breakpoint
- _________________________________________________________________
-
-
- Thσ ├ commanΣ clear≤ individua∞ breakpoint≤ previousl∙ se⌠ b∙ ß ┬ ì
- command« Thσ forma⌠ oµ thσ commanΣ is:
-
-
- *C ARG1 [ARG2...ARGn] <cr>
-
- wherσ eacΦ arτ ma∙ bσ an∙ valiΣ argumen⌠ typσ ì
- áááááááááááááááwhicΦá evaluate≤ t∩ aε addres≤ previousl∙ se⌠ ì
- áááááááááááááááas a breakpoint
-
-
- Multiplσá breakpoint≤á ma∙á bσ cleareΣ b∙ thσ samσ ├á commanΣá b∙ ì
- separating each argument with a single space.
-
- Z8Eá display≤ ß questioε marδ wheε aε attemp⌠ i≤ madσ t∩ clea≥á ß ì
- non-existent breakpoint.
-
- T∩á clea≥á AL╠á breakpoint≤ enter║á *├ ¬á wherσá thσá asterisδ ì
- indicates ALL.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 38
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- D Dump
- _________________________________________________________________
-
-
- Thσ ─ commanΣ allow≤ thσ use≥ t∩ dum≡ memor∙ iε botΦ hexadecima∞ ì
- anΣ ASCI╔ t∩ thσ consolσ iε use≥ specifieΣ blocδ size≤.
- ì
- The forma⌠ oµ thσ commanΣ is:
-
- *D [ARG1] [ARG2] <cr>
-
- where ARG1 = the starting address to dump
-
- ARG2 = ádictate≤ááá thσááá dum≡ááá forma⌠ ì
- áááááááááááááááááááááááááááááááádependinτ oε it≤ value«á Iµ ARG2 ì
- áááááááááááááááááááááááááááááááái≤á iε thσ rangσ ░ - 25╡ theεá i⌠ ì
- áááááááááááááááááááááááááááááááái≤á treateΣá a≤ ß blocδ sizσá anΣ ì
- áááááááááááááááááááááááááááááááárepresent≤ thσ numbe≥ oµ byte≤ t∩ ì
- áááááááááááááááááááááááááááááááábσá displayeΣá (░ i≤á treateΣá a≤ ì
- áááááááááááááááááááááááááááááááá256)« Iµ ARG2 i≤ greate≥ thaε 25╡ ì
- áááááááááááááááááááááááááááááááátheε ARG2 i≤ treateΣ a≤ aε endinτ ì
- ááááááááááááááááááááááááááááááááaddres≤ anΣ memor∙ wil∞ bσ dumpeΣ ì
- áááááááááááááááááááááááááááááááánon-interactively to the console.
-
- ááááááááááááá ARG1 and ARG2 may be of any argument type.
-
- Iµá ARG1á i≤ omitteΣ theε thσ dum≡ resume≤ froφ thσá las⌠á memory ì
- addres≤á +▒á a≤ displayeΣ viß thσ previou≤ invocatioεá oµá thσá ─ ì
- command«á Iµá n∩ previou≤ ─ commanΣ haΣ beeε giveε theε memor∙ i≤ ì
- dumped starting at address 100H.
-
- Iµá ARG▓ i≤ omitteΣ theε thσ mos⌠ recen⌠ valuσ oµ ARG▓ (froφá thσ ì
- las⌠ ─ command⌐ i≤ used.
-
- Thσá dum≡ commanΣ display≤ thσ content≤ oµ memor∙ iεá hexadecima∞ ì
- oεá thσá lef⌠ sidσ oµ thσ consolσ whilσ thσ ASCI╔á equivalen⌠á oµ ì
- eacΦ bytσ i≤ showε oε thσ righ⌠ side«
-
- Durinτá ßá blocδ b∙ blocδ dum≡ (ARG▓ ╝ 25╢ signifie≤ ßá blocδá b∙ ì
- blocδá dump⌐á Z8┼ wait≤ fo≥ use≥ inpu⌠ afte≥ eacΦ blocδá i≤á dis-ì
- played«á ┴á carriagσ returε entereΣ b∙ thσ use≥ cause≤ thσá nex⌠ ì
- sequentia∞á blocδ t∩ bσ dumpeΣ whilσ an∙ othe≥á characte≥á cause≤ ì
- thσ commanΣ t∩ terminate.
-
- Fo≥á non-interactivσ dumps¼á startinτ addres≤ t∩ endinτá address¼ ì
- pressinτ an∙ ke∙ terminate≤ thσ dump.
-
- Thσá dum≡á commanΣ provide≤ aε especiall∙ eas∙ wa∙á oµá examininτ ì
- tabula≥ data¼á fo≥ examplσ iε scanninτ thσ disδ paramete≥ header≤ ì
- iε you≥ BIOS«á Tha⌠ is¼á b∙ specifyinτ thσ basσ addres≤ a≤á ARG1 ì
- anΣá thσá tablσá sizσ a≤ ARG2 thσ use≥ caε walδá througΦá memory¼ ì
- tablσ b∙ table.
-
-
-
-
-
- 39
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- E Examine Memory
- _________________________________________________________________
-
-
- Thσá ┼á commanΣ allow≤ thσ use≥ t∩ examinσ anΣ optionall∙á modif∙ ì
- the contents of memory. The format of the command is:
-
- *E ARG1 <cr>
-
- wherσá ARG1 i≤ thσ addres≤ oµ thσ firs⌠ bytσá t∩ ì
- áááááááááááááááexamine
-
- ARG1 ma∙ bσ an∙ symbo∞ type ì
-
- Upoεá receip⌠ oµ ARG1 Z8┼ wil∞ reaΣ thσ content≤ oµ thσ specifieΣ ì
- memor∙á addres≤ anΣ displa∙ thσ bytσ iε botΦ he° anΣá ASCII«á A⌠ ì
- thi≤á poin⌠ thσ use≥ ha≤ tw∩ options«á Thσ use≥ ma∙ specif∙á re-ì
- placemen⌠á datßá t∩ bσ writteε t∩ memor∙ startinτ a⌠ thσá curren⌠ ì
- address¼á o≥á hσá ma∙á choosσ t∩ continuσá t∩á passivel∙á examinσ ì
- memory«á Thσ choicσ i≤ determineΣ b∙ thσ character(s⌐ whicΦá arσ ì
- inpu⌠ afte≥ thσ content≤ oµ aε addres≤ arσ displayed«
-
- Iµá thσá use≥á wishe≤ t∩ modif∙ memor∙ startinτá a⌠á thσá curren⌠ ì
- memor∙ address¼á theε aε ARGUMENT-STRING ma∙ bσ entereΣ followinτ ì
- thσá displayeΣá byte«á Z8┼ wil∞ evaluatσ thσ entirσá strinτá anΣ ì
- writσá thσá evaluateΣ equivalen⌠ oµ thσ strinτá int∩á consecutivσ ì
- memor∙á location≤ startinτ witΦ thσ curren⌠ memor∙á address«á Fo≥ ì
- examplσ thσ use≥ coulΣ ente≥ thσ followinτ ARGUMENT-STRING║
-
- *E 45F9
- 45F9 42 B 'This is a string',0D,0A,13,4F,9,'More Text',05
- ^ ^
-
- Thσ use≥ inpu⌠ apprear≤ betweeε thσ arrow≤á anΣ ì
- ááááááááááááááááááwould be evaluated to the following 31 bytes:
- áááááááááááááááááá
- áááááááááááááááááá54 68 69 73 20 49 73 20 61 20 73 74 72 69 6E 67
- áááááááááááááááááá0D 0A 13 4F 09 4D 6F 62 65 20 74 65 78 74 05
-
- ááááááááááááááááááThesσá 3▒á byte≤á woulΣ bσ storeΣá int∩á memory ì
- áááááááááááááááááálocation≤á 45F╣á t∩ 4617 anΣ thσá nex⌠á addres≤ ì
- áááááááááááááááááádisplayed on the screen would be 4618.
-
- ááááá4618 23 #
-
- Remembe≥á tha⌠á ARGUMENT-STRING╙ ma∙ bσ terminateΣá b∙á eithe≥á ß ì
- carriagσá returεá o≥ b∙ thσ firs⌠ spacσ characte≥ whicΦ doe≤á no⌠ ì
- appea≥á iεá ß quoteΣ litera∞ string«á Thσá choicσá oµá terminato≥ ì
- determine≤á thσ whicΦ addres≤ wil∞ bσ displayeΣ next«á Iµ ß car-ì
- riagσá returε i≤ useΣ t∩ terminatσ thσ ARGUMENT-STRING¼á theε Z8┼ ì
- wil∞ displa∙ thσ nex⌠ sequentia∞ memor∙ address« Fo≥ example:
-
- *E 1002
- 1002 45 E 12,8F,00 <cr>
- 1005 28 (
- è
-
- 40
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
-
- Thσ use≥ entereΣ aε ARGUMENT-STRIN╟ 12,8F,0░ whicΦ wa≤á evaluateΣ ì
- t∩á │ bytes«á Sincσ thσ ARGUMENT-STRIN╟ wa≤ terminateΣ b∙ ß car-ì
- riagσ returε thσ nex⌠ addres≤ displayeΣ wa≤ 1002+│ o≥ 1005«
-
- B∙á terminatinτá thσá ARGUMENT-STRIN╟ witΦ ß spacσ thσá use≥á caε ì
- verif∙á thσ content≤ oµ memor∙ jus⌠á modified«á ARGUMENT-STRING╙ ì
- terminateΣá b∙á ß spacσ causσ Z8┼ t∩ redispla∙ thσá startinτá ad-ì
- dress╗á thi≤á make≤á thσá datß jus⌠á entereΣá availalbσá fo≥á re-ì
- inspection:
-
- *E 1002
- 1002 45 E 12,8F,00 <space>
- 1002 12 ~
-
- Iµ thσ use≥ doe≤ no⌠ wan⌠ t∩ writσ an∙ datß t∩ thσ curren⌠ memor∙ ì
- address¼á theε thσ characte≥ entereΣ shoulΣ bσ ß spacσ character¼ ì
- up arrow (carret) character, or a carriage return.
-
- ááááááááááááááá CHARACTER ACTION
- ááááááááááááááá
- ááááááááááááááá spaceáá reaΣ nex⌠ sequentia∞ mem-ì
- ááááááááááááááááááááááááááááááááááááááááor∙ addres≤
-
- up arrow ááreaΣ previou≤ memor∙á ad-ì
- áááááááááááááááááááááááááááááááááááááááádres≤
- áááááááááááááááááááááááááááááááááááááááá
- <cr>ááááááááááááááááreaΣ nex⌠ sequentia∞ mem-ì
- ááááááááááááááááááááááááááááááááááááááááor∙ address command
-
-
- periodáááááááááááááááterminate commandáááááá áááááááááááááááááááááááááááááááááá
-
- Thσá use≥ ma∙ als∩ changσ thσ curren⌠ memor∙ addres≤ b∙á enterinτ ì
- aεá equa∞á sigε "=ó followeΣ b∙ ß valiΣá argument«á Thσá addres≤ ì
- obtaineΣá b∙á evaluatinτ thi≤ argumen⌠ become≤á thσá ne≈á curren⌠ ì
- memory address as shown below:
-
- *E 1344
- 1344 89 ~ <cr>
- 1345 6F o <cr>
- 1346 52 R =9F34 <cr>
- 9F34 63 c
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 41
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- F Find
- _________________________________________________________________
-
-
- Thσá finΣ commanΣ allow≤ thσ use≥ t∩ searcΦ memor∙ fo≥ multi-bytσ ì
- strings in memory. The format of the command is:
-
- *F ARG1 ARG2 <cr>
-
- where ARG1 = thσá startinτ addres≤ a⌠ whicΦ t∩ begiε ì
- ááááááááááááááááááááááááááthe search, it may be of any type
- ááááááááááááááááá
- áááááááááááááááááARG2 = i≤á aε ARGUMENT-STRIN╟ representinτ thσ ì
- áááááááááááááááááááááááááápatterεá t∩ searcΦ for╗á thσá use≥á ma∙ ì
- ááááááááááááááááááááááááááspecif∙á an∙á combinatioε oµá argument≤ ì
- ááááááááááááááááááááááááááseparateΣ b∙ comma≤ o≥ space≤ u≡ t∩ thσ ì
- áááááááááááááááááááááááááálimi⌠á oµá Z8E'≤á commanΣá linσá buffe≥ ì
- ááááááááááááááááááááááááááwhicΦá i≤ 8░ byte≤á long«á Thσá actua∞ ì
- áááááááááááááááááááááááááánumbe≥ oµ byte≤ searcheΣ fo≥ depend≤ oε ì
- ááááááááááááááááááááááááááho≈ thσ strinτ i≤ ultimatel∙ evaluated.
- ì
- áááááááááááááááááááááááááá
- Z8E wil∞ displa∙ ever∙ addres≤ whicΦ contain≤ datß matchinτ ARG2« ì
- The search continues until the end of memory is reached.
-
- Thσ use≥ ma∙ elec⌠ t∩ cance∞ thσ searcΦ a⌠ an∙ timσ b∙ depressinτ ì
- any key on the keyboard.
-
- Iµá ARG▓ i≤ ß singlσ argumen⌠ (a≤ opposeΣ t∩ aε argumen⌠á string⌐ ì
- anΣá iµ thi≤ argumen⌠ i≤ ß symbo∞ namσ theε Z8┼ wil∞ reversσá thσ ì
- orde≥ oµ thσ tw∩ byte≤ comprisinτ thσ 1╢ bi⌠ operand« Mos⌠ 1╢ bi⌠ ì
- value≤ iε Z8░ program≤ arσ storeΣ witΦ thσ leas⌠ significan⌠ bytσ ì
- a⌠á ßá giveε addres≤ anΣ thσ mos⌠ significan⌠ bytσ a⌠á thσá giveε ì
- address+▒ (towarΣ thσ higΦ enΣ oµ memory)« Thi≤ i≤ iε accordancσ ì
- witΦ thσ Z8░ conventioε oµ storinτ thσ mos⌠ significan⌠ bytσ oµ ß ì
- 16 bit argument toward the high end of memory.
-
- The following are examples of the FIND command:
-
- *F 0 SYMBOL
-
- áááááAssuminτá tha⌠ thσ symbo∞ "SYMBOLó i≤á associateΣá witΦ ì
- áááááthσá he°á valuσ 3B╞ theε Z8┼ woulΣ attemp⌠ t∩ finΣá al∞ ì
- áááááaddres≤á containinτá thσ bytσ pai≥ B╞ anΣá 0│á iεá tha⌠ ì
- áááááorder¼ witΦ thσ searcΦ beginninτ a⌠ addres≤ 0000« Notσ ì
- ááááátha⌠ thσ orde≥ oµ thσ tw∩ byte≤ i≤ reverseΣ becausσ thσ ì
- ááááásymbo∞ "SYMBOLó exist≤ iε thσ symbo∞ table«á T∩ searcΦ ì
- áááááfo≥á thσá bytσá pai≥ 0│ anΣ B╞ iε tha⌠ orde≥á thσá use≥ ì
- áááááshoulΣ ente≥ thσ argumen⌠ a≤ eithe≥ ß 1╢ bi⌠ he° numbe≥ ì
- ááááá(3BF⌐ o≥ a≤ tw∩ ╕ bi⌠ he° number≤ (03,BF)«
-
-
- *F 100 87,32#,'ABCD',0C3,symbol,'p',271F
-
- Assuminτá tha⌠ thσ symbo∞ "symboló i≤á associateΣá witΦ ìè
-
- 42
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- áááááthσá he°á valuσ 3B╞ theε Z8┼ woulΣ attemp⌠ t∩ finΣá al∞ ì
- ááááástartinτ addresse≤ oµ thσ followinτ 12 bytσ string:
-
- ááááá á87 20 41 42 43 44 C3 03 BF 70 27 1F
-
-
- áááááNoticσá tha⌠ Z8┼ woulΣ searcΦ fo≥ thσ tw∩ bytσá patterε ì
- ááááá0│ B╞ a≤ thσ valuσ fo≥ "symbol"«á Iµ thσ use≥ happeneΣ ì
- ááááát∩á bσá tryinτ t∩ finΣ thσá instructioεá J╨á symbo∞ ì
- áááááthσ searcΦ woulΣ fai∞ becausσ a≤ mentioneΣ abovσ 1╢ bi⌠ ì
- ááááávalue≤á arσá storeΣá lo≈ orde≥ bytσá first«á Thσá use≥ ì
- áááááshould have entered C3 BF 03.
-
- áááááThσ tw∩ byte≤ whicΦ represen⌠ thσ addres≤ oµ symbo∞ arσ ì
- áááááno⌠á reverseΣ a≤ iε thσ examplσ abovσ becausσá ARG▓á i≤ ì
- áááááspecifieΣá a≤ aε ARGUMENT-STRIN╟ a≤ opposeΣ t∩ ß singlσ ì
- áááááargument.
-
- Z8E would begin its search at address 100 (ARG1).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 43
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- G Go
- _________________________________________________________________
-
-
- Thσá ╟ commanΣ instruct≤ Z8E t∩ begiε o≥ resumσ executioε oµá thσ ì
- use≥ program. The format of the command is:
-
- *G ARG1 <cr>
-
- wherσá ARG1á ╜á thσá addres≤á oµá thσá firs⌠ ì
- instruction the user wishes
- áááááááááááááááááááááááááááááááááááááto execute.
-
- ARG1 may be any argument type
-
- Upoεá receip⌠ oµ thi≤ commanΣ Z8E initialize≤ al∞ breakpoint≤á iε ì
- thσá use≥á program¼á restore≤ al∞ use≥ registers¼á anΣá transfer≤ ì
- contro∞á t∩ thσ use≥ prograφ unde≥ tes⌠ a⌠ thσ addres≤á specifieΣ ì
- iε ARG1«á Executioε withiε thσ use≥ prograφ wil∞ continuσá unti∞ ì
- thσá use≥á prograφ reache≤ ß breakpoint¼á a⌠ whicΦ poin⌠á contro∞ ì
- wil∞á returε t∩ Z8E«á Thi≤ i≤ thσ onl∙ wa∙ thσ use≥ i≤á ablσá t∩ ì
- returε contro∞ t∩ Z8E oncσ thσ G╧ commanΣ i≤ issued.
-
- Z8┼ breakpoin⌠ techniquσ ha≤ beeε designeΣ sucΦ tha⌠ Z8┼ wil∞ no⌠ ì
- directl∙á initializσá ßá breakpoin⌠ a⌠ thσ addres≤á specifieΣá iε ì
- ARG1«á Iεá actualiit∙ i⌠ woulΣ bσ impossiblσ t∩ d∩ s∩á sincσá aε ì
- attemp⌠á woulΣá bσ madσ t∩ resumσ executioε a⌠á thi≤á address¼á ß ì
- breakpoin⌠ woulΣ havσ beeε se⌠ a⌠ thi≤ address¼ anΣ contro∞ woulΣ ì
- immediatel∙á returε t∩ thσ monito≥ withou⌠ thi≤ instructioεá eve≥ ì
- havinτ beeε executed«á Thi≤ limitatioε ha≤ beeε overcomσ iε Z8┼ ì
- b∙á actuall∙á copyinτ thσ singlσ instructioε locateΣ a⌠á ARG▒á t∩ ì
- Z8E'≤á memory¼á THE╬ settinτ thσ breakpoin⌠ a⌠ thσ ARG▒á address¼ ì
- anΣá finall∙ executinτ thσ "movedó versioε oµ thσ instructioεá iε ì
- Z8E'≤ memor∙ rathe≥ thaε iε thσ use≥ program« Z8┼ compensate≤ fo≥ ì
- thσá tha⌠ CAL╠ anΣ RELATIV┼ JUM╨ instruction≤ arσ affecteΣ b∙ thσ ì
- addres≤ a⌠ whicΦ the∙ arσ executed« Thi≤ entirσ proces≤ i≤ total-ì
- l∙á transparen⌠ anΣ i⌠ allow≤ thσ use≥ t∩ debuτ loop≤ b∙á settinτ ì
- onl∙ ß singlσ breakpoin⌠ withiε thσ rangσ oµ ß loop¼ obviate≤ thσ ì
- neeΣá t∩ clea≥ an∙ breakpoint≤ whicΦ arσ locateΣ a⌠á thσá addres≤ ì
- wherσá executioε i≤ t∩ resume¼á anΣ eveε allow≤ breakpoint≤ a⌠á ß ì
- DJN┌ ñ instructions!
-
-
- HINT:
- Wheεá proceedinτ froφ ß breakpoin⌠ i⌠ i≤ simples⌠ t∩ usσ thσ forφ ì
- oµ thσ G╧ command║á *╟ ╨ <cr╛ whicΦ inform≤ Z8E t∩á resumσ ì
- executioεá a⌠ thσ addres≤ specifieΣ b∙ thσ user'≤ curren⌠ prograφ ì
- counter«á
-
-
-
-
-
-
-
-
-
- 44
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- H Display Symbol Table
- _________________________________________________________________
-
-
- Thσá ╚á commanΣ allow≤ thσ use≥ t∩ vie≈ thσ symbo∞ tablσá oεá thσ ì
- console. The format of the command is:
-
- *H [ARG1] <cr>
-
- where ARG1 must be a symbol name
-
-
- Iµá ARG▒á i≤á omitteΣ Z8┼ wil∞ displa∙ thσá entirσá symbo∞á tablσ ì
- startinτ witΦ thσ firs⌠ symbo∞ iε thσ table«á Iµ ARG▒ i≤ presen⌠ ì
- Z8┼á wil∞á begiε thσ displa∙ witΦ tha⌠ symbol«á Z8┼á display≤á ß ì
- blocδá oµá 3▓á symbol≤ theε wait≤ fo≥ use≥ input«á Iµá thσá use≥ ì
- enter≤á ßá carriagσ returε thσ thσ nex⌠ blocδ oµá 3▓á symbol≤á i≤ ì
- displayed«á Iµá thσ use≥ entere≤ an∙ othe≥ characte≥ thσá commanΣ ì
- terminates.
-
- Iµá ßá symbo∞ namσ entereΣ a≤ ARG1 canno⌠ bσ founΣ iε thσá symbo∞ ì
- table Z8E prints a question mark.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 45
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- I Input file
- _________________________________________________________________
-
-
- Thσá ╔ commanΣ allow≤ thσ use≥ t∩ loaΣ file≤ int∩ thσá TP┴á afte≥ ì
- the debug session has started. The format of the command is:
-
- *I ARG1[,ARG2] <cr>
-
- áááááááááááááááARG1 i≤ ß singlσ unambiguou≤ filσ namσá con-ì
- áááááááááááááááforminτ t∩ standarΣ CP/═ synta° rules:
- ááááááááááááááá
- ááááááááááááááá - optiona∞á drivσá namσ followeΣ b∙á ßá coloε ì
- ááááááááááááááá
- áááááááááááááááááááá- mandatory primary file name
-
- áááááááááááááááááááá- optiona∞á secondar∙ filσ namσ precedeΣ b∙ ß ì
- áááááááááááááááááááá period
-
- áááááááááááááááARG2 i≤ aε optiona∞ loaΣ address«á Iµ ARG2 i≤á no⌠ ì
- áááááááááááááááspecifieΣ thσ nameΣ filσ i≤ loadeΣ a⌠ thσ star⌠ oµ ì
- áááááááááááááááthσá TP┴ (addres≤ 10░ hex)«á Iµ ARG2 i≤ giveε thσ ì
- áááááááááááááááfilσ wil∞ bσ loadeΣ a⌠ thi≤ address« Z8E wil∞ NO╘ ì
- ááááááááááááááárelocatσá individua∞ addresse≤ withiε thσ filσá t∩ ì
- áááááááááááááááreflec⌠ thσ ne≈ loaΣ address«á ARG2 ma∙ bσ oµ an∙ ì
- ááááááááááááááátype.
-
- áááááááááááááááNOTE: Iµá n∩ argument≤ arσ entereΣ theε Z8┼á wil∞ ì
- ááááááááááááááááááááááredispla∙ thσ startinτ address¼á endinτ ad-ì
- áááááááááááááááááááááádress¼á anΣ thσ numbe≥ oµ 25╢ bytσ page≤ oµ ì
- ááááááááááááááááááááááthσ las⌠ filσ loaded«
-
-
- If Z8E detect≤ ß erro≥ iε thσ filσ namσ specificatioε thσ messagσ ì
- "Synta°á erroróá i≤á printeΣá oεá thσá consolσá anΣá thσá commanΣ ì
- terminates.
-
- Iµá Z8Eá i≤ unablσ t∩ locatσ thσ filσ oε thσ specifieΣ drivσá thσ ì
- messagσá "Filσá no⌠á foundó i≤ printeΣ oεá thσá consolσá anΣá thσ ì
- command terminates.
-
- Z8E contain≤ n∩ faciltie≤ fo≥ convertinτ .HE╪ (Inte∞ He°á format⌐ ì
- objec⌠ file≤ t∩ loadablσ memor∙ image«á Al∞ files¼ regardles≤ oµ ì
- type¼á arσá loadeΣá int∩ memor∙ iε exactl∙ thσ samσ forφ a≤á the∙ ì
- appea≥ oε disk«á T∩ debuτ ß .HE╪ filσ thσ use≥ shoulΣ firs⌠ loaΣ ì
- thσá filσ witΦ thσ CP/═ LOA─ commanΣ anΣ savσ thσ filσá witΦá thσ ì
- CP/═á SAV┼ commanΣ whicΦ produce≤ aε absolutσ memor∙ imagσá load-ì
- ablσá b∙ Z8E«á Al∞ .CO═ file≤ arσ oµ coursσ alread∙ iεá loadablσ ì
- forφ anΣ n∩ LOADinτ anΣ SAVEinτ i≤ required.
-
- Iµá thσá filσá wil∞á no⌠ fi⌠ int∩ thσ TPA¼á Z8Eá wil∞á prin⌠á thσ ì
- message:
-
- Out of memory - Continue?
-
- è
-
- 46
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- Iµá thσá use≥ answer≤ "Y"¼á Z8E wil∞ resumσ loadinτ thσá filσá a⌠ ì
- addres≤ 10░ he° iµ ARG2 wa≤ no⌠ entered¼ o≥ a⌠ thσ addres≤ speci-ì
- fieΣ a≤ ARG2«á Iµ thσ use≥ type≤ an∙ othe≥ response¼ thσ loadinτ ì
- proces≤ terminate≤ anΣ Z8E return≤ t∩ thσ commanΣ level« However¼ ì
- thσá use≥ ma∙ resumσ loadinτ thσ filσ a⌠ ß late≥ timσ b∙á issuinτ ì
- thσ ╔ commanΣ anΣ specifyinτ thσ filσ namσ ".ó (ß singlσ period)« ì
- Thσá use≥á ma∙á choosσá t∩ specif∙ ß ne≈á startinτá loaΣá addres≤ ì
- followinτá thσ period╗á iµ ARG2 i≤ omitteΣ theε thσ loaΣá addres≤ ì
- default≤ bacδ t∩ 10░ hex¼á thσ star⌠ oµ thσ TPA«á Iµ thσ use≥ ha≤ ì
- donσá an∙á subsequen⌠á disδ I/╧ (sucΦ a≤ loadinτ ßá ne≈á filσá oµ ì
- disassemblinτá t∩ disk⌐ iε betweeε thσ timσ loadinτ wa≤ suspendeΣ ì
- anΣ theε restarted¼á Z8┼ wil∞ trea⌠ thσ filσ namσ ".ó a≤ ß synta° ì
- error«
-
- Thσá use≥ ma∙ occasionall∙ neeΣ t∩ overla∙ ß sectioε oµ codσ iε ß ì
- prograφ whicΦ alread∙ reside≤ iε memor∙ witΦ inpu⌠ froφ ß filσ oε ì
- disk¼á fo≥ examplσ iε modifyinτ ß BIO╙ iε preparatioε fo≥ MOVCPM« ì
- Whilσá thi≤á i≤ possiblσ witΦ loader≤ whicΦ proces≤á .HE╪á objec⌠ ì
- files¼á i⌠ i≤ no⌠ feasiblσ witΦ Z8E« Thσ use≥ caε circumven⌠ thi≤ ì
- limitatioεá b∙ loadinτ thσ filσ froφ disδ int∩ aε unuseΣá sectioε ì
- oµ memor∙ anΣ theε usinτ Z8E'≤ movσ commanΣ t∩ movσ onl∙ thσ datß ì
- needeΣ t∩ accomplisΦ thσ overlay.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 47
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- J Animated Full Screen Debugger
- ________________________________________________________________
-
- Thσá ╩ commanΣ provide≤ thσ use≥ witΦ thσ abilit∙ t∩ "seeó insidσ ì
- thσá Z8░á a≤ i⌠ execute≤ ß program«á Thσ Z8┼á animateΣá debugge≥ ì
- allow≤ thσ use≥ t∩ vie≈ registers¼ memory¼ anΣ instruction≤ whilσ ì
- thσá Z8░á i≤ simultaneousl∙ executinτ code«á Iεá addtioεá thσá ╩ ì
- commanΣá provide≤á thσá use≥ witΦ thσá abilit∙á t∩á interactivel∙ ì
- single-ste≡ througΦ ß prograφ usinτ thσ ful∞ screeε facilitie≤ oµ ì
- thσ command« Thσ forma⌠ oµ thσ ╩ commanΣ is:
-
- *J [/] [*] [ARG1] [ARG2]
-
-
- US┼á O╞á TH┼á ╩á COMMAN─ FO╥á SINGL┼á STEPPIN╟á I╙ ì
- áááááááááááááááDESCRIBE─á A╘á TH┼á EN─á O╞á THI╙á SECTION«á THI╙ ì
- áááááááááááááááSECTIO╬á DESCRIBE╙ TH┼ NON-INTERACTIV┼ VERSIO╬á O╞ ì
- áááááááááááááááTH┼á ╩á COMMAN─ DURIN╟ WHIC╚ TH┼ USE╥á TURN╙á OVE╥ ì
- áááááááááááááááCOMPLET┼á CONTRO╠ O╞ TH┼ EXECUTIO╬ O╞ TH┼á PROGRA═ ì
- áááááááááááááááUNDER TEST TO Z8E.
-
- ARG▒á i≤á thσ startinτ addres≤ oµ thσ displa∙á anΣ ì
- áááááááááááááááma∙á bσ oµ an∙ valiΣ argumen⌠ type«á Fo≥á example¼ ì
- áááááááááááááááthσ use≥ ma∙ specif∙ *J ╨ t∩ resumσ executioε ì
- áááááááááááááááa⌠ thσ poin⌠ wherσ i⌠ haΣ previoul∙ been stopped«
-
- áááááááááááááááThσá slasΦ anΣ sta≥ contro∞ subroutinσ tracinτá a≤ ì
- áááááááááááááááfollows:
-
- ááááááááááááááá"/" SlasΦá inform≤á Z8┼ no⌠ t∩ tracσ an∙á subrou-ì
- áááááááááááááááááááátine≤ a⌠ all.
- ááááááááá
- ááááááááááá "*" Asterisδ inform≤ Z8┼ no⌠ t∩ tracσ an∙ subrou-ì
- áááááááááááááááááááátinσá call≤ t∩ addresse≤ locateΣ iε thσ rangσ ì
- áááááááááááááááááááá░ t∩ FF«á Thi≤ featurσ i≤ intendeΣ t∩á screeε ì
- ááááááááááááááááááááou⌠á call≤á t∩ locatioε ╡ (BDOS⌐ iε orde≥á t∩ ì
- áááááááááááááááááááápreven⌠á Z8E'≤á anΣá thσá user'≤á stacδá froφ ì
- áááááááááááááááááááábecominτ hopelessl∙ entangled.
- ááááááááááááááá
- áááááááááááááááARG2 represent≤ aε optiona∞ timeou⌠ paramte≥ whicΦ ì
- áááááááááááááááaffect≤á thσ speeΣ a⌠ whicΦ instruction≤ arσá exe-ì
- ááááááááááááááácuted«á Thi≤á numbe≥ ma∙ bσ iε thσ rangσ ░ - 255¼ ì
- áááááááááááááááwitΦá 1░ (decimal⌐ a≤ thσ defaul⌠ iµ n∩á valuσá i≤ ì
- áááááááááááááááentered« ┴ timeou⌠ valuσ oµ 1░ yield≤ approximate-ì
- ááááááááááááááál∙á ß onσ halµ seconΣ dela∙ betweeε thσá executioε ì
- áááááááááááááááoµ sequentia∞ instructions«á ┴ valuσ oµ ░á repre-ì
- ááááááááááááááásent≤á N╧ timσ dela∙ anΣ i≤ iε actualit∙ thσ fast-ì
- áááááááááááááááes⌠ ratσ ß whicΦ thσ ╩ commanΣ caε run.
-
- Oncσá thσ ╩ commanΣ commences¼á Z8┼ take≤ ove≥ thσ Z8░á anΣá fur-ì
- nishe≤ thσ use≥ witΦ ß "peepholeó int∩ thσ CPU« Z8┼ execute≤ onσ ì
- instructioεá a⌠ ß timσ iε thσ use≥ prograφ pausinτ afte≥ eacΦ onσ ì
- t∩ dynamicall∙ updatσ thσ screeε display«á Thσ ╩ commanΣá divide≤ ì
- thσ screeε int∩ threσ areas║ registe≥ map¼ disassembleΣ code¼ anΣ ì
- memor∙á window«á Thσ registe≥ ma≡ display≤ al∞ register≤ oεá thσ ìè
-
- 48
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- to≡á tw∩á line≤á oµ thσ screeε alonτ witΦ thσ content≤ oµá thσá ╞ ì
- registe≥ whicΦ i≤ showε iε mnemoniπ form«á Z8┼ als∩ disassemble≤ ì
- 1╕á instruction≤ baseΣ oε thσ curren⌠ P├ valuσ anΣ display≤á theφ ì
- oεá thσ screen╗á finally¼á usinτ thσ parameter≤ entereΣ iε thσá ╫ ì
- command¼á Z8┼á snapshot≤ ß blocδ oµ memor∙ anΣ display≤ i⌠á a≤á ß ì
- windo≈ oε thσ screen«
-
- Executioε oµ thσ use≥ prograφ continue≤ unti∞ an∙ non-numeriπ ke∙ ì
- oε thσ keyboarΣ i≤ presseΣ whicΦ end≤ thσ command«á Iµ ß numeriπ ì
- ke∙ i≤ pressed¼ theε Z8┼ respond≤ b∙ changinτ thσ timeou⌠ parame-ì
- te≥ oε thσ fly« Thσ use≥ ma∙ usσ thσ key≤ ░ - ╣ a≤ ß throttlσ t∩ ì
- goverε thσ executioε speed«á Zer∩ beinτ thσ fastest╗á ninσ beinτ ì
- thσ slowest.
-
- Thσ commanΣ als∩ terminate≤ wheneve≥ ß use≥ defineΣ breakpoin⌠ i≤ ì
- reached«á Tha⌠á is¼á iµ thσ use≥ haΣ se⌠ ß breakpoin⌠ viß thσá ┬ ì
- commanΣá anΣ thi≤ addres≤ i≤ reacheΣ thσ ╩ commanΣ end≤á anΣá Z8┼ ì
- prompt≤á thσ use≥ fo≥ thσ nex⌠ command«á Iµ thσ breakpoin⌠ haΣ ß ì
- pas≤á coun⌠ associateΣ witΦ it¼á thσ pas≤ coun⌠ mus⌠á reacΦá zer∩ ì
- beforσ thσ ╩ commanΣ will terminate.
-
- USING THE J COMMAND FOR SINGLE STEPPING
-
- Z8┼á permit≤á thσá use≥ t∩ single-ste≡ througΦá ßá prograφá whilσ ì
- allowinτá ßá continuou≤ full-screeε vie≈ oµ thσá registers¼á codσ ì
- beinτ executed¼á anΣ thσ content≤ oµ ß blocδ oµ memor∙ a≤á speci-ì
- fieΣ b∙ thσ ╦ command« Iε orde≥ t∩ invokσ thσ ful∞ screeε single-ì
- ste≡ thσ use≥ enter≤ thσ followinτ command:
-
- *J [/] [*]
-
- » instruct≤ Z8┼ no⌠ t∩ tracσ an∙á subroutine≤ ì
- ááááááááááááááááááááa⌠ all
-
- áááááááááááááááááááá¬á instruct≤ Z8┼ no⌠ t∩ tracσ an∙ subroutine≤ ì
- áááááááááááááááááááálocatioεáá belo≈áá addres≤áá 100╚áá anΣááá i≤ ì
- ááááááááááááááááááááspecificall∙á designeΣ t∩ allo≈ thσ use≥á thσ ì
- ááááááááááááááááááááoptioεá oµá no⌠ becominτ tangleΣ iε BDO╙á anΣ ì
- ááááááááááááááááááááBIOS.
-
- ááááááááááááááááááááNotσá tha⌠á thi≤ versioε oµ thσ ╩ commanΣá i≤ ì
- áááááááááááááááááááádifferentiateΣáá froφáá thσáá non-interactivσ ì
- ááááááááááááááááááááversioεá b∙á thσá absencσá oµá an∙áá argumen⌠ ì
- ááááááááááááááááááááindicating a execution address.
-
- Thi≤á versioε allow≤ thσ use≥ t∩ executσ onσ instructioεá iεá hi≤ ì
- prograφá anΣ theε regaiε contro∞ a⌠ thσ Z8┼ commanΣá level«á Z8┼ ì
- wil∞ executσ thσ instructioε pointeΣ t∩ b∙ thσ user'≤ curren⌠ PC« ì
- Afte≥á thσ instructioε i≤ executeΣ aε ARRO╫ ¿ =╛ ⌐ point≤ t∩á thσ ì
- nex⌠ instructioε t∩ bσ executed.
-
- Thσ » anΣ ¬ option≤ arσ onl∙ valiΣ iµ thσ nex⌠ instructioε t∩á bσ ì
- executeΣá i≤ ß CALL«á Iµ thσ prograφ counte≥ i≤ pointinτ a⌠á an∙ ì
- other instruction then the / and * have no effect.
-
-
-
- 49
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- K Set Memory Window Parameters for Use With the J Command
- ________________________________________________________________
-
- Thσá Ká commanΣ set≤ thσ startinτ addres≤ anΣ blocδ sizσá oµá thσ ì
- memor∙á windo≈ displa∙ durinτ thσ ╩ command«á Thσ forma⌠ oµá thσ ì
- command is:
-
- *K ARG1 [,ARG2]
-
- ARG1á represent≤á thσ startinτ addres≤á oµá thσá memor∙ ì
- ááááááááááblock.
-
- ááááááááááARG2 i≤ aε optiona∞ sizσ paramter¼ iµ omitteΣ thσ blocδ ì
- áááááááááásize defaults to the maximum.
-
- Thσá maximuφá blocδ sizσ i≤ 14┤ decima∞ whicΦá i≤á 9░á hex«á Thσ ì
- startinτá addres≤ oµ thσ memor∙ blocδ caε bσ anywherσ iεá memory╗ ì
- i⌠ doe≤ no⌠ havσ t∩ bσ withiε thσ confine≤ oµ thσ use≥ program.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 50
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- M Move Memory
- _________________________________________________________________
-
-
- Thσá ═á commanΣ allow≤ thσ use≥ t∩ movσ block≤ oµ datσá froφá an∙ ì
- addres≤ iε memor∙ t∩ an∙ othe≥ addres≤ iε memory«á Thσ forma⌠ oµ ì
- thσ commanΣ is:
-
- *M ARG1 ARG2 ARG3
-
- whereá ARG1á = thσáá startinτá addres≤á oµáá thσ ì
- áááááááááááááááááááááááááááááááásourcσ datß blocδ
- ááááááááááááááááááááá á
- áááááááááááááááááááááááARG2á =ááthσá endinτ addres≤ oµ thσ sourcσ ì
- áááááááááááááááááááááááááááááááádatß block
-
- ARG3 = thσáá startinτá addres≤á oµáá thσ ì
- áááááááááááááááááááááááááááááááádestinatioε datß blocδ
-
- ì
- arguments may be of any type
-
- Z8┼ automaticall∙ decide≤ whethe≥ ß head-to-heaΣ o≥á tail-to-tai∞ ì
- movσá i≤á requireΣ baseΣ oε thσ threσ argument≤á entered«á Ifá ß ì
- head-to-heaΣá movσá i≤ needeΣ theε thσ firs⌠ bytσ oµá thσá sourcσ ì
- datßá blocδá wil∞á bσ writteε t∩ thσ firs⌠ bytσ positioεá oµá thσ ì
- destinatioε datß block╗á thσ seconΣ bytσ oµ thσ sourcσ datß blocδ ì
- wil∞á bσ writteε t∩ thσ seconΣ bytσ positioε oµá thσá destinatioε ì
- datß block¼ anΣ s∩ oε unti∞ thσ endinτ addres≤ oµ thσ destinatioε ì
- datß blocδ i≤ reached«
-
- Oεá thσ othe≥ hand¼á iµ ß tail-to-tai∞ movσ i≤ necessar∙ Z8┼ wil∞ ì
- movσá thσá las⌠ bytσ oµ thσ sourcσ datß blocδ t∩á thσá las⌠á bytσ ì
- positioε oµ thσ destinatioε datß block¼ followeΣ b∙ thσ seconΣ t∩ ì
- las⌠á bytσá oµ thσ sourcσ datß blocδ t∩ thσ seconΣ t∩á las⌠á bytσ ì
- positioεá oµá thσá destinatioε datß block¼á anΣ s∩ oεá unti∞á thσ ì
- startinτ addres≤ oµ thσ destinatioε blocδ i≤ reached«
-
- ┴á tai∞ t∩ tai∞ movσ woulΣ bσ necessar∙ iε thσ followinτá examplσ ì
- to prevent the overwriting of the destination data block:
-
- *M 1000 100F 1008
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 51
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- N Output to I/O Ports Without Pre-Read
- _________________________________________________________________
-
-
- Thi≤á commanΣ allow≤ thσ use≥ t∩ outpu⌠ datß t∩ aε I/╧ por⌠ with-ì
- ou⌠á firs⌠ readinτ thσ por⌠ (a≤ occur≤ iε thσá ╤á command)«á Thσ ì
- forma⌠ oµ thσ commanΣ is:
-
- *N [ARG1]
-
- whereáARG▒ i≤ thσ por⌠ numbe≥ t∩ whicΦ thσ ì
- ááááááááááááááááááááááááááááádatß wil∞ bσ written.
-
- áááááááááááááááááááááááááááááIµ ARG▒ i≤ omitteΣ theε Z8┼ use≤ thσ ì
- ááááááááááááááááááááááááááááálas⌠á por⌠á addres≤ whicΦá haΣá beeε ì
- áááááááááááááááááááááááááááááinpu⌠ b∙ ß previou≤ ╬ o≥ ╤ command«
-
- Z8┼ wil∞ promp⌠ thσ use≥ b∙ displayinτ thσ curren⌠ por⌠ numbe≥ oε ì
- thσá lef⌠ hanΣ sidσ oµ thσ consolσ anΣ postioninτ thσ curso≥á tw∩ ì
- space≤ thσ thσ right«á A⌠ thi≤ poin⌠ thσ use≥ caε ente≥ thσ datß ì
- t∩á bσ sen⌠ t∩ thσ por⌠ iε thσ forφ oµ aεá ARGUMENT-STRING«á Thσ ì
- ARGUMENT-STRIN╟á allow≤á thσ use≥ t∩ mi° variou≤á argumen⌠á type≤ ì
- sucΦ a≤ he° datß anΣ ASCI╔ litera∞ strings«á Oµ coursσ thσá use≥ ì
- caεá elec⌠ t∩ merel∙ outpu⌠ singlσ byte≤ iµ desired«á Thσ ╬ com-ì
- manΣá i≤ particularl∙ usefu∞ wheε programminτ variou≤á Z8░á peri-ì
- phera∞á chip≤ sucΦ a≤ thσ DM┴ anΣ SI╧ chip≤ whicΦ expec⌠á initia-ì
- lizatioε byte≤ t∩ arrivσ iε ß streaφ withou⌠ interveninτ reads.
-
- *N 80
- 80 'T',00,12#,998
-
- Thi≤á ARGUMENT-STRIN╟ woulΣ bσ evaluateΣ int∩ thσ ì
- áááááááááááááááá╡ bytes║ 5┤ 0░ 0├ 0╣ 98« Thesσ fivσ byte≤ woulΣ ì
- áááááááááááááááábσ sen⌠ t∩ por⌠ 8░ viß aε OTI╥á instruction«á N∩ ì
- áááááááááááááááádela∙ occur≤ betweeε successivσ bytes«
-
- Afte≥ thσ datß ha≤ beeε entereΣ anΣ afte≥ i⌠ ha≤ beeε sen⌠ t∩ thσ ì
- I/╧á por⌠á Z8┼á reprompt≤ thσ use≥ b∙ displayinτá thσá samσá por⌠ ì
- number«á Thi≤á give≤ thσ use≥ t∩ oppportunit∙ t∩ senΣá addtiona∞ ì
- datßá t∩ thσ samσ port«á However¼á b∙ no⌠ enterinτ datß thσ use≥ ì
- caεá changσá thσá curren⌠ por⌠ addres≤ b∙á enterinτá an∙á oµá thσ ì
- following:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 52
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
-
- CARRIAGE ááThσ nex⌠ sequentia∞ por⌠ numbe≥ iεá ascendinτ ì
- áááááááááRETURN orde≥ become≤ thσ curren⌠ por⌠ address.
-
- UP ARROW áááThσ nex⌠ sequentia∞ por⌠ numbe≥ iε descendinτ ì
- ááááááááááááááááááááorde≥ become≤ thσ curren⌠ por⌠ address.
-
- =ARG ááááááAn∙ argumen⌠ appearinτ immediatel∙ afte≥á thσ ì
- ááááááááááááááááááááequa∞á sigεá (n∩ interveninτ spaces⌐ i≤á eva-ì
- ááááááááááááááááááááluateΣ a≤ aε ╕ bi⌠ number¼ anΣ iµ founΣ t∩ bσ ì
- áááááááááááááááááááávaliΣá theε i⌠ become≤ thσ ne≈á curren⌠á por⌠ ì
- ááááááááááááááááááááaddress.
-
- PERIOD áTerminate command
-
-
- Thσá use≥á caεá als∩ monito≥ aε I/╧ por⌠ witΦ thσá ╬á commanΣá b∙ ì
- enclosinτá thσá por⌠ numbe≥ oε thσ commanΣ linσá iεá parentheses« ì
- Monito≥á modσá vißá thσ ╬ commanΣ i≤ identica∞ t∩ tha⌠ oµá thσá ╤ ì
- command (see Q command).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 53
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- O Output Current Breakpoints to Console
- _________________________________________________________________
-
-
- Thσá ╧ commanΣ allow≤ thσ use≥ t∩ vie≈ al∞ breakpoint≤á currentl∙ ì
- in effect. The format of the command is:
-
- *O
-
- no arguments are required
-
- Iµá Z8Eá find≤á ß symbo∞ namσ correspondinτ t∩ thσá absolutσá he° ì
- addres≤ oµ ß breakpoin⌠ addres≤ iε thσ symbo∞ tablσ (iµ ßá symbo∞ ì
- tablσá exists⌐ theε thσ symbo∞ namσ a≤ wel∞ a≤ thσ memor∙ addres≤ ì
- i≤ displayed« Iµ n∩ symbo∞ correspondinτ t∩ thσ addres≤ i≤ founΣ ì
- onl∙ thσ hex addres≤ i≤ displayed«
-
- Iµá an∙á pas≤ count≤ arσ currentl∙ iε effec⌠ the∙á arσá displayeΣ ì
- nex⌠ t∩ thσ breakpoin⌠ addres≤ witΦ whicΦ the∙ arσ associated.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 54
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- P Examine/Modify PSW (Flag Register)
- _________________________________________________________________
-
-
- Thσá ╨á commanΣá provide≤ ß convenien⌠ methoΣá oµá examininτá anΣ ì
- optionall∙á modifyinτá thσ F(lag⌐ registe≥ iε thσá use≥á registe≥ ì
- set« Thσ forma⌠ oµ thσ commanΣ is:
-
- *P
-
- no arguments are required on the command line
-
- Upoεá receip⌠ oµ thσ ╨ commanΣ Z8E display≤ thσ mnemonic≤ corres-ì
- pondinτá t∩á thσ curren⌠ statσ oµ thσ fou≥á user-modifiablσá bit≤ ì
- (sign¼ carry¼ zero¼ parity⌐ iε Flaτ register:
-
-
- MNEMONIC MEANING BIT STATUS
-
- P positive reset
- M minus set
-
- NC no carry reset
- C carry set
-
- PO parity odd reset
- PE parity even set
-
- NZ not zero reset
- Z zero set
-
-
- Z8Eá print≤á thσ mnemoniπ correspondinτ t∩ thσ curren⌠á statσá oµ ì
- eacΦá oµá thσá fou≥á flaτá bits«á Z8Eá theεá issue≤á ßá carriagσ ì
- return/linσ feeΣ anΣ pause≤ fo≥ use≥ input«á Thσ use≥ ma∙ modif∙ ì
- an∙á oµá thσ fou≥ flaτ bit≤ b∙ typinτá thσá appropriatσá mnemoniπ ì
- followeΣá b∙á ßá carriagσ return«á Thσ use≥ ma∙á ente≥á multiplσ ì
- mnemonic≤ b∙ separatinτ eacΦ onσ witΦ ß space«
-
- Iµá n∩ mnemonic≤ arσ entered¼á n∩ flag≤ bit≤ arσ altereΣ anΣá thσ ì
- command terminates.
-
- Iµ aε invaliΣ flaτ bi⌠ mnemoniπ i≤ entereΣ Z8E print≤ ßá questioε ì
- mark.
-
-
-
-
-
-
-
-
-
-
-
-
-
- 55
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- Q Query I/O Ports
- _________________________________________________________________
-
- Thσá ╤á commanΣ allow≤ thσ use≥ flexiblσ acces≤ t∩ I/╧á port≤á b∙ ì
- providinτá thσ abilit∙ t∩ perforφ singlσ bytσá input¼á continuou≤ ì
- inpu⌠ (monito≥ mode)¼ anΣ singlσ o≥ multi-bytσ outpu⌠ followinτ ß ì
- pre-reaΣ oµ thσ port« Thσ forma⌠ oµ thσ commanΣ is:
-
- *Q [(] [ARG1] [)]
-
- wherσ ARG1 i≤ aε ╕ bi⌠ por⌠ addres≤ iε thσ range
- 0 - 255
-
- ARG1 ma∙ bσ an∙ symbo∞ type¼á howeve≥ iµ ß 1╢á bi⌠ ì
- ááááááááááááááávaluσá i≤á specifieΣá onl∙ thσ lo≈ orde≥á bytσá i≤ ì
- ááááááááááááááásignifican⌠
-
- áááááááááááááááIµá n∩á argumen⌠ i≤ giveε Z8┼ wil∞á usσá thσá mos⌠ ì
- ááááááááááááááárecen⌠ por⌠ numbe≥ a≤ entereΣ b∙ thσ use≥ viß aε ╬ ì
- áááááááááááááááo≥ ╤ command.
-
- áááááááááááááááIµá ARG1 i≤ encloseΣ iε parenthese≤ Z8┼ wil∞ ente≥ ì
- áááááááááááááááMONITO╥ MODE.
-
-
- Upoεá receip⌠á oµ ARG1 Z8┼ wil∞ reaΣ thσ specifieΣ I/╧á por⌠á anΣ ì
- displa∙á thσ bytσ reaΣ a≤ botΦ ╕ bi⌠ hexadecima∞ valuσá anΣá it'≤ ì
- ASCI╔ equivalent« CommanΣ option≤ oncσ ß bytσ ha≤ beeε reaΣ froφ ì
- thσ I/╧ por⌠ arσ a≤ follows:
-
- ì
- áááááSINGLE BYTE INPUT
-
- ááááááááB∙á enterinτá ß SPACE immediatel∙á followinτá thσ ì
- áááááááádisplayeΣá content≤ oµ thσ I/╧ por⌠ thσ use≥á caε ì
- ááááááááinstruc⌠á Z8┼ t∩ continuσ readinτ froφá thσá samσ ì
- ááááááááI/╧ port:
-
- *Q EE
- EE 24 $ <space>
- EE 24 $
-
- áááááááá
- ááááááááB∙á enterinτ ß CARRIAGE RETURN followinτ thσ dis-ì
- ááááááááplayeΣá content≤á oµ thσ I/╧ por⌠á thσá use≥á caε ì
- ááááááááinstruc⌠áá Z8┼á t∩á reaΣá thσá nex⌠á por⌠á numbe≥ ì
- áááááááá(ascendinτ order):
-
- *Q EE
- EE 24 $ <cr>
- EF C1 A
-
-
- ááááááááB∙á enterinτ ß care⌠ "^ó followinτ thσá displayeΣ ì
- áááááááácontent≤á oµ thσ I/╧ por⌠ thσ use≥á caεá instruc⌠ ìè
-
- 56
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- ááááááááZ8┼á t∩ reaΣ thσ previou≤ por⌠ numbe≥ (descendinτ ì
- ááááááááorder):
-
- *Q EE
- EE 24 $ ^ (up arrow entered by user)
- ED 06 ~
-
-
- ááááááááB∙ enterinτ aε equa∞ sigε "=ó followeΣ b∙ ß valiΣ ì
- ááááááááargument¼á thσá use≥ caε switcΦ t∩ readinτ ßá ne≈ ì
- ááááááááport address:
-
- áááááááá *Q EE
- áááááááá EE 24 '$' =90
- áááááááá 90 BF '?' á áá
-
-
- áááááCONTINUOUS INPUT (MONITOR MODE)
-
- ááááááááZ8┼ provide≤ thσ use≥ witΦ thσ abilit∙ t∩ monito≥ ì
- ááááááááaεá inpu⌠á port«á Z8┼ wil∞ continousl∙ reaΣá thσ ì
- ááááááááselecteΣá inpu⌠ por⌠ anΣ displa∙ thσ content≤á oε ì
- ááááááááthσá screen«á Z8┼ display≤ thσ bytσ iε botΦá he° ì
- ááááááááanΣá binary«á Thi≤á featurσ i≤á usefulá iεá thσ ì
- áááááááátestinτá oµ I/╧ ports«á Depressinτ an∙ ke∙ oε thσ
- áááááááákeyboard exits monitor mode.
-
- áááááMULTI-BYTE OUTPUT
-
- ááááááááFollowinτá thσá reaΣ oµ aε I/╧ por⌠ thσ use≥á ma∙ ì
- ááááááááelec⌠á t∩á outpu⌠ data«á Thσ use≥á ma∙á ente≥á aε ì
- ááááááááARGUMENT-STRIN╟ whicΦ wil∞ bσ sen⌠ t∩ thσ por⌠ oε ì
- ááááááááßá bytσá b∙ bytσ basi≤ witΦ n∩ interveninτá read≤ ì
- áááááááábetweeε output≤ a≤ showε below:
-
- áááááááá *Q 50
- 50 44 'D' 23,9,'B2E',00,F723,81
- áááááááá ^ ^
- áááááááá á áástrinτá a≤ entereΣ b∙ ì
- ááááááááááááááááá ááááááuse≥ appear≤á betweeε ì
- ááááááááááááááááááá ááááarrow≤
-
- ááááááááThσá datß a≤ entereΣ b∙ thσ use≥ iε thi≤á examplσ ì
- ááááááááwoulΣá firs⌠á bσ converteΣ t∩ thσ ╣á byte≤á showε ì
- áááááááábelow:
- 23 09 42 32 45 00 F7 23 81
-
- ááááááááThesσá ╣ byte≤ woulΣ theε bσ sen⌠ t∩ por⌠ 5░á onσ ì
- áááááááábytσá afte≥ anothe≥ withou⌠ an∙ interveninτ read≤ ì
- ááááááááo≥ statu≤ checks.
-
-
-
-
-
-
-
- 57
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- R Examine/Modify Register Contents
- _________________________________________________________________
-
-
- Thσá ╥á commanΣ allow≤ thσ use≥ t∩ examinσ anΣ optionall∙á modif∙ ì
- register≤á anΣá registe≥ pair≤ iε thσá use≥á registe≥á set«á Thσ ì
- format of the command is:
-
- *R ARG1 <cr> or space
-
- wherσá ARG1á i≤ an∙ oµ thσ 2▓á registe≥á mnemonic≤ ì
- ááááááááááááááálisteΣ below:
-
- ááááááááááááááá áA B C D E H L
- áááááá AF BC DE HL IX IY SP
- áááááá AF' BC' DE' HL' I R P PC
-
- (thσá prograφá counte≥ ma∙á bσá specifieΣá a≤ ì
- ááááááááááááááááááááeithe≥ ╨ o≥ PC)
-
- T∩á examinσ ß registe≥ thσ use≥ enter≤ ß mnemoniπ froφ thσá abovσ ì
- lis⌠ followeΣ b∙ ß carriagσ returε o≥ ß space«á Z8E wil∞ displa∙ ì
- thσá curren⌠ content≤ oµ thσ registe≥ oε thσ samσ line«á A⌠ thi≤ ì
- poin⌠ thσ use≥ ha≤ thσ optioε oµ enterinτ aε argumen⌠ oµ an∙ typσ ì
- iµá thσá content≤á oµ thσ registe≥ o≥ registe≥á pai≥á arσá t∩á bσ ì
- changed«á Thσá replacemen⌠ valuσ ma∙ bσ terminateΣ b∙ eithe≥á ß ì
- carriagσá returε o≥ ß space«á Iµ n∩ valuσ i≤ entereΣ Z8E issue≤ ß ì
- carriagσ return/linσ feeΣ anΣ wait≤ fo≥ thσ nex⌠ registe≥á mnemo-ì
- niπ t∩ bσ entered.
-
- Iµá thσ use≥ specifie≤ ß 1╢ bi⌠ valuσ a≤ thσ ne≈ content≤ oµ aε ╕ ì
- bit register only the low order byte of the value is used.
-
- Thσ commanΣ terminate≤ wheε ß carriagσ returε o≥ spacσ i≤ entereΣ ì
- wheε Z8E i≤ waitinτ fo≥ ß registe≥ mnemonic.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 58
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- S Single Step
- _________________________________________________________________
-
- ááááááááááááááááááááááááááááá
- Thσ ╙ commanΣ allow≤ thσ use≥ t∩ executσ ß prograφ instructioε b∙ ì
- instruction«á Thσá ╙á commanΣ provide≤ fo≥ ful∞ tracinτá oµá thσ ì
- user program« Thσ forma⌠ oµ thσ commanΣ is:
-
- *S [/] [ARG1] <cr>
-
- áááááááááááááááwherσá ARG1 i≤ thσ numbe≥ oµ instruction≤ t∩á exe-ì
- ááááááááááááááácutσ iε thσ use≥ program¼á iµ n∩ argumen⌠ i≤ giveε ì
- áááááááááááááááZ8E defaults to 1
- ááááááááááááááá
- áááááááááááááááARG1 may be of any type
-
- Thσ slasΦ "/ó allow≤ thσ use≥ contro∞ ove≥ thσ tracinτ oµ subrou-ì
- tines«á Iµá ß slasΦ i≤ includeΣ beforσ thσ coun⌠ (iµ ßá coun⌠á i≤ ì
- entered)¼á o≥á iµ thσ slasΦ i≤ thσ onl∙ characte≥ oε thσá commanΣ ì
- linσá theε subroutine≤ wil∞ no⌠ bσ traced«á ┴ slasΦ affect≤ onl∙ ì
- CAL╠á instruction≤ whicΦ liσ withiε thσ rangσ oµá ARG1«á Iεá thσ ì
- mos⌠á typica∞á casσ n∩ ARG1 i≤ presen⌠ anΣ thσ single ste≡á coun⌠ ì
- default≤á t∩ 1«á Iµ thσ curren⌠ PC¼á 100░ iεá thi≤á example¼á i≤ ì
- pointinτ t∩ ß cal∞ instructioε theε thσ command:
-
- *S /
-
- 1000 CD 56 30 RASRTN: CALL ANYSUB
- 1003 FE 04 CP 4
- 1005 CA 17 10 JP Z,AHEAD
-
-
- wil∞á causσá thσá entirσá subroutinσ ANYSU┬ t∩á bσá executeΣá anΣ ì
- contro∞á wil∞á returε t∩ thσ use≥ a⌠ addres≤ 1003«á
-
- Iµ ARG▒ i≤ omitteΣ Z8┼ wil∞ transfe≥ contro∞ t∩ thσ use≥á prograφ ì
- anΣá onσ instruction¼á thσ onσ pointeΣ t∩ b∙ thσ curren⌠ content≤ ì
- oµ thσ user'≤ prograφ counter¼á wil∞ bσ executed«á Followinτ thσ ì
- executioεá oµ thσ instructioε (o≥ grou≡ oµ instruction≤á iµá ARG▓ ì
- wa≤á greate≥á thaε 1⌐ Z8┼ regain≤ contro∞ anΣ automaticall∙á dis-ì
- play≤ thσ curren⌠ content≤ oµ al∞ thσ use≥ registers.
-
- Thσá use≥ ma∙ optionall∙ indicatσ tha⌠ morσ thaε onσá instructioε ì
- i≤á t∩á bσ executeΣ b∙ enterinτ ß valuσ greate≥ thaε ▒ fo≥á ARG1« ì
- Z8E wil∞ transfe≥ contro∞ t∩ thσ use≥ prograφ anΣ regaiεá contro∞ ì
- onl∙á wheεá thσ specifieΣ numbe≥ oµ instruction≤ havσá beeεá exe-ì
- cuted«á Thi≤ featurσ i≤ usefu∞ iε debugginτ smal∞ loops╗ iε tha⌠ ì
- thσá use≥ caε se⌠ ARG1 equa∞ t∩ thσ numbe≥ oµ instruction≤ iε thσ ì
- rangσ oµ thσ loop«á Z8E wil∞ displa∙ thσ registe≥ content≤ afte≥ ì
- eacΦá instructioε oµ thσ loo≡ i≤ executeΣ anΣ returεá contro∞á t∩ ì
- thσ use≥ afte≥ ever∙ iteratioε oµ thσ loop.
-
- Thσá singlσá ste≡ commanΣ alway≤ cause≤ thσ executioε oµ thσá in-ì
- structioεá pointeΣ t∩ b∙ thσ curren⌠ content≤ oµ thσ user'≤á pro-ì
- graφ counter«á Thi≤ i≤ thσ instructioε tha⌠ appear≤ iε disassem-ìè
-
- 59
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- bleΣá forφá a≤á par⌠ oµ thσ outpu⌠ oµ thσá "Xóá commanΣá (displa∙ ì
- machinσá state)«á Bea≥ iε minΣ tha⌠ ARG1 i≤ no⌠ thσá addres≤á a⌠ ì
- whicΦ singlσ steppinτ i≤ t∩ begin╗ i⌠ i≤ ß coun⌠ t∩ thσ numbe≥ oµ ì
- instruction≤á t∩ execute«á Iµ thσ use≥ desire≤ t∩ singlσ ste≡ a⌠ ì
- aεá addres≤ othe≥ thaε thσ onσ containeΣ iε thσ prograφá counter¼ ì
- theεá thσ P├ registe≥ mus⌠ bσ modifieΣ viß thσ ╥á commanΣá beforσ ì
- thσ singlσ ste≡ commanΣ i≤ issueΣ t∩ Z8E.
-
- Allowinτá thσá conveniencσ oµ enterinτ "Só <cr╛á t∩á executσá onσ ì
- instructioε ha≤ thσ sidσ effec⌠ oµ no⌠ allowinτ thσ use≥ t∩ abor⌠ ì
- thσá commanΣ iε betweeε thσ timσ thσ "Só i≤ typeΣ anΣ thσ <cr╛ i≤ ì
- entereΣ b∙ simpl∙ omittinτ aε argumen⌠ anΣ typinτ <cr>«á Iµá yo⌡ ì
- changσ you≥ minΣ anΣ wan⌠ t∩ cance∞ thσ command¼ typσ iε aε inva-ì
- liΣá argumen⌠á a≤ ARG1«á Thi≤ wil∞ causσ ß questioε marδá t∩á bσ ì
- displayed╗ however¼ n∩ instructioε wil∞ bσ executed«
-
- Durinτá blocδá tracinτ (ARG1 greate≥ thaε 1⌐ thσ commanΣá ma∙á bσ ì
- terminated by hitting any key on the keyboard.
-
- Thσá ╙ commanΣ doe≤ no⌠ relocatσ instruction≤ beforσ executioε a≤ ì
- doe≤ thσ ╟ commanΣ (seσ ╟ command)« Hence¼ i⌠ i≤ no⌠ possiblσ t∩ ì
- single step through each iteration of a DJNZ $ instruction.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 60
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- U Write Symbol Table to Disk
- _________________________________________________________________
-
-
- Thσá ╒ commanΣ allow≤ thσ use≥ t∩ writσ thσ curren⌠ symbo∞á tablσ ì
- to a disk file. The format of the command is:
-
-
- *U ARG1
-
- áááááááááááááááARG▒á i≤ thσ namσ oµ thσ filσ t∩ whicΦ thσá symbo∞ ì
- ááááááááááááááátable is to be written.
-
- Thi≤á commanΣ i≤ usefu∞ t∩ savσ an∙ symbo∞ name≤ entereΣá b∙á thσ ì
- use≥á viß thσ ┴ command«á Thσ entirσ symbo∞ tablσ i≤ writteεá t∩ ì
- disδ usinτ thσ forma⌠ oµ ß .SY═ filσ (seσ appendi° A)« Thσ tablσ ì
- caε bσ subsequentl∙ loadeΣ a⌠ thσ nex⌠ invokatioε oµ Z8E.
-
- Notσá tha⌠ sincσ thσ filσ i≤ storeΣ a≤ ß .SY═ formatteΣ filσá thσ ì
- use≥ shoulΣ usσ ß filσ namσ extensioε tha⌠ begiε witΦ thσ lette≥ ì
- "S"«á Thi≤á i≤ duσ t∩ thσ fac⌠ tha⌠ thσ nex⌠ timσ Z8┼ load≤ thi≤ ì
- symbo∞á filσ i⌠ wil∞ examinσ thσ thσ firs⌠ characte≥ oµ thσá filσ ì
- namσ extension«á Iµ thσ firs⌠ characte≥ i≤ aε "Só thσ forma⌠á i≤ ì
- assumeΣ t∩ bσ .SY═ anΣ thσ symbo∞ tablσ i≤ buil⌠ accordingly╗ thσ ì
- appearancσá oµ an∙ othe≥ lette≥ i≤ takeε t∩ indicatσ ß .PR╬ file«
-
- Iµá ß filσ witΦ thσ namσ ARG▒ alread∙ exist≤ oε disδ i⌠á wil∞á bσ ì
- deleted«
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 61
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- V Verify two memory blocks
- _________________________________________________________________
-
-
- Thσá ╓á commanΣ allow≤ thσ use≥ t∩ comparσ tw∩ block≤ oµá memory« ì
- Z8E wil∞ displa∙ al∞ difference≤ betweeε thσ two«á Thσ forma⌠ oµ ì
- thσ commanΣ is:
-
- *V ARG1 ARG2 ARG3
-
- where ARG1 = the starting address of memory block 1
-
- áááááááááááááááááARG2 = the ending address of memory block 1
-
- ARG3 = áthe starting address of memory block 2
-
- Z8E compare≤ memor∙ blocδ ▒ t∩ memor∙ blocδ ▓ bytσ b∙ byte« If ß ì
- mismatcΦá occur≤á Z8E wil∞ displa∙ thσ addres≤ iε eacΦá blocδá a⌠ ì
- whicΦá thσ mismatcΦ wa≤ found¼á a≤ wel∞ a≤ thσ bytσ containeΣá a⌠ ì
- eacΦ address«á Thσ comparisoε continue≤ unti∞ thσ endinτ addres≤ ì
- i≤ reached.
-
- Thσá use≥ ma∙ hal⌠ thσ commanΣ a⌠ an∙ timσ b∙ depressinτ an∙á ke∙ ì
- on the keyboard.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 62
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- W write memory to disk
- _________________________________________________________________
-
-
- Thσá ╫ commanΣ allow≤ thσ use≥ t∩ writσ thσ content≤ oµ memor∙ t∩ ì
- a disk file. The format of the command is:
-
- *W arg1 [arg2 arg3]
-
- ARG▒á i≤ thσ namσ oµ ß filσ t∩ whicΦ writinτá wil∞ ì
- ááááááááááááááátakσ place.
-
- áááááááááááááááARG▓ anΣ ARG│ arσ thσ optiona∞ startinτ anΣ endinτ ì
- áááááááááááááááaddresse≤á oµ thσ portioε oµ memor∙ t∩ bσá writteε ì
- ááááááááááááááát∩á thσ disk«á Iµ thσ addresse≤ omitteΣ theεá thσ ì
- ááááááááááááááámemor∙á blocδá t∩á bσ writteε i≤á defineΣá b∙á thσ ì
- ááááááááááááááástartinτá anΣá endinτ addresse≤ oµ thσá las⌠á filσ ì
- áááááááááááááááloaded«á Thesσá addresse≤ caε bσá redisplayeΣá b∙ ì
- áááááááááááááááenterinτ thσ ╔ commanΣ witΦ n∩ arguments.
-
-
- Z8┼á alway≤á delete≤ an∙ filσ oε disδ whosσ namσ i≤ thσá samσá a≤ ì
- ARG1« Iµ n∩ filσ b∙ thi≤ namσ exist≤ theε Z8┼ wil∞ automaticall∙ ì
- creatσ it.
-
- Z8┼ wil∞ ech∩ thσ startinτ memor∙ addres≤ anΣ continuall∙á updatσ ì
- thσ endinτ memor∙ addres≤ a≤ thσ writinτ t∩ disδ take≤ place.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 63
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- X display machine state
- _________________________________________________________________
-
-
- Thσáá ╪á commanΣá display≤á thσá curren⌠á content≤á oµá al∞á use≥ ì
- registers. The format of the command is:
-
- *X
-
- no arguments are required
-
- Z8┼á display≤ display≤ al∞ registers¼á excep⌠ thσ ╔ registe≥á anΣ ì
- thσ ╥ register¼á oε tw∩ line≤ oµ thσ console«á Iε addition¼á thσ ì
- instructioε pointeΣ t∩ b∙ thσ user'≤ prograφ counte≥ i≤ disassem-ì
- bleΣ anΣ displayeΣ oε thσ seconΣ line«á Thinδ oµ thi≤ a≤ thσ "oε ì
- deckóá instruction║á thσ instructioε tha⌠ wil∞ bσ executeΣá upoε ì
- thσ receip⌠ oµ thσ nex⌠ ╟ (GO⌐ o≥ ╙ (SINGL┼ STEP⌐ command.
-
- To inspect the I or R registers use the R command.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 64
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- Y fill memory
- _________________________________________________________________
-
-
- Thσá ┘ commanΣ fill≤ ß use≥ specifieΣ blocδ oµ memor∙ witΦ ß use≥ ì
- specifieΣá patterε oµ bytes¼á thσ lengtΦ oµ whicΦ i≤ limiteΣ onl∙ ì
- by the length of Z8E's input buffer which is 80 bytes long:
-
- *Y ARG1 ARG2 ARG3 <cr>
-
- where ARG1 = thσá startinτ addres≤ oµ thσ blocδ ì
- ááááááááááááááááááááááááááááááát∩ fill
-
- ARG2 = thσ endinτ addres≤ oµ thσ blocδ t∩ ì
- áááááááááááááááááááááááááááááááfill
-
- ARG3 = i≤ thσ datß patterε t∩ bσá writteε ì
- ááááááááááááááááááááááááááááááát∩á memory«á ARG3 i≤ evaluateΣ b∙ ì
- áááááááááááááááááááááááááááááááZ8┼ a≤ typσ ARGUMENT-STRIN╟á whicΦ ì
- áááááááááááááááááááááááááááááááma∙á bσ oµ an∙ lengtΦ iε thσ rangσ ì
- áááááááááááááááááááááááááááááááoµá ▒ througΦ thσ numbe≥ oµá byte≤ ì
- áááááááááááááááááááááááááááááááremaininτ iε thσ inpu⌠ buffe≥ oncσ ì
- áááááááááááááááááááááááááááááááARG1 anΣ ARG2 havσ been input.
-
-
- Thσ ┘ commanΣ give≤ thσ use≥ thσ capabilit∙ to initializσ memor∙ ì
- t∩á an∙á datß pattern«á Thσ capabilit∙á oµá enterinτá multi-bytσ ì
- string≤á a≤ thσ datß patterε witΦ whicΦ t∩ fil∞ memor∙ allow≤ thσ ì
- use≥ t∩ storσ repeatinτ pattern≤ oµ datß iε memor∙ witΦ ßá singlσ ì
- command. For example if the user entered the command:
-
- *Y 1000 127C 'abcd',16,77
-
- Z8┼á woulΣá begiε writinτ thσ ╢ bytσ patterε (6▒ 6▓ 6│ 6┤ 1╢á77⌐ ì
- entereΣá a≤ ARG│ startinτ a⌠ addres≤ 1000«á Thi≤á patterεá woulΣ ì
- repea⌠ a⌠ addres≤ 1006¼ 100C¼ 1012¼ etc«
-
- Thσ commanΣ end≤ afte≥ ß bytσ i≤ writteε t∩ thσ ARG▓ addres≤ eveε ì
- iµá thi≤ bytσ doe≤ no⌠ represen⌠ thσ las⌠ bytσ iε thσ ARG│ block« ì
- Iε thσ abovσ examplσ thσ commanΣ woulΣ enΣ wheε ß bytσ i≤ writteε ì
- t∩ addres≤ 127├ eveε iµ tha⌠ bytσ i≤ no⌠ 77«
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 65
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- Z disassemble command
- _________________________________________________________________
-
-
- Thσá ┌á commanΣ allow≤ thσ use≥ t∩ disassemblσ ß blocδá oµá data« ì
- Z8Eá perform≤á disassembly¼á whicΦ i≤ thσ translatioεá oµá binar∙ ì
- memor∙ datß int∩ sourcσ codσ format¼á usinτ thσ ful∞ Z8░ instruc-ì
- tioε se⌠ anΣ Ziloτ mnemonics«á Thσ resultan⌠ sourcσ codσ ma∙á bσ ì
- directeΣá t∩ thσ consolσ o≥ t∩ thσ consolσ anΣ ß disδ filσ simul-ì
- taneously« Z8E als∩ allow≤ thσ use≥ t∩ disassemblσ interactivel∙ ì
- wheε ARG2 i≤ equa∞ t∩ 1« Thσ forma⌠ oµ thσ commanΣ is:
-
- *Z ARG1 [ARG2 ARG3] <cr>
-
- whereá ARG1á =á thσ star⌠ addres≤ a⌠ whicΦ disa-ì
- ááááááááááááááááááááááááááááááááássembl∙ i≤ t∩ begin
-
- ARG2 =áá i≤á optiona∞ anΣ representsá thσ ì
- áááááááááááááááááááááááááááááááááuppe≥á limi⌠ oµ thσá disassembl∙ ì
- áááááááááááááááááááááááááááááááááproces≤ (seσ detail≤ below)
-
- ARG3 =á i≤á aε optiona∞ filσ namσ speci-ì
- áááááááááááááááááááááááááááááááááficatioε fo≥ disassembl∙ t∩ disδ
-
- áááááááááááááááARG1 ma∙ bσ oµ an∙ argumen⌠ type«
-
- áááááááááááááááARG2á i≤á treateΣ iε onσ oµ tw∩ way≤ dependinτá oε ì
- áááááááááááááááit≤á value:á
-
- ááááááááááááááááá1)áIµá ARG2 evaluate≤ t∩ ß numbe≥ betweeε ▒á anΣ ì
- áááááááááááááááááááá25╡á (decimal⌐ Z8E wil∞ disassemblσ iε "blocδ ì
- áááááááááááááááááááámodeó anΣ ARG2 become≤ ß coun⌠ oµ thσá numbe≥ ì
- ááááááááááááááááááááoµ instruction≤ pe≥ blocδ t∩ disassemble«á A≤ ì
- ááááááááááááááááááááwil∞á bσá explaineΣ below¼á Z8E pause≤á afte≥ ì
- ááááááááááááááááááááeacΦá blocδá i≤ disassembleΣ anΣá allow≤á thσ ì
- ááááááááááááááááááááuse≥ t∩ continuσ o≥ t∩ terminatσ thσ command.
- ì
- ááááááááááááááááááááIµ ARG2 i≤ omitteΣ altogethe≥ ß defaul⌠ blocδ ì
- áááááááááááááááááááásizσ oµ ▒ i≤ used«
- áááááááááááááááááááá
- ááááááááááááááááááááWheneve≥ ARG2 equal≤ 1¼á eithe≥ explicitl∙ o≥ ì
- ááááááááááááááááááááb∙ default¼á Z8E allow≤ interactivσ disassem-ì
- áááááááááááááááááááábl∙ whicΦ allow≤ thσ use≥ t∩ choosσ thσá out-ì
- áááááááááááááááááááápu⌠á forma⌠ oµ thσ data«á Interactivσ disas-ì
- áááááááááááááááááááásembl∙ i≤ discusseΣ below.
-
- ááááááááááááááááá2)áIµá ARG2 evaluate≤ t∩ ß numbe≥á greate≥á thaε ì
- áááááááááááááááááááá25╡á i⌠á i≤ assumeΣ t∩ bσ aε endinτá address« ì
- ááááááááááááááááááááIεá thi≤ casσ disassembl∙ wil∞á proceeΣá froφ ì
- áááááááááááááááááááástartinτá addres≤á (ARG1⌐ t∩á endinτá addres≤ ì
- áááááááááááááááááááá(ARG2⌐ anΣ n∩ use≥ interventioε i≤ required.
- ì
- áááááááááááááááARG3¼á iµ present¼á i≤ assumeΣ t∩ bσ thσ namσ oµ ß ì
- ááááááááááááááádisδá filσ int∩ whicΦ thσ disassembleΣ outpu⌠ wil∞ ì
- ááááááááááááááábσ written«á Z8E searche≤ thσ specifieΣ disδá fo≥ ìè
-
- 66
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- áááááááááááááááthσá nameΣ file«á Iµ thσ filσ i≤ found¼á theε al∞ ì
- ááááááááááááááádisassembleΣ outpu⌠ wil∞ bσ writteε t∩á it¼á over-ì
- áááááááááááááááwritinτ an∙ datß tha⌠ existeΣ there«á Iµ thσ filσ ì
- ááááááááááááááádoe≤á no⌠ exis⌠ thσ filσ wil∞ bσ createΣ usinτ thσ ì
- ááááááááááááááánamσ specifieΣ iε ARG3«
-
- áááááááááááááááNOTE║á Iµá ARG3 i≤ presen⌠ ARG2 mus⌠ bσ explicitl∙ ì
- áááááááááááááááspecified¼ otherwisσ Z8E wil∞ mistakenl∙ trea⌠ thσ ì
- áááááááááááááááfilσ namσ a≤ ARG2.
-
- Z8E outputs to the console using the following format:
-
- ADDRESS OBJECT CODE LABEL: OPCODE OPERAND
-
-
- Z8E writes to disk using the following formart:
-
- LABEL: OPCODE OPERAND
-
- Z8Eá disassemble≤á memor∙ blocδ b∙ blocδ iεá thσá use≥á specifieΣ ì
- blocδá size«á Afte≥á eacΦá blocδ i≤ outpu⌠ Z8E pause≤á fo≥á use≥ ì
- input«á ┴ carriagσ returε inpu⌠ b∙ thσ use≥ terminate≤ thσá com-ì
- mand¼á whilσá an∙á othe≥á characte≥ cause≤ thσ nex⌠ blocδá t∩á bσ ì
- disassembleΣ (unles≤ interactivσ modσ i≤ iε effect)« Perhap≤ thσ ì
- mos⌠ convenien⌠ wa∙ t∩ disassemblσ i≤ t∩ specif∙ ß coun⌠ oµá one¼ ì
- eithe≥ explicit∙ o≥ b∙ omittinτ ARG2¼ anΣ t∩ usσ thσ spacσ ba≥ a≤ ì
- aεá on/ofµ switch«á Holdinτ dowε thσ spacσ ba≥ produce≤á output¼ ì
- releasinτá thσá spacσá ba≥ end≤ output.
-
- Z8E'≤á disassemble≥ i≤ especiall∙ powerfu∞ wheε useΣ iεá conjunc-ì
- tioεá witΦ thσ symbo∞ facility«á B∙ buildinτ ß symbo∞ tablσ witΦ ì
- botΦá .PR╬ anΣ .SY═ files¼á and/o≥ creatinτ use≥á defineΣá symbo∞ ì
- name≤á vißá thσá ┴ command¼á thσ use≥ caε virtuall∙á recreatσá aε ì
- assemble≥ outpu⌠ listinτ (minu≤ thσ comments⌐ witΦ Z8Eá insertinτ ì
- label≤ anΣ symboliπ operand≤ whereve≥ possible.
-
- Iµá Z8E canno⌠ matcΦ aε operanΣ iε thσ disassembleΣá instructioε ì
- t∩á ß correspondinτ symbo∞ iε thσ symbo∞ table¼á o≥ iµ n∩á symbo∞ ì
- tablσ exists¼ Z8E use≤ thσ hexadecima∞ value.
-
- Iµ multiplσ symbol≤ iε thσ symbo∞ tablσ arσ equa∞ t∩ thσ samσá 1╢ ì
- bi⌠á valuσá o≥ address¼á Z8E disassemble≤ usinτ thσ firs⌠á symbo∞ ì
- namσá encountereΣá iεá thσ searcΦ oµ thσ symbo∞á tablσá whicΦá i≤ ì
- equateΣ t∩ thσ 1╢ bi⌠ operanΣ specifieΣ iε thσ instructioεá beinτ ì
- disassembled«á Thi≤á wil∞ unavoidabl∙ producσ aε occasiona∞ mis-ì
- nameΣá operanΣ wheε morσ thaε onσ symbo∞ namσ i≤ equateΣá t∩á thσ ì
- samσá 1╢á bi⌠ value«á
-
- Z8┼á doe≤ no⌠ substitutσ symbo∞ name≤ iε thosσá Z8░á instruction≤ ì
- whicΦ referencσ ╕ bi⌠ immediatσ datß (ie«á L─ A,24H)« Eigh⌠ bi⌠ ì
- immediatσá datßá i≤ disassembleΣ a≤ ß quoteΣ ASCI╔á characte≥á iµ ì
- it'≤ absolutσ valuσ i≤ iε thσ rangσ 2░ he° t∩ 7┼ hex╗á otherwise¼ ì
- i⌠ i≤ disassembleΣ a≤ ß he° byte.
-
- Outpu⌠ b∙ Z8E t∩ ß disδ filσ i≤ instantl∙ assemblablσ b∙ mos⌠ an∙ ìè
-
- 67
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- assemble≥ whicΦ accept≤ Ziloτ mnemonic≤ withou⌠ an∙ modification≤ ì
- other than addinτ aε EN─ statemen⌠ a⌠ thσ enΣ oµ thσ file.
-
- Wheεá disassemblinτ ß blocδ oµ memor∙ (startinτ addres≤ t∩ endinτ ì
- address⌐á thσá disassembl∙ proces≤ ma∙ bσ halteΣ a⌠ an∙á timσá b∙ ì
- depressinτ an∙ ke∙ oε thσ keyboard.
-
- Interactivσá disassembl∙ allow≤ thσ use≥ t∩ specif∙ thσ forma⌠ oµ ì
- thσ sourcσ codσ produceΣ b∙ disassembl∙ oε ß linσ b∙ linσá basis« ì
- Interactivσá mode¼á whicΦá i≤ alway≤ iε effec⌠ wheneve≥á ARG2á i≤ ì
- equa∞ t∩ 1¼á cause≤ Z8E t∩ pausσ afte≥ eacΦ instructioε i≤ disas-ì
- sembled«á Thi≤á pausσ fo≥ inpu⌠ permit≤ thσ use≥ t∩ ente≥ onσ oµ ì
- thσ followinτ command≤ t∩ choosσ thσ desireΣ outpu⌠ format:
-
-
- CHARACTER OUTPUT FORMAT EXAMPLE
-
-
- ┴ ASCI╔ DEFB DEFB 'Q'
-
- B HEX DEFB DEFB 23H
-
- C CODE EX DE,HL
-
- D HEX DEFW DEFW 02FCH or
- DEF╫ LABEL
-
- ; add COMMENT ;This is a Comment
-
- carriage (terminate command)
- return
-
- any other PROCEED TO THE
- character NEXT INSTRUCTIONááááá
-
-
- ASCII DEFB:
- áááááThσá content≤ oµ memor∙ a⌠ thσ curren⌠ disassembl∙á ad-ì
- ááááádres≤ i≤ converteΣ t∩ ß quoteΣ ASCI╔ character« Value≤ ì
- áááááles≤á thaε hexadecima∞ 2░ (ASCI╔ space⌐ o≥ greate≥ thaε ì
- áááááhexadecima∞á 7┼á (ASCI╔ tilde⌐ canno⌠á bσá disassembleΣ ì
- áááááint∩ thi≤ format«
-
- áááááHEX DEFB:
- áááááThσ ╕ bi⌠ content≤ oµ memor∙ a⌠ thσ curren⌠ disassembl∙ ì
- áááááaddres≤ arσ converteΣ t∩ ß he° byte.
-
- áááááCODE:
- áááááThi≤á i≤ thσ norma∞ defaul⌠ fo≥á disassembly«á A≤á Z8E ì
- ááááámove≤á oεá t∩ ß ne≈ addres≤ i⌠ wil∞ alway≤ displa∙á thσ ì
- ááááácontent≤á oµ memor∙ a≤ ß Z8░ instruction«á Thσ "Cóá i≤ ì
- áááááonl∙á needeΣ t∩ redispla∙ thσ content≤ oµ memor∙ a≤á aε ì
- áááááinstructioε haΣ onσ oµ thσ othe≥ character≤ (A¼á B¼á o≥ ì
- áááááD⌐ alread∙ havσ beeε entered«
-
- è
-
- 68
-
-
-
-
-
- Z8E - Z80 DEBUG MONITOR Rick Surwilo
-
-
- áááááHEX DEFW:
- áááááThσ content≤ oµ thσ tw∩ byte≤ oµ memor∙ startinτ a⌠ thσ ì
- áááááloactioε oµ thσ curren⌠ disassembl∙ addres≤ arσá outpu⌠ ì
- áááááa≤á ßá definσá worΣ directive«á Thσá bytσá pointeΣá t∩ ì
- ááááádirectl∙ b∙ thσ curren⌠ disassembl∙ addres≤ become≤ thσ ì
- ááááálo≈ orde≥ bytσ oµ thσ operand« Thσ bytσ a⌠ disassembl∙ ì
- áááááaddres≤ plu≤ onσ become≤ thσ higΦ orde≥ byte.
-
- ááá NOTE:
- ááááááááááááIµá Z8E haΣ jus⌠ disassembleΣá ßá multi-ì
- áááááááááááábytσá Z8░á instructioε anΣ thσ use≥á en-ì
- áááááááááááátereΣ an∙ oµ thσ character≤ listeΣ abovσ ì
- áááááááááááá(A¼á B¼ C¼ o≥ D⌐ onl∙ thσ firs⌠ byte¼ o≥ ì
- ááááááááááááfirs⌠á tw∩ fo≥ "D"¼á oµ thσá instructioε ì
- ááááááááááááwoulΣá bσá converteΣá t∩á thσá requesteΣ ì
- ááááááááááááformat«á Thσá remaininτá byte≤á oµá thσ ì
- ááááááááááááinstructioεá woulΣ bσ treateΣ a≤á ßá ne≈ ì
- ááááááááááááZ8░á instructioε oncσ thσ use≥ proceedeΣ ì
- áááááááááááát∩ thσ nex⌠ disassembl∙ address«
-
- áááááADDING COMMENTS
- áááááZ8┼á allow≤á thσá use≥ t∩ adΣ onσ commen⌠ pe≥á linσá oµ ì
- ááááádisassembleΣ code« Iµ MAXLE╬ i≤ se⌠ t∩ ╢ theε comment≤ ì
- áááááma∙ bσ u≡ t∩ 2╣ character≤ iε length«á Iµ MAXLE╬ i≤ se⌠ ì
- ááááát∩á 1┤á theεá comment≤ ma∙ bσ u≡ t∩á 1╢á character≤á iε ì
- ááááálength.
-
-
- Iµá durinτá disassembly¼á Z8Eá encounter≤ datßá whicΦá canno⌠á bσ ì
- disassembleΣá int∩á ß valiΣ Z8░ instructioε i⌠ wil∞á displa∙á thσ ì
- data as DEFB's.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 69
-
-
-
-
-
- APPENDIX A
-
-
-
-
-
-
-
-
-
- FILE FORMAT FOR SYMBOL TABLES
-
- Z8┼á i≤á currentl∙ se⌠ u≡ t∩ bσ ablσ t∩ reaΣ an∙ oµá thσá listinτ ì
- file≤ whicΦ appea≥ below:
-
- 1. Microsoft MACRO-80 V3.37 .PRN Files May 8, 1980
- 2. Microsoft MACRO-80 V3.44 .PRN Files Dec 9, 1981
- 3. Microsoft LINK-80 V3.44 .SYM Files Dec 9, 1981
- 4. SLR Systems Z80ASM V1.07 .LST Files
- áááá5. SLR Systems SLRNK V1.07 .SYM Filesáááááá
-
- The unique characteristics of each are:
-
- ááááMACRO-80 V3.37
-
- ááááZ8┼á searche≤á fo≥á thσ ╕ bytσ strinτ "Symbols:óá iεá thσ ì
- ááááfile«á Oncσ thi≤ strinτ i≤ found¼á Z8┼ expect≤ aεá ASCI╔ ì
- áááácarriagσá returε characte≥ anΣ aε ASCI╔ linσ feeΣ charac-ì
- ááááte≥á t∩ bσ thσ nex⌠ tw∩ byte≤ iε thσ file«á Thσá symbo∞ ì
- áááátablσ listinτ shoulΣ begiε iε thσ nex⌠ characte≥ positioε ì
- ááááiε thσ file.
-
- ááááEacΦá linσá oµá thσ symbo∞ tablσá listinτá contain≤á fou≥ ì
- áááásymbo∞ name≤ anΣ aε associateΣ address«
-
- ááááIµá thσ characte≥ followinτ thσ symbol'≤ he° valuσ i≤á aε ì
- ááááapostophe¼á thσá symbo∞ i≤ considereΣ t∩ bσ prograφ rela-ì
- áááátive«á Iµá thσ use≥ specifieΣ ß bia≤ iε thσ commanΣá linσ ì
- ááááthσ bia≤ wil∞ bσ addeΣ t∩ thσ symbol'≤ value.
-
- ááááIµá thσ characte≥ followinτ thσ symbol'≤ he° valuσ i≤á aε ì
- áááá"Ióá (meaninτá tha⌠ thσ symbo∞ i≤ globall∙ defined⌐á theε ì
- ááááthσá characte≥ followinτ thσ "Ió i≤á examined«á Iµá thi≤ ì
- áááácharacte≥ i≤ aε apostrophσ i⌠ i≤ considereΣ t∩ bσ prograφ ì
- áááárelativσá anΣá thσá bias¼á iµ specifieΣ i≤ addeΣá t∩á thσ ì
- áááávalue.
-
- ááááIµá thσ characte≥ followinτ thσ he° symbo∞ valuσá o≥á thσ ì
- áááá"Ió i≤ an∙ characte≥ beside≤ aε apostrophe¼ thσ symbo∞ i≤ ì
- ááááconsidereΣ absolutσ anΣ thσ bia≤ wil∞ no⌠ bσ added.
-
- ááááThσá filσ shoulΣ bσ terminateΣ witΦ thσ CP/═á end-of-filσ ì
- áááácharacte≥ (contro∞ ┌ whicΦ i≤ equivalen⌠ t∩ ß he° 1A).
-
- ááááIµá thσ strinτ "Symbolsó i≤ neve≥ found¼á Z8┼ print≤á thσ ì
- áááámessage║ Symbo∞ Tablσ no⌠ Found
-
-
-
-
- 70
-
-
-
-
-
- APPENDIX A
-
-
- ááááMACRO-8░ V3.44
-
- ááááZ8┼á searche≤á fo≥á thσ ╕ bytσ strinτ "Symbols:óá iεá thσ ì
- ááááfile«á Oncσ thi≤ strinτ i≤ found¼á Z8┼ expect≤ aεá ASCI╔ ì
- áááácarriagσá returε characte≥ anΣ aε ASCI╔ linσ feeΣ charac-ì
- ááááte≥á t∩ bσ thσ nex⌠ tw∩ byte≤ iε thσ file«á Thσá symbo∞ ì
- áááátablσ listinτ shoulΣ begiε iε thσ nex⌠ characte≥ positioε ì
- ááááiε thσ file.
-
- ááááIεá thi≤á releasσ oµ MACRO-8░ thσ forma⌠á oµá thσá symbo∞ ì
- áááátablσ i≤ completel∙ oppositσ oµ V3.37«á Tha⌠ is¼ thσ he° ì
- áááávaluσ appear≤ beforσ thσ symbo∞ name«á Iε addition¼ thesσ ì
- ááááhe° value/symbo∞ namσ combinatioε appea≥ threσ pe≥ line.
-
- ááááThσá characte≥á appearinτ afte≥ thσ he° valuσá i≤á inter-ì
- áááápreteΣ a≤ describeΣ fo≥ versioε 3.37«
-
- ááááIµá thσ strinτ "Symbolsó i≤ neve≥ found¼á Z8┼ print≤á thσ ì
- áááámessage║ Symbo∞ Tablσ no⌠ Found
-
- áááá
- ááááLINK-80 V3.44
-
- ááááLINK-8░á caεá optionall∙ producσ ß linδ ma≡á (.SY═á file⌐ ì
- ááááwhicΦá list≤á al∞á globall∙ defineΣ symbol≤ iµá thσá use≥ ì
- ááááspecifie≤á thσá "Yó optioε thσá L8░á commanΣá line«á Z8┼ ì
- áááátreat≤á al∞ symbol≤ name≤ loadeΣ froφ ß LINK-8░ .SY═ filσ ì
- ááááa≤ absolutσ (non-relocatable⌐á addresses«á Nevertheless¼ ì
- ááááiµá thσ use≥ specifie≤ ß bias¼á i⌠ wil∞ bσ addeΣ t∩ ever∙ ì
- áááásymbo∞ valuσ reaΣ iε froφ thσ .SY═ file.
-
- ááááZ8┼á expect≤á thσ firs⌠ symbo∞ valuσ iε ßá .SY═á filσá t∩ ì
- áááábegiεá iεá thσá firs⌠ bytσ positioε iεá thσá file«á EacΦ ì
- áááásymbo∞ valuσ consist≤ oµ fou≥ hexadecima∞ byte≤ iεá ASCI╔ ì
- ááááfolloweΣá b∙ ß taΓ character«á Immediatel∙ afte≥ thσ taΓ ì
- áááácharacte≥ i≤ thσ symbo∞ namσ whicΦ ma∙ bσ betweeε onσ anΣ ì
- áááási° alphanumeriπ character≤ iε length«á Thσ symbo∞á namσ ì
- áááái≤á followeΣá b∙ ß taΓ anΣ thσ sequencσá repeats«á Ever∙ ì
- ááááfourtΦá symbo∞ value/symbo∞ namσ pai≥ shoulΣ bσá followeΣ ì
- ááááb∙ ß carriagσ returε anΣ linσ feed.
-
- ááááThσá filσ shoulΣ bσ terminateΣ witΦ thσ CP/═á end-of-filσ ì
- áááácharacte≥ (contro∞ ┌ whicΦ i≤ equivalen⌠ t∩ ß he° 1A).
-
-
- ááááZ80ASM
-
- ááááZ80AS═á ma∙á bσ configureΣ t∩ producσ eithe≥á 8░á o≥á 13▓ ì
- áááácolumε output.
-
- ááááZ8┼ searche≤ fo≥ thσ ╕ bytσ strinτ "Symbo∞ Table:ó iε thσ ì
- ááááfile«á Thi≤á strinτ neeΣ no⌠ bσ a⌠ thσ beginninτ oµá thσ ì
- ááááfile╗á Z8┼ wil∞ scaε thσ entirσ filσ lookinτ fo≥ it« Oncσ ì
- ááááthi≤á strinτá i≤ found¼á Z8┼ expect≤á aεá ASCI╔á carriagσ ì
- ááááreturεá characte≥ anΣ aε ASCI╔ linσ feeΣ characte≥ t∩á bσ ìè
-
- 71
-
-
-
-
-
- APPENDIX A
-
-
- ááááthσ nex⌠ tw∩ byte≤ iε thσ file«á Thσ symbo∞ tablσ list-ì
- ááááinτá shoulΣá begiε iε thσ nex⌠ characte≥ positioε iεá thσ ì
- ááááfile.
-
- ááááIεá ß Z80AS═ .LS╘ filσ thσ he° valuσ appear≤á beforσá thσ ì
- áááásymbo∞á name«á He° value/symbo∞ namσ combination≤á appea≥ ì
- ááááthreσ pe≥ line«á Z80AS═ symbo∞ name≤ ma∙ contaiε u≡ t∩ 1╢ ì
- áááácharacters« Z8┼ wil∞ accep⌠ thσ firs⌠ 1┤ character≤ oµ ß ì
- áááásymbo∞ namσ iµ MAXLE╬ i≤ se⌠ t∩ 1┤ o≥ thσ firs⌠ ╢ charac-ì
- ááááter≤ iµ MAXLE╬ i≤ se⌠ t∩ 6«
-
- ááááIµ thσ strinτ "Symbo∞ Table:ó i≤ neve≥ found¼á Z8┼ print≤ ì
- ááááthσ message║
-
- Symbo∞ Tablσ No⌠ Found
-
- ááááSLRNK
-
- ááááSLRN╦á caεá optionall∙á producσ ß linδá ma≡á (.SY═á File⌐ ì
- áááásimila≥á t∩ thσ onσ produceΣ b∙ Link-80«á Z8┼ treat≤á al∞ ì
- áááásymbol≤á loadeΣ froφ ß SLRN╦ .SY═ filσ a≤á absolutσá sym-ì
- áááábols« However¼ a≤ iε thσ casσ oµ Link-8░ .SY═ files¼ Z8┼ ì
- ááááwil∞á adΣá ßá relocatioε bia≤ t∩ eacΦ symbo∞á iµá onσá i≤ ì
- ááááspecified.
-
- ááááEacΦá symbo∞ valuσ iε ß SLRN╦ .SY═ filσ consist≤ oµá fou≥ ì
- ááááhexadecima∞á byte≤á followeΣ b∙ ß spacσ followeΣá b∙á thσ ì
- áááásymbo∞á name«á Thσ symbo∞ namσ i≤ followeΣ b∙ tw∩á ASCI╔ ì
- áááátaΓ characters«á
-
- ááááUse SLRNK's /M option to produce a link map.
-
-
- NOTE:
-
- ááááWhilσ readinτ iε ß MACRO-8░ .PR╬ file¼á o≥ ß Z80AS═á .LS╘ ì
- ááááfile¼á Z8┼ i≤ capablσ oµ readinτ aε entirσ assembl∙ list-ì
- ááááinτá filσá lookinτ fo≥ thσ "Symbols:ó strinτá o≥á "Symbo∞ ì
- ááááTable:ó string«á Thesσ string≤ neeΣ no⌠ bσ locateΣ a⌠ thσ ì
- áááábeginninτá oµá thσ file«á However¼á thσ loadinτá oµá thσ ì
- áááásymbo∞á tablσá wil∞á bσ speedeΣ u≡á considerabl∙á iµá thσ ì
- áááásymbo∞á tablσá i≤á thσ onl∙ datß iε thσá file«á Thi≤á i≤ ì
- ááááaccomplisheΣ quitσ easil∙ iε botΦ MACRO-8░ b∙ turninτ ofµ ì
- ááááthσá listinτá durinτ aε assembl∙ througΦ thσ usσá oµá thσ ì
- áááá.XLIS╘ directive« Thσ listinτ caε theε bσ turneΣ bacδ oε ì
- áááájus⌠ prio≥ t∩ thσ EN─ directivσ viß ß .LIS╘ directivσá t∩ ì
- ááááensurσ tha⌠ thσ symbo∞ tablσ i≤ writteε t∩ disk.
-
- ááááIµá yo⌡á arσ usinτ Z80AS═ usσ thσ /╙ optioεá t∩á instruc⌠ ì
- ááááZ80AS═ t∩ producσ ß symbo∞ file.
-
-
-
- Z8┼á i≤ ablσ t∩ proces≤ symbo∞ table≤ whicΦ occup∙ multiplσ page≤ ì
- iε an∙ oµ thσ filσ type≤ mentioneΣ above« Heading≤ whicΦ precedσ ìè
-
- 72
-
-
-
-
-
- APPENDIX A
-
-
- eacΦ pagσ arσ automaticall∙ ignoreΣ b∙ Z8E«
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- APPENDIX B - ZILOG MNEMONICS
-
-
-
-
- 0049 NN EQU 49H ;8 BIT OPERAND
- 123F NNNN EQU 123FH ;16 BIT OPERAND
- 0036 INDEX EQU 36H ;INDEX REGISTER INDEX
-
- 010B 8E ADC A,(HL)
- 010C DD 8E 36 ADC A,(IX+INDEX)
- 010F FD 8E 36 ADC A,(IY+INDEX)
- 0112 8F ADC A,A
- 0113 88 ADC A,B
- 0114 89 ADC A,C
- 0115 8A ADC A,D
- 0116 8B ADC A,E
- 0117 8C ADC A,H
- 0118 8D ADC A,L
- 0119 CE 49 ADC A,NN
- 011B ED 4A ADC HL,BC
- 011D ED 5A ADC HL,DE
- 011F ED 6A ADC HL,HL
- 0121 ED 7A ADC HL,SP
-
-
- 0123 86 ADD A,(HL)
- 0124 DD 86 36 ADD A,(IX+INDEX)
- 0127 FD 86 36 ADD A,(IY+INDEX)
- 012A 87 ADD A,A
- 012B 80 ADD A,B
- 012C 81 ADD A,C
- 012D 82 ADD A,D
- 012E 83 ADD A,E
- 012F 84 ADD A,H
- 0130 85 ADD A,L
- 0131 C6 49 ADD A,NN
- 0133 09 ADD HL,BC
- 0134 19 ADD HL,DE
- 0135 29 ADD HL,HL
- 0136 39 ADD HL,SP
- 0137 DD 09 ADD IX,BC
- 0139 DD 19 ADD IX,DE
- 013B DD 29 ADD IX,IX
- 013D DD 39 ADD IX,SP
- 013F FD 09 ADD IY,BC
- 0141 FD 19 ADD IY,DE
- 0143 FD 29 ADD IY,IY
- 0145 FD 39 ADD IY,SP
-
-
- 0147 A6 AND (HL)
- 0148 DD A6 36 AND (IX+INDEX)
- 014B FD A6 36 AND (IY+INDEX)
- 014E A7 AND A
- 014F A0 AND B
- 0150 A1 AND C
- 0151 A2 AND D
- è
-
- 74
-
-
-
-
-
- APPENDIX B - ZILOG MNEMONICS
-
-
- 0152 A3 AND E
- 0153 A4 AND H
- 0154 A5 AND L
- 0155 E6 49 AND NN
-
-
- 0157 CB 46 BIT 0,(HL)
- 0159 DD CB 36 46 BIT 0,(IX+INDEX)
- 015D FD CB 36 46 BIT 0,(IY+INDEX)
- 0161 CB 47 BIT 0,A
- 0163 CB 40 BIT 0,B
- 0165 CB 41 BIT 0,C
- 0167 CB 42 BIT 0,D
- 0169 CB 43 BIT 0,E
- 016B CB 44 BIT 0,H
- 016D CB 45 BIT 0,L
-
-
- 016F CB 4E BIT 1,(HL)
- 0171 DD CB 36 4E BIT 1,(IX+INDEX)
- 0175 FD CB 36 4E BIT 1,(IY+INDEX)
- 0179 CB 4F BIT 1,A
- 017B CB 48 BIT 1,B
- 017D CB 49 BIT 1,C
- 017F CB 4A BIT 1,D
- 0181 CB 4B BIT 1,E
- 0183 CB 4C BIT 1,H
- 0185 CB 4D BIT 1,L
-
-
- 0187 CB 56 BIT 2,(HL)
- 0189 DD CB 36 56 BIT 2,(IX+INDEX)
- 018D FD CB 36 56 BIT 2,(IY+INDEX)
- 0191 CB 57 BIT 2,A
- 0193 CB 50 BIT 2,B
- 0195 CB 51 BIT 2,C
- 0197 CB 52 BIT 2,D
- 0199 CB 53 BIT 2,E
- 019B CB 54 BIT 2,H
- 019D CB 55 BIT 2,L
-
-
- 019F CB 5E BIT 3,(HL)
- 01A1 DD CB 36 5E BIT 3,(IX+INDEX)
- 01A5 FD CB 36 5E BIT 3,(IY+INDEX)
- 01A9 CB 5F BIT 3,A
- 01AB CB 58 BIT 3,B
- 01AD CB 59 BIT 3,C
- 01AF CB 5A BIT 3,D
- 01B1 CB 5B BIT 3,E
- 01B3 CB 5C BIT 3,H
- 01B5 CB 5D BIT 3,L
-
-
- 01B7 CB 66 BIT 4,(HL)
- è
-
- 75
-
-
-
-
-
- APPENDIX B - ZILOG MNEMONICS
-
-
- 01B9 DD CB 36 66 BIT 4,(IX+INDEX)
- 01BD FD CB 36 66 BIT 4,(IY+INDEX)
- 01C1 CB 67 BIT 4,A
- 01C3 CB 60 BIT 4,B
- 01C5 CB 61 BIT 4,C
- 01C7 CB 62 BIT 4,D
- 01C9 CB 63 BIT 4,E
- 01CB CB 64 BIT 4,H
- 01CD CB 65 BIT 4,L
-
-
- 01CF CB 6E BIT 5,(HL)
- 01D1 DD CB 36 6E BIT 5,(IX+INDEX)
- 01D5 FD CB 36 6E BIT 5,(IY+INDEX)
- 01D9 CB 6F BIT 5,A
- 01DB CB 68 BIT 5,B
- 01DD CB 69 BIT 5,C
- 01DF CB 6A BIT 5,D
- 01E1 CB 6B BIT 5,E
- 01E3 CB 6C BIT 5,H
- 01E5 CB 6D BIT 5,L
-
-
- 01E7 CB 76 BIT 6,(HL)
- 01E9 DD CB 36 76 BIT 6,(IX+INDEX)
- 01ED FD CB 36 76 BIT 6,(IY+INDEX)
- 01F1 CB 77 BIT 6,A
- 01F3 CB 70 BIT 6,B
- 01F5 CB 71 BIT 6,C
- 01F7 CB 72 BIT 6,D
- 01F9 CB 73 BIT 6,E
- 01FB CB 74 BIT 6,H
- 01FD CB 75 BIT 6,L
-
-
- 01FF CB 7E BIT 7,(HL)
- 0201 DD CB 36 7E BIT 7,(IX+INDEX)
- 0205 FD CB 36 7E BIT 7,(IY+INDEX)
- 0209 CB 7F BIT 7,A
- 020B CB 78 BIT 7,B
- 020D CB 79 BIT 7,C
- 020F CB 7A BIT 7,D
- 0211 CB 7B BIT 7,E
- 0213 CB 7C BIT 7,H
- 0215 CB 7D BIT 7,L
-
-
- 0217 DC 123F CALL C,NNNN
- 021A FC 123F CALL M,NNNN
- 021D D4 123F CALL NC,NNNN
- 0220 CD 123F CALL NNNN
- 0223 C4 123F CALL NZ,NNNN
- 0226 F4 123F CALL P,NNNN
- 0229 EC 123F CALL PE,NNNN
- 022C E4 123F CALL PO,NNNN
- è
-
- 76
-
-
-
-
-
- APPENDIX B - ZILOG MNEMONICS
-
-
- 022F CC 123F CALL Z,NNNN
-
-
- 0232 3F CCF
-
-
- 0233 BE CP (HL)
- 0234 DD BE 36 CP (IX+INDEX)
- 0237 FD BE 36 CP (IY+INDEX)
- 023A BF CP A
- 023B B8 CP B
- 023C B9 CP C
- 023D BA CP D
- 023E BB CP E
- 023F BC CP H
- 0240 BD CP L
- 0241 FE 49 CP NN
-
-
- 0243 ED A9 CPD
- 0245 ED B9 CPDR
- 0247 ED A1 CPI
- 0249 ED B1 CPIR
-
-
- 024B 2F CPL
-
-
- 024C 27 DAA
-
-
- 024D 35 DEC (HL)
- 024E DD 35 36 DEC (IX+INDEX)
- 0251 FD 35 36 DEC (IY+INDEX)
- 0254 3D DEC A
- 0255 05 DEC B
- 0256 0B DEC BC
- 0257 0D DEC C
- 0258 15 DEC D
- 0259 1B DEC DE
- 025A 1D DEC E
- 025B 25 DEC H
- 025C 2B DEC HL
- 025D DD 2B DEC IX
- 025F FD 2B DEC IY
- 0261 2D DEC L
- 0262 3B DEC SP
-
-
- 0263 F3 DI
-
-
- 0264 10 04 DJNZ $+6
-
-
- è
-
- 77
-
-
-
-
-
- APPENDIX B - ZILOG MNEMONICS
-
-
- 0266 FB EI
-
-
- 0267 E3 EX (SP),HL
- 0268 DD E3 EX (SP),IX
- 026A FD E3 EX (SP),IY
- 026C 08 EX AF,AF'
- 026D EB EX DE,HL
- 026E D9 EXX
-
-
- 026F 76 HALT
-
-
- 0270 ED 46 IM 0
- 0272 ED 56 IM 1
- 0274 ED 5E IM 2
-
-
- 0276 ED 78 IN A,(C)
- 0278 DB 49 IN A,(NN)
- 027A ED 40 IN B,(C)
- 027C ED 48 IN C,(C)
- 027E ED 50 IN D,(C)
- 0280 ED 58 IN E,(C)
- 0284 ED 60 IN H,(C)
- 0286 ED 68 IN L,(C)
-
-
- 0288 34 INC (HL)
- 0289 DD 34 36 INC (IX+INDEX)
- 028C FD 34 36 INC (IY+INDEX)
- 028F 3C INC A
- 0290 04 INC B
- 0291 03 INC BC
- 0292 0C INC C
- 0293 14 INC D
- 0294 13 INC DE
- 0295 1C INC E
- 0296 24 INC H
- 0297 23 INC HL
- 0298 DD 23 INC IX
- 029A FD 23 INC IY
- 029C 2C INC L
- 029D 33 INC SP
-
-
- 029E ED AA IND
- 02A0 ED BA INDR
- 02A2 ED A2 INI
- 02A4 ED B2 INIR
-
-
- 02A6 E9 JP (HL)
- 02A7 DD E9 JP (IX)
- è
-
- 78
-
-
-
-
-
- APPENDIX B - ZILOG MNEMONICS
-
-
- 02A9 FD E9 JP (IY)
- 02AB DA 123F JP C,NNNN
- 02AE FA 123F JP M,NNNN
- 02B1 D2 123F JP NC,NNNN
- 02B4 C3 123F JP NNNN
- 02B7 C2 123F JP NZ,NNNN
- 02BA F2 123F JP P,NNNN
- 02BD EA 123F JP PE,NNNN
- 02C0 E2 123F JP PO,NNNN
- 02C3 CA 123F JP Z,NNNN
-
-
- 02C6 38 04 JR C,$+6
- 02C8 18 04 JR $+6
- 02CA 30 04 JR NC,$+6
- 02CC 20 04 JR NZ,$+6
- 02CE 28 04 JR Z,$+6
-
-
- 02D0 02 LD (BC),A
- 02D1 12 LD (DE),A
- 02D2 77 LD (HL),A
- 02D3 70 LD (HL),B
- 02D4 71 LD (HL),C
- 02D5 72 LD (HL),D
- 02D6 73 LD (HL),E
- 02D7 74 LD (HL),H
- 02D8 75 LD (HL),L
- 02D9 36 49 LD (HL),NN
-
-
- 02DB DD 77 36 LD (IX+INDEX),A
- 02DE DD 70 36 LD (IX+INDEX),B
- 02E1 DD 71 36 LD (IX+INDEX),C
- 02E4 DD 72 36 LD (IX+INDEX),D
- 02E7 DD 73 36 LD (IX+INDEX),E
- 02EA DD 74 36 LD (IX+INDEX),H
- 02ED DD 75 36 LD (IX+INDEX),L
- 02F0 DD 36 36 49 LD (IX+INDEX),NN
-
-
- 02F4 FD 77 36 LD (IY+INDEX),A
- 02F7 FD 70 36 LD (IY+INDEX),B
- 02FA FD 71 36 LD (IY+INDEX),C
- 02FD FD 72 36 LD (IY+INDEX),D
- 0300 FD 73 36 LD (IY+INDEX),E
- 0303 FD 74 36 LD (IY+INDEX),H
- 0306 FD 75 36 LD (IY+INDEX),L
- 0309 FD 36 36 49 LD (IY+INDEX),NN
-
-
- 030D 32 123F LD (NNNN),A
- 0310 ED 43 123F LD (NNNN),BC
- 0314 ED 53 123F LD (NNNN),DE
- 0318 22 123F LD (NNNN),HL
- è
-
- 79
-
-
-
-
-
- APPENDIX B - ZILOG MNEMONICS
-
-
- 031B DD 22 123F LD (NNNN),IX
- 031F FD 22 123F LD (NNNN),IY
- 0323 ED 73 123F LD (NNNN),SP
-
-
- 0327 0A LD A,(BC)
- 0328 1A LD A,(DE)
- 0329 7E LD A,(HL)
- 032A DD 7E 36 LD A,(IX+INDEX)
- 032D FD 7E 36 LD A,(IY+INDEX)
- 0330 3A 123F LD A,(NNNN)
- 0333 7F LD A,A
- 0334 78 LD A,B
- 0335 79 LD A,C
- 0336 7A LD A,D
- 0337 7B LD A,E
- 0338 7C LD A,H
- 0339 ED 57 LD A,I
- 033B 7D LD A,L
- 033C 3E 49 LD A,NN
- 033E ED 5F LD A,R
-
-
- 0340 46 LD B,(HL)
- 0341 DD 46 36 LD B,(IX+INDEX)
- 0344 FD 46 36 LD B,(IY+INDEX)
- 0347 47 LD B,A
- 0348 40 LD B,B
- 0349 41 LD B,C
- 034A 42 LD B,D
- 034B 43 LD B,E
- 034C 44 LD B,H
- 034D 45 LD B,L
- 034E 06 49 LD B,NN
-
-
- 0350 ED 4B 123F LD BC,(NNNN)
- 0354 01 123F LD BC,NNNN
-
-
- 0357 4E LD C,(HL)
- 0358 DD 4E 36 LD C,(IX+INDEX)
- 035B FD 4E 36 LD C,(IY+INDEX)
- 035E 4F LD C,A
- 035F 48 LD C,B
- 0360 49 LD C,C
- 0361 4A LD C,D
- 0362 4B LD C,E
- 0363 4C LD C,H
- 0364 4D LD C,L
- 0365 0E 49 LD C,NN
-
-
-
- 0367 56 LD D,(HL)
- è
-
- 80
-
-
-
-
-
- APPENDIX B - ZILOG MNEMONICS
-
-
- 0368 DD 56 36 LD D,(IX+INDEX)
- 036B FD 56 36 LD D,(IY+INDEX)
- 036E 57 LD D,A
- 036F 50 LD D,B
- 0370 51 LD D,C
- 0371 52 LD D,D
- 0372 53 LD D,E
- 0373 54 LD D,H
- 0374 55 LD D,L
- 0375 16 49 LD D,NN
-
-
- 0377 ED 5B 123F LD DE,(NNNN)
- 037B 11 123F LD DE,NNNN
-
-
- 037E 5E LD E,(HL)
- 037F DD 5E 36 LD E,(IX+INDEX)
- 0382 FD 5E 36 LD E,(IY+INDEX)
- 0385 5F LD E,A
- 0386 58 LD E,B
- 0387 59 LD E,C
- 0388 5A LD E,D
- 0389 5B LD E,E
- 038A 5C LD E,H
- 038B 5D LD E,L
- 038C 1E 49 LD E,NN
-
-
- 038E 66 LD H,(HL)
- 038F DD 66 36 LD H,(IX+INDEX)
- 0392 FD 66 36 LD H,(IY+INDEX)
- 0395 67 LD H,A
- 0396 60 LD H,B
- 0397 61 LD H,C
- 0398 62 LD H,D
- 0399 63 LD H,E
- 039A 64 LD H,H
- 039B 65 LD H,L
- 039C 26 49 LD H,NN
-
-
- 039E 2A 123F LD HL,(NNNN)
- 03A1 21 123F LD HL,NNNN
-
-
- 03A4 ED 47 LD I,A
-
-
- 03A6 DD 2A 123F LD IX,(NNNN)
- 03AA DD 21 123F LD IX,NNNN
-
-
- 03AE FD 2A 123F LD IY,(NNNN)
- 03B2 FD 21 123F LD IY,NNNN
- è
-
- 81
-
-
-
-
-
- APPENDIX B - ZILOG MNEMONICS
-
-
-
-
-
- 03B6 6E LD L,(HL)
- 03B7 DD 6E 36 LD L,(IX+INDEX)
- 03BA FD 6E 36 LD L,(IY+INDEX)
- 03BD 6F LD L,A
- 03BE 68 LD L,B
- 03BF 69 LD L,C
- 03C0 6A LD L,D
- 03C1 6B LD L,E
- 03C2 6C LD L,H
- 03C3 6D LD L,L
- 03C4 2E 49 LD L,NN
-
-
- 03C6 ED 4F LD R,A
-
-
- 03C8 ED 7B 123F LD SP,(NNNN)
- 03CC F9 LD SP,HL
- 03CD DD F9 LD SP,IX
- 03CF FD F9 LD SP,IY
- 03D1 31 123F LD SP,NNNN
-
-
- 03D4 ED A8 LDD
- 03D6 ED B8 LDDR
- 03D8 ED A0 LDI
- 03DA ED B0 LDIR
-
-
- 03DC ED 44 NEG
-
-
- 03DE 00 NOP
-
-
- 03DF B6 OR (HL)
- 03E0 DD B6 36 OR (IX+INDEX)
- 03E3 FD B6 36 OR (IY+INDEX)
- 03E6 B7 OR A
- 03E7 B0 OR B
- 03E8 B1 OR C
- 03E9 B2 OR D
- 03EA B3 OR E
- 03EB B4 OR H
- 03EC B5 OR L
- 03ED F6 49 OR NN
-
-
- 03EF ED BB OTDR
- 03F1 ED B3 OTIR
-
-
- è
-
- 82
-
-
-
-
-
- APPENDIX B - ZILOG MNEMONICS
-
-
- 03F3 ED 79 OUT (C),A
- 03F5 ED 41 OUT (C),B
-
-
-
- 03F7 ED 49 OUT (C),C
- 03F9 ED 51 OUT (C),D
- 03FB ED 59 OUT (C),E
- 03FD ED 61 OUT (C),H
- 03FF ED 69 OUT (C),L
- 0401 D3 49 OUT (NN),A
-
-
- 0403 ED AB OUTD
- 0405 ED A3 OUTI
-
-
- 0407 F1 POP AF
- 0408 C1 POP BC
- 0409 D1 POP DE
- 040A E1 POP HL
- 040B DD E1 POP IX
- 040D FD E1 POP IY
-
-
- 040F F5 PUSH AF
- 0410 C5 PUSH BC
- 0411 D5 PUSH DE
- 0412 E5 PUSH HL
- 0413 DD E5 PUSH IX
- 0415 FD E5 PUSH IY
-
-
- 0417 CB 86 RES 0,(HL)
- 0419 DD CB 36 86 RES 0,(IX+INDEX)
- 041D FD CB 36 86 RES 0,(IY+INDEX)
- 0421 CB 87 RES 0,A
- 0423 CB 80 RES 0,B
- 0425 CB 81 RES 0,C
- 0427 CB 82 RES 0,D
- 0429 CB 83 RES 0,E
- 042B CB 84 RES 0,H
- 042D CB 85 RES 0,L
-
-
- 042F CB 8E RES 1,(HL)
- 0431 DD CB 36 8E RES 1,(IX+INDEX)
- 0435 FD CB 36 8E RES 1,(IY+INDEX)
- 0439 CB 8F RES 1,A
- 043B CB 88 RES 1,B
- 043D CB 89 RES 1,C
- 043F CB 8A RES 1,D
- 0441 CB 8B RES 1,E
- 0443 CB 8C RES 1,H
- 0445 CB 8D RES 1,L
- è
-
- 83
-
-
-
-
-
- APPENDIX B - ZILOG MNEMONICS
-
-
-
-
- 0447 CB 96 RES 2,(HL)
- 0449 DD CB 36 96 RES 2,(IX+INDEX)
- 044D FD CB 36 96 RES 2,(IY+INDEX)
- 0451 CB 97 RES 2,A
- 0453 CB 90 RES 2,B
- 0455 CB 91 RES 2,C
- 0457 CB 92 RES 2,D
- 0459 CB 93 RES 2,E
- 045B CB 94 RES 2,H
- 045D CB 95 RES 2,L
-
-
- 045F CB 9E RES 3,(HL)
- 0461 DD CB 36 9E RES 3,(IX+INDEX)
- 0465 FD CB 36 9E RES 3,(IY+INDEX)
- 0469 CB 9F RES 3,A
- 046B CB 98 RES 3,B
- 046D CB 99 RES 3,C
- 046F CB 9A RES 3,D
- 0471 CB 9B RES 3,E
- 0473 CB 9C RES 3,H
- 0475 CB 9D RES 3,L
-
-
- 0477 CB A6 RES 4,(HL)
- 0479 DD CB 36 A6 RES 4,(IX+INDEX)
- 047D FD CB 36 A6 RES 4,(IY+INDEX)
- 0481 CB A7 RES 4,A
- 0483 CB A0 RES 4,B
- 0485 CB A1 RES 4,C
- 0487 CB A2 RES 4,D
- 0489 CB A3 RES 4,E
- 048B CB A4 RES 4,H
- 048D CB A5 RES 4,L
-
-
- 048F CB AE RES 5,(HL)
- 0491 DD CB 36 AE RES 5,(IX+INDEX)
- 0495 FD CB 36 AE RES 5,(IY+INDEX)
- 0499 CB AF RES 5,A
- 049B CB A8 RES 5,B
- 049D CB A9 RES 5,C
- 049F CB AA RES 5,D
- 04A1 CB AB RES 5,E
- 04A3 CB AC RES 5,H
- 04A5 CB AD RES 5,L
-
-
- 04A7 CB B6 RES 6,(HL)
- 04A9 DD CB 36 B6 RES 6,(IX+INDEX)
- 04AD FD CB 36 B6 RES 6,(IY+INDEX)
- 04B1 CB B7 RES 6,A
- 04B3 CB B0 RES 6,B
- è
-
- 84
-
-
-
-
-
- APPENDIX B - ZILOG MNEMONICS
-
-
- 04B5 CB B1 RES 6,C
- 04B7 CB B2 RES 6,D
- 04B9 CB B3 RES 6,E
- 04BB CB B4 RES 6,H
- 04BD CB B5 RES 6,L
-
-
-
- 04BF CB BE RES 7,(HL)
- 04C1 DD CB 36 BE RES 7,(IX+INDEX)
- 04C5 FD CB 36 BE RES 7,(IY+INDEX)
- 04C9 CB BF RES 7,A
- 04CB CB B8 RES 7,B
- 04CD CB B9 RES 7,C
- 04CF CB BA RES 7,D
- 04D1 CB BB RES 7,E
- 04D3 CB BC RES 7,H
- 04D5 CB BD RES 7,L
-
-
- 04D7 C9 RET
- 04D8 D8 RET C
- 04D9 F8 RET M
- 04DA D0 RET NC
- 04DB C0 RET NZ
- 04DC F0 RET P
- 04DD E8 RET PE
- 04DE E0 RET PO
- 04DF C8 RET Z
-
-
- 04E0 ED 4D RETI
- 04E2 ED 45 RETN
-
-
- 04E4 CB 16 RL (HL)
- 04E6 DD CB 36 16 RL (IX+INDEX)
- 04EA FD CB 36 16 RL (IY+INDEX)
- 04EE CB 17 RL A
- 04F0 CB 10 RL B
- 04F2 CB 11 RL C
- 04F4 CB 12 RL D
- 04F6 CB 13 RL E
- 04F8 CB 14 RL H
- 04FA CB 15 RL L
-
-
- 04FC 17 RLA
-
-
- 04FD CB 06 RLC (HL)
- 04FF DD CB 36 06 RLC (IX+INDEX)
- 0503 FD CB 36 06 RLC (IY+INDEX)
- 0507 CB 07 RLC A
- 0509 CB 00 RLC B
- è
-
- 85
-
-
-
-
-
- APPENDIX B - ZILOG MNEMONICS
-
-
- 050B CB 01 RLC C
- 050D CB 02 RLC D
- 050F CB 03 RLC E
- 0511 CB 04 RLC H
- 0513 CB 05 RLC L
-
-
- 0515 07 RLCA
-
-
- 0516 ED 6F RLD
-
-
- 0518 CB 1E RR (HL)
- 051A DD CB 36 1E RR (IX+INDEX)
- 051E FD CB 36 1E RR (IY+INDEX)
- 0522 CB 1F RR A
- 0524 CB 18 RR B
- 0526 CB 19 RR C
- 0528 CB 1A RR D
- 052A CB 1B RR E
- 052C CB 1C RR H
- 052E CB 1D RR L
-
-
- 0530 1F RRA
-
-
- 0531 CB 0E RRC (HL)
- 0533 DD CB 36 0E RRC (IX+INDEX)
- 0537 FD CB 36 0E RRC (IY+INDEX)
- 053B CB 0F RRC A
- 053D CB 08 RRC B
- 053F CB 09 RRC C
- 0541 CB 0A RRC D
- 0543 CB 0B RRC E
- 0545 CB 0C RRC H
- 0547 CB 0D RRC L
-
-
- 0549 0F RRCA
-
-
- 054A ED 67 RRD
-
-
- 054C C7 RST 0
- 054D CF RST 08H
- 054E D7 RST 10H
- 054F DF RST 18H
- 0550 E7 RST 20H
- 0551 EF RST 28H
- 0552 F7 RST 30H
- 0553 FF RST 38H
-
- è
-
- 86
-
-
-
-
-
- APPENDIX B - ZILOG MNEMONICS
-
-
-
- 0554 9E SBC A,(HL)
- 0555 DD 9E 36 SBC A,(IX+INDEX)
- 0558 FD 9E 36 SBC A,(IY+INDEX)
- 055B 9F SBC A,A
- 055C 98 SBC A,B
- 055D 99 SBC A,C
- 055E 9A SBC A,D
- 055F 9B SBC A,E
- 0560 9C SBC A,H
- 0561 9D SBC A,L
- 0562 DE 49 SBC A,NN
- 0564 ED 42 SBC HL,BC
- 0566 ED 52 SBC HL,DE
- 0568 ED 62 SBC HL,HL
- 056A ED 72 SBC HL,SP
-
-
- 056C 37 SCF
-
-
- 056D CB C6 SET 0,(HL)
- 056F DD CB 36 C6 SET 0,(IX+INDEX)
- 0573 FD CB 36 C6 SET 0,(IY+INDEX)
- 0577 CB C7 SET 0,A
- 0579 CB C0 SET 0,B
- 057B CB C1 SET 0,C
- 057D CB C2 SET 0,D
- 057F CB C3 SET 0,E
- 0581 CB C4 SET 0,H
- 0583 CB C5 SET 0,L
-
-
- 0585 CB CE SET 1,(HL)
- 0587 DD CB 36 CE SET 1,(IX+INDEX)
- 058B FD CB 36 CE SET 1,(IY+INDEX)
- 058F CB CF SET 1,A
- 0591 CB C8 SET 1,B
- 0593 CB C9 SET 1,C
- 0595 CB CA SET 1,D
- 0597 CB CB SET 1,E
- 0599 CB CC SET 1,H
- 059B CB CD SET 1,L
-
-
- 059D CB D6 SET 2,(HL)
- 059F DD CB 36 D6 SET 2,(IX+INDEX)
- 05A3 FD CB 36 D6 SET 2,(IY+INDEX)
- 05A7 CB D7 SET 2,A
- 05A9 CB D0 SET 2,B
- 05AB CB D1 SET 2,C
- 05AD CB D2 SET 2,D
- 05AF CB D3 SET 2,E
- 05B1 CB D4 SET 2,H
- 05B3 CB D5 SET 2,L
- è
-
- 87
-
-
-
-
-
- APPENDIX B - ZILOG MNEMONICS
-
-
-
-
- 05B5 CB DE SET 3,(HL)
- 05B7 DD CB 36 DE SET 3,(IX+INDEX)
- 05BB FD CB 36 DE SET 3,(IY+INDEX)
- 05BF CB DF SET 3,A
- 05C1 CB D8 SET 3,B
- 05C3 CB D9 SET 3,C
- 05C5 CB DA SET 3,D
- 05C7 CB DB SET 3,E
- 05C9 CB DC SET 3,H
- 05CB CB DD SET 3,L
-
-
- 05CD CB E6 SET 4,(HL)
- 05CF DD CB 36 E6 SET 4,(IX+INDEX)
- 05D3 FD CB 36 E6 SET 4,(IY+INDEX)
- 05D7 CB E7 SET 4,A
- 05D9 CB E0 SET 4,B
- 05DB CB E1 SET 4,C
- 05DD CB E2 SET 4,D
- 05DF CB E3 SET 4,E
- 05E1 CB E4 SET 4,H
- 05E3 CB E5 SET 4,L
-
-
- 05E5 CB EE SET 5,(HL)
- 05E7 DD CB 36 EE SET 5,(IX+INDEX)
- 05EB FD CB 36 EE SET 5,(IY+INDEX)
- 05EF CB EF SET 5,A
- 05F1 CB E8 SET 5,B
- 05F3 CB E9 SET 5,C
- 05F5 CB EA SET 5,D
- 05F7 CB EB SET 5,E
- 05F9 CB EC SET 5,H
- 05FB CB ED SET 5,L
-
-
- 05FD CB F6 SET 6,(HL)
- 05FF DD CB 36 F6 SET 6,(IX+INDEX)
- 0603 FD CB 36 F6 SET 6,(IY+INDEX)
- 0607 CB F7 SET 6,A
- 0609 CB F0 SET 6,B
- 060B CB F1 SET 6,C
- 060D CB F2 SET 6,D
- 060F CB F3 SET 6,E
- 0611 CB F4 SET 6,H
- 0613 CB F5 SET 6,L
-
-
- 0615 CB FE SET 7,(HL)
- 0617 DD CB 36 FE SET 7,(IX+INDEX)
- 061B FD CB 36 FE SET 7,(IY+INDEX)
- 061F CB FF SET 7,A
- 0621 CB F8 SET 7,B
- è
-
- 88
-
-
-
-
-
- APPENDIX B - ZILOG MNEMONICS
-
-
- 0623 CB F9 SET 7,C
- 0625 CB FA SET 7,D
- 0627 CB FB SET 7,E
- 0629 CB FC SET 7,H
- 062B CB FD SET 7,L
-
-
- 062D CB 26 SLA (HL)
- 062F DD CB 36 26 SLA (IX+INDEX)
- 0633 FD CB 36 26 SLA (IY+INDEX)
- 0637 CB 27 SLA A
- 0639 CB 20 SLA B
- 063B CB 21 SLA C
- 063D CB 22 SLA D
- 063F CB 23 SLA E
- 0641 CB 24 SLA H
- 0643 CB 25 SLA L
-
-
- 0645 CB 2E SRA (HL)
- 0647 DD CB 36 2E SRA (IX+INDEX)
- 064B FD CB 36 2E SRA (IY+INDEX)
- 064F CB 2F SRA A
- 0651 CB 28 SRA B
- 0653 CB 29 SRA C
- 0655 CB 2A SRA D
- 0657 CB 2B SRA E
- 0659 CB 2C SRA H
- 065B CB 2D SRA L
-
-
- 065D CB 3E SRL (HL)
- 065F DD CB 36 3E SRL (IX+INDEX)
- 0663 FD CB 36 3E SRL (IY+INDEX)
- 0667 CB 3F SRL A
- 0669 CB 38 SRL B
- 066B CB 39 SRL C
- 066D CB 3A SRL D
- 066F CB 3B SRL E
- 0671 CB 3C SRL H
- 0673 CB 3D SRL L
-
-
- 0675 96 SUB (HL)
- 0676 DD 96 36 SUB (IX+INDEX)
- 0679 FD 96 36 SUB (IY+INDEX)
- 067C 97 SUB A
- 067D 90 SUB B
- 067E 91 SUB C
- 067F 92 SUB D
- 0680 93 SUB E
- 0681 94 SUB H
- 0682 95 SUB L
- 0683 D6 49 SUB NN
-
- è
-
- 89
-
-
-
-
-
- APPENDIX B - ZILOG MNEMONICS
-
-
-
- 0685 AE XOR (HL)
- 0686 DD AE 36 XOR (IX+INDEX)
- 0689 FD AE 36 XOR (IY+INDEX)
- 068C AF XOR A
- 068D A8 XOR B
- 068E A9 XOR C
- 068F AA XOR D
- 0690 AB XOR E
- 0691 AC XOR H
- 0692 AD XOR L
- 0693 EE 49 XOR NN
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 90
-
-
-
-
-
- APPENDIX B - ZILOG MNEMONICS
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- APPENDIX B - ZILOG MNEMONICS
-
-
-
-
- APPENDIX C - SYSTEM MEMORY MAP
-
- |||||||||||||||||||||||||||||||||||| FFFF
- || ||
- || ||
- || CP/M (BDOS and BIOS) ||
- || ||
- || ||
- ||||||||||||||||||||||||||||||||||||
- || ||
- || Z8E (Approx 8.75 BYTES) ||
- || ||
- ||||||||||||||||||||||||||||||||||||
- || ||
- || OPTIONAL SYMBOL TABLE ||
- || ||
- ||||||||||||||||||||||||||||||||||||
- || ||
- || ||
- || ||
- || ||
- || ||
- || ||
- || TPA ||
- || ||
- || ||
- || ||
- || ||
- || ||
- || ||
- || ||
- |||||||||||||||||||||||||||||||||||| --- 0100
- || ||
- || PAGE ZERO RESERVED ||
- || ||
- |||||||||||||||||||||||||||||||||||| ___ 0000
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 92
-
-
-
-
-
- APPENDIX B - ZILOG MNEMONICS
-
-
- COMMAND SUMMARY REFERENCE
-
- CMD Description Arguments
-
- ┴áá Inlinσá Assembl∙á StartAddr
- B Set Breakpoint Addr1[,Pass Count] [Addr2..AddrN]
- C Clear Breakpoint Addr1 [Addr2..AddrN]
- D Dump Memory [StartAddr] [End/Count]
- E Examine Memory StartAddr
- F Find StartAddr MatchData
- G Go ExecutionAddr
- H Display Symbol Table [FirstSymbol]
- I Input File FileName [,Load Address]
- J Full Screen/Animated Debug [/] [*] [Addr] [Timeout]
- K Set Memory Window StartAddr [Size]
- M Move Memory SourceStart SourceEnd DestStart
- N Output to Port NO Pre-Read [(] PortAddr [)]
- O Output Current Breakpoints
- P Exam/Modify PSW (Flag Reg)
- Q Query I/O Port [(] PortAddr [)]
- R Examine/Modify Registers RegSpecifier
- S Single-Step [/] [Count]
- U Write Symbol Table To Disk FileName
- V Verify Memory SourceStart SourceEnd DestStart
- W Write to Disk FileName [StartAddr] [EndAddr]
- X Examine Machine State
- Y Fill Memory FromAddr ToAddr Data
- Z Disassemble StartAddr End/Count FileName
-
-
-
-
- [] Denotes Optional Argument
- [/] Do Not Trace Subroutine
- [*] Do Not Trace BDOS Call
- [(] [)] I/O Port Monitor Mode
-
-
-
-
-
- Z8E Copyright (c) 1984 AERO-SOFT
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 93
-
-
-
-
-