title 'DISZ80 disassembler Z80 mnemonics' ;----------------------------------------------------------------; ; Author: D. Powys-Lybbe ; Written: Summer 1984 ; Revisions: ; Nov 1984 - various corrections ; ;----------------------------------------------------------------; ; Module 10 - Tables of operand types and mnemonics ;----------------------------------------------------------------; page public sets ; 1st op byte types public set$cb ; 0CBH double op byte types public sets$dd ; 0DDH double op byte types and mnemonics public sets$ed ; 0EDH double op byte types and mnemonics public sets$fd ; 0FDH double op byte types and mnemonics ;----- public nemon ; 1st op byte mnemonics ;----- public nemon$cb ; 0CBH double op byte mnemonics public set$ddcb ; 0DDH,0CBH triple op byte types and mnemonics public set$fdcb ; 0FDH,0CBH triple op byte types and mnemonics ;----------------------------------- ;-----BOUND MACRO A1,A2,A3,A4,A5,A6,A7 ;----------------------------------- ;-----OGN SET $ ;----- IF NOT NUL A7 ;----- DB a1,a2,a3,a4,a5,a6,a7 ;----- else ;----- IF NOT NUL A6 ;----- DB a1,a2,a3,a4,a5,a6 ;----- else ;----- IF NOT NUL A5 ;----- DB a1,a2,a3,a4,a5 ;----- else ;----- IF NOT NUL A4 ;----- DB a1,a2,a3,a4 ;----- else ;----- IF NOT NUL A3 ;----- DB a1,a2,a3 ;----- else ;----- IF NOT NUL A2 ;----- DB a1,a2 ;----- else ;----- IF NOT NUL A1 ;----- DB a1 ;----- ENDIF ;----- ENDIF ;----- ENDIF ;----- ENDIF ;----- ENDIF ;----- ENDIF ;----- ENDIF ;----- ;----- ORG OGN+16 ; Change from 8 bit ;----- ENDM CR EQU 0DH ; LF EQU 0AH ; TAB EQU 09H ; ;----------- start of tables -------------------- cseg tables equ $ ;------------------------------------------------------------------------- ;SETS ; ; Table of OPERAND types ; Low nibble (bits 0-3) - number of bytes of command ; 0 - Illegal instruction ; 1 - Single byte or data ; 2 - Immediate byte instruction ; 3 - Immediate word or branch instruction, or dual data (Z80 only) ; 7 - multiple byte operand (Z80 only) ; High nibble (bits 4-7) - Type of OPERAND: ; 0 - No BRANCH ; 1 - Conditional BRANCH or CALL ; 2 - Unconditional BRANCH (JMP) ; 3 - End of program segment (RET or PCHL) ; 4 - Data area ; 5 - Data address ; 8 - Unconditional CALL ; 9 - Conditional BRANCH relative (Z80 only) ; a - Unconditional BRANCH (JMP) relative (Z80 only) ; c - Dual data byte (Z80 only) ; NOTE: Bit 5 indicates program code terminator ;-------------------------------------------------------------------------- SETS: db 001h dw nem000 ; 00h db 043h dw nem001 db 001h dw nem002 db 001h dw nem003 db 001h dw nem004 db 001h dw nem005 db 042h dw nem006 db 001h dw nem007 db 001h dw nem010 ; 08h Z80 only db 001h dw nem011 db 001h dw nem012 db 001h dw nem013 db 001h dw nem014 db 001h dw nem015 db 042h dw nem016 db 001h dw nem017 db 092h dw nem020 ; 10h Z80 only db 043h dw nem021 db 001h dw nem022 db 001h dw nem023 db 001h dw nem024 db 001h dw nem025 db 042h dw nem026 db 001h dw nem027 db 0a2h dw nem030 ;18h Z80 only db 001h dw nem031 db 001h dw nem032 db 001h dw nem033 db 001h dw nem034 db 001h dw nem035 db 042h dw nem036 db 001h dw nem037 db 092h dw nem040 ;20h Z80 only db 043h dw nem041 db 053h dw nem042 db 001h dw nem043 db 001h dw nem044 db 001h dw nem045 db 042h dw nem046 db 001h dw nem047 db 092h dw nem050 ;28h Z80 only db 001h dw nem051 db 053h dw nem052 db 001h dw nem053 db 001h dw nem054 db 001h dw nem055 db 042h dw nem056 db 001h dw nem057 db 092h dw nem060 ;30h Z80 only db 043h dw nem061 db 043h dw nem062 db 001h dw nem063 db 001h dw nem064 db 001h dw nem065 db 042h dw nem066 db 001h dw nem067 db 092h dw nem070 ;38h Z80 only db 001h dw nem071 db 043h dw nem072 db 001h dw nem073 db 001h dw nem074 db 001h dw nem075 db 042h dw nem076 db 001h dw nem077 db 001h dw nem100 ;40h db 001h dw nem101 db 001h dw nem102 db 001h dw nem103 db 001h dw nem104 db 001h dw nem105 db 001h dw nem106 db 001h dw nem107 db 001h dw nem110 ;48h db 001h dw nem111 db 001h dw nem112 db 001h dw nem113 db 001h dw nem114 db 001h dw nem115 db 001h dw nem116 db 001h dw nem117 db 001h dw nem120 ;50h db 001h dw nem121 db 001h dw nem122 db 001h dw nem123 db 001h dw nem124 db 001h dw nem125 db 001h dw nem126 db 001h dw nem127 db 001h dw nem130 ;58h db 001h dw nem131 db 001h dw nem132 db 001h dw nem133 db 001h dw nem134 db 001h dw nem135 db 001h dw nem136 db 001h dw nem137 db 001h dw nem140 ;60h db 001h dw nem141 db 001h dw nem142 db 001h dw nem143 db 001h dw nem144 db 001h dw nem145 db 001h dw nem146 db 001h dw nem147 db 001h dw nem150 ;68h db 001h dw nem151 db 001h dw nem152 db 001h dw nem153 db 001h dw nem154 db 001h dw nem155 db 001h dw nem156 db 001h dw nem157 db 001h dw nem160 ;70h db 001h dw nem161 db 001h dw nem162 db 001h dw nem163 db 001h dw nem164 db 001h dw nem165 db 001h dw nem166 db 001h dw nem167 db 001h dw nem170 ;78h db 001h dw nem171 db 001h dw nem172 db 001h dw nem173 db 001h dw nem174 db 001h dw nem175 db 001h dw nem176 db 001h dw nem177 db 001h dw nem200 ;80h db 001h dw nem201 db 001h dw nem202 db 001h dw nem203 db 001h dw nem204 db 001h dw nem205 db 001h dw nem206 db 001h dw nem207 db 001h dw nem210 ;88h db 001h dw nem211 db 001h dw nem212 db 001h dw nem213 db 001h dw nem214 db 001h dw nem215 db 001h dw nem216 db 001h dw nem217 db 001h dw nem220 ;90h db 001h dw nem221 db 001h dw nem222 db 001h dw nem223 db 001h dw nem224 db 001h dw nem225 db 001h dw nem226 db 001h dw nem227 db 001h dw nem230 ;98h db 001h dw nem231 db 001h dw nem232 db 001h dw nem233 db 001h dw nem234 db 001h dw nem235 db 001h dw nem236 db 001h dw nem237 db 001h dw nem240 ;a0h db 001h dw nem241 db 001h dw nem242 db 001h dw nem243 db 001h dw nem244 db 001h dw nem245 db 001h dw nem246 db 001h dw nem247 db 001h dw nem250 ;a8h db 001h dw nem251 db 001h dw nem252 db 001h dw nem253 db 001h dw nem254 db 001h dw nem255 db 001h dw nem256 db 001h dw nem257 db 001h dw nem260 ;b0h db 001h dw nem261 db 001h dw nem262 db 001h dw nem263 db 001h dw nem264 db 001h dw nem265 db 001h dw nem266 db 001h dw nem267 db 001h dw nem270 ;b8h db 001h dw nem271 db 001h dw nem272 db 001h dw nem273 db 001h dw nem274 db 001h dw nem275 db 001h dw nem276 db 001h dw nem277 db 001h dw nem300 ;c0h db 001h dw nem301 db 013h dw nem302 db 023h dw nem303 db 013h dw nem304 db 001h dw nem305 db 042h dw nem306 db 001h dw nem307 db 001h dw nem310 ;c8h db 031h dw nem311 db 013h dw nem312 db 007h dw nem313 ;Z80 only - cbh double byte instruction db 013h dw nem314 db 083h dw nem315 ; CALL db 042h dw nem316 db 001h dw nem317 db 001h dw nem320 ;d0h db 001h dw nem321 db 013h dw nem322 db 042h dw nem323 db 013h dw nem324 db 001h dw nem325 db 042h dw nem326 db 001h dw nem327 db 001h dw nem330 ;d8h db 001h dw nem331 ;Z80 only db 013h dw nem332 db 042h dw nem333 db 013h dw nem334 db 007h dw nem335 ;Z80 only - ddh double byte instruction db 042h dw nem336 db 001h dw nem337 db 001h dw nem340 ;e0h db 001h dw nem341 db 013h dw nem342 db 001h dw nem343 db 013h dw nem344 db 001h dw nem345 db 042h dw nem346 db 001h dw nem347 db 001h dw nem350 ;e8h db 031h dw nem351 db 013h dw nem352 db 001h dw nem353 db 013h dw nem354 db 007h dw nem355 ;Z80 only - edh double byte instruction db 042h dw nem356 db 001h dw nem357 db 001h dw nem360 ;f0h db 001h dw nem361 db 013h dw nem362 db 001h dw nem363 db 013h dw nem364 db 001h dw nem365 db 042h dw nem366 db 001h dw nem367 db 001h dw nem370 ;f8h db 001h dw nem371 db 013h dw nem372 db 001h dw nem373 db 013h dw nem374 db 007h dw nem375 ;Z80 only - fdh double byte instruction db 042h dw nem376 db 001h dw nem377 ;-----------------------------------------------; ;NEMON ; ; ; ; Table of MNEMONICS text strings ; ; terminated by a 00h byte ; ; Note ? replaced by byte ; ; ?? replaced by word ; ; @ replaced by relative byte ; ; ! signifies skip op code byte ; ;-----------------------------------------------; NEMON: nem000: db 'nop',0 ; 000 nem001: db 'ld',TAB,'bc,??',0 ; 001 nem002: db 'ld',TAB,'(bc),a',0 ; 002 nem003: db 'inc',TAB,'bc',0 ; 003 nem004: db 'inc',TAB,'b',0 ; 004 nem005: db 'dec',TAB,'b',0 ; 005 nem006: db 'ld',TAB,'b,?',0 ; 006 nem007: db 'rlca',0 ; 007 nem010: db 'ex',tab,'af,af',27h,0 ; 010 Z80 only nem011: db 'add',TAB,'hl,bc',0 ; 011 nem012: db 'ld',TAB,'a,(bc)',0 ; 012 nem013: db 'dec',TAB,'bc',0 ; 013 nem014: db 'inc',TAB,'c',0 ; 014 nem015: db 'dec',TAB,'c',0 ; 015 nem016: db 'ld',TAB,'c,?',0 ; 016 nem017: db 'rrca',0 ; 017 nem020: db 'djnz',tab,'@',0 ; 020 010h Z80 only nem021: db 'ld',TAB,'de,??',0 ; 021 nem022: db 'ld',TAB,'(de),a',0 ; 022 nem023: db 'inc',TAB,'de',0 ; 023 nem024: db 'inc',TAB,'d',0 ; 024 nem025: db 'dec',TAB,'d',0 ; 025 nem026: db 'ld',TAB,'d,?',0 ; 026 nem027: db 'rla',0 ; 027 nem030: db 'jr',tab,'@',0 ; 030 Z80 only nem031: db 'add',tab,'hl,de',0 ; 031 nem032: db 'ld',TAB,'a,(de)',0 ; 032 nem033: db 'dec',TAB,'de',0 ; 033 nem034: db 'inc',TAB,'e',0 ; 034 nem035: db 'dec',TAB,'e',0 ; 035 nem036: db 'ld',TAB,'e,?',0 ; 036 nem037: db 'rra',0 ; 037 nem040: db 'jr',tab,'nz,@',0 ; 040 020h Z80 only nem041: db 'ld',TAB,'hl,??',0 ; 041 nem042: db 'ld',TAB,'(??),hl',0 ; 042 nem043: db 'inc',TAB,'hl',0 ; 043 nem044: db 'inc',TAB,'h',0 ; 044 nem045: db 'dec',TAB,'h',0 ; 045 nem046: db 'ld',TAB,'h,?',0 ; 046 nem047: db 'daa',0 ; 047 nem050: db 'jr',tab,'z,@',0 ; 050 Z80 only nem051: db 'add',tab,'hl,hl',0 ; 051 nem052: db 'ld',TAB,'hl,(??)',0 ; 052 nem053: db 'dec',TAB,'hl',0 ; 053 nem054: db 'inc',TAB,'l',0 ; 054 nem055: db 'dec',TAB,'l',0 ; 055 nem056: db 'ld',TAB,'l,?',0 ; 056 nem057: db 'cpl',0 ; 057 nem060: db 'jr',tab,'nc,@',0 ; 060 030h Z80 only nem061: db 'ld',TAB,'sp,??',0 ; 061 nem062: db 'ld',TAB,'(??),a',0 ; 062 nem063: db 'inc',TAB,'sp',0 ; 063 nem064: db 'inc',TAB,'(hl)',0 ; 064 nem065: db 'dec',TAB,'(hl)',0 ; 065 nem066: db 'ld',TAB,'(hl),?',0 ; 066 nem067: db 'scf',0 ; 067 nem070: db 'jr',tab,'c,@',0 ; 070 Z80 only nem071: db 'add',tab,'hl,sp',0 ; 071 nem072: db 'ld',TAB,'a,(??)',0 ; 072 nem073: db 'dec',TAB,'sp',0 ; 073 nem074: db 'inc',TAB,'a',0 ; 074 nem075: db 'dec',TAB,'a',0 ; 075 nem076: db 'ld',TAB,'a,?',0 ; 076 nem077: db 'ccf',0 ; 077 nem100: db 'ld',TAB,'b,b',0 ; 100 040h nem101: db 'ld',TAB,'b,c',0 ; 101 nem102: db 'ld',TAB,'b,d',0 ; 102 nem103: db 'ld',TAB,'b,e',0 ; 103 nem104: db 'ld',TAB,'b,h',0 ; 104 nem105: db 'ld',TAB,'b,l',0 ; 105 nem106: db 'ld',TAB,'b,(hl)',0 ; 106 nem107: db 'ld',TAB,'b,a',0 ; 107 nem110: db 'ld',TAB,'c,b',0 ; 110 nem111: db 'ld',TAB,'c,c',0 ; 111 nem112: db 'ld',TAB,'c,d',0 ; 112 nem113: db 'ld',TAB,'c,e',0 ; 113 nem114: db 'ld',TAB,'c,h',0 ; 114 nem115: db 'ld',TAB,'c,l',0 ; 115 nem116: db 'ld',TAB,'c,(hl)',0 ; 116 nem117: db 'ld',TAB,'c,a',0 ; 117 nem120: db 'ld',TAB,'d,b',0 ; 120 050h nem121: db 'ld',TAB,'d,c',0 ; 121 nem122: db 'ld',TAB,'d,d',0 ; 122 nem123: db 'ld',TAB,'d,e',0 ; 123 nem124: db 'ld',TAB,'d,h',0 ; 124 nem125: db 'ld',TAB,'d,l',0 ; 125 nem126: db 'ld',TAB,'d,(hl)',0 ; 126 nem127: db 'ld',TAB,'d,a',0 ; 127 nem130: db 'ld',TAB,'e,b',0 ; 130 nem131: db 'ld',TAB,'e,c',0 ; 131 nem132: db 'ld',TAB,'e,d',0 ; 132 nem133: db 'ld',TAB,'e,e',0 ; 133 nem134: db 'ld',TAB,'e,h',0 ; 134 nem135: db 'ld',TAB,'e,l',0 ; 135 nem136: db 'ld',TAB,'e,(hl)',0 ; 136 nem137: db 'ld',TAB,'e,a',0 ; 137 nem140: db 'ld',TAB,'h,b',0 ; 140 060h nem141: db 'ld',TAB,'h,c',0 ; 141 nem142: db 'ld',TAB,'h,d',0 ; 142 nem143: db 'ld',TAB,'h,e',0 ; 143 nem144: db 'ld',TAB,'h,h',0 ; 144 nem145: db 'ld',TAB,'h,l',0 ; 145 nem146: db 'ld',TAB,'h,(hl)',0 ; 146 nem147: db 'ld',TAB,'h,a',0 ; 147 nem150: db 'ld',TAB,'l,b',0 ; 150 nem151: db 'ld',TAB,'l,c',0 ; 151 nem152: db 'ld',TAB,'l,d',0 ; 152 nem153: db 'ld',TAB,'l,e',0 ; 153 nem154: db 'ld',TAB,'l,h',0 ; 154 nem155: db 'ld',TAB,'l,l',0 ; 155 nem156: db 'ld',TAB,'l,(hl)',0 ; 156 nem157: db 'ld',TAB,'l,a',0 ; 157 nem160: db 'ld',TAB,'(hl),b',0 ; 160 070h nem161: db 'ld',TAB,'(hl),c',0 ; 161 nem162: db 'ld',TAB,'(hl),d',0 ; 162 nem163: db 'ld',TAB,'(hl),e',0 ; 163 nem164: db 'ld',TAB,'(hl),h',0 ; 164 nem165: db 'ld',TAB,'(hl),l',0 ; 165 nem166: db 'halt',0 ; 166 nem167: db 'ld',TAB,'(hl),a',0 ; 167 nem170: db 'ld',TAB,'a,b',0 ; 170 nem171: db 'ld',TAB,'a,c',0 ; 171 nem172: db 'ld',TAB,'a,d',0 ; 172 nem173: db 'ld',TAB,'a,e',0 ; 173 nem174: db 'ld',TAB,'a,h',0 ; 174 nem175: db 'ld',TAB,'a,l',0 ; 175 nem176: db 'ld',TAB,'a,(hl)',0 ; 176 nem177: db 'ld',TAB,'a,a',0 ; 177 nem200: db 'add',TAB,'a,b',0 ; 200 080h nem201: db 'add',TAB,'a,c',0 ; 201 nem202: db 'add',TAB,'a,d',0 ; 202 nem203: db 'add',TAB,'a,e',0 ; 203 nem204: db 'add',TAB,'a,h',0 ; 204 nem205: db 'add',TAB,'a,l',0 ; 205 nem206: db 'add',TAB,'a,(hl)',0 ; 206 nem207: db 'add',TAB,'a,a',0 ; 207 nem210: db 'adc',TAB,'a,b',0 ; 210 nem211: db 'adc',TAB,'a,c',0 ; 211 nem212: db 'adc',TAB,'a,d',0 ; 212 nem213: db 'adc',TAB,'a,e',0 ; 213 nem214: db 'adc',TAB,'a,h',0 ; 214 nem215: db 'adc',TAB,'a,l',0 ; 215 nem216: db 'adc',TAB,'a,(hl)',0 ; 216 nem217: db 'adc',TAB,'a,a',0 ; 217 nem220: db 'sub',TAB,'b',0 ; 220 090h nem221: db 'sub',TAB,'c',0 ; 221 nem222: db 'sub',TAB,'d',0 ; 222 nem223: db 'sub',TAB,'e',0 ; 223 nem224: db 'sub',TAB,'h',0 ; 224 nem225: db 'sub',TAB,'l',0 ; 225 nem226: db 'sub',TAB,'(hl)',0 ; 226 nem227: db 'sub',TAB,'a',0 ; 227 nem230: db 'sbc',TAB,'a,b',0 ; 230 nem231: db 'sbc',TAB,'a,c',0 ; 231 nem232: db 'sbc',TAB,'a,d',0 ; 232 nem233: db 'sbc',TAB,'a,e',0 ; 233 nem234: db 'sbc',TAB,'a,h',0 ; 234 nem235: db 'sbc',TAB,'a,l',0 ; 235 nem236: db 'sbc',TAB,'a,(hl)',0 ; 236 nem237: db 'sbc',TAB,'a,a',0 ; 237 nem240: db 'and',TAB,'b',0 ; 240 0a0h nem241: db 'and',TAB,'c',0 ; 241 nem242: db 'and',TAB,'d',0 ; 242 nem243: db 'and',TAB,'e',0 ; 243 nem244: db 'and',TAB,'h',0 ; 244 nem245: db 'and',TAB,'l',0 ; 245 nem246: db 'and',TAB,'(hl)',0 ; 246 nem247: db 'and',TAB,'a',0 ; 247 nem250: db 'xor',TAB,'b',0 ; 250 nem251: db 'xor',TAB,'c',0 ; 251 nem252: db 'xor',TAB,'d',0 ; 252 nem253: db 'xor',TAB,'e',0 ; 253 nem254: db 'xor',TAB,'h',0 ; 254 nem255: db 'xor',TAB,'l',0 ; 255 nem256: db 'xor',TAB,'(hl)',0 ; 256 nem257: db 'xor',TAB,'a',0 ; 257 nem260: db 'or',TAB,'b',0 ; 260 0b0h nem261: db 'or',TAB,'c',0 ; 261 nem262: db 'or',TAB,'d',0 ; 262 nem263: db 'or',TAB,'e',0 ; 263 nem264: db 'or',TAB,'h',0 ; 264 nem265: db 'or',TAB,'l',0 ; 265 nem266: db 'or',TAB,'(hl)',0 ; 266 nem267: db 'or',TAB,'a',0 ; 267 nem270: db 'cp',TAB,'b',0 ; 270 nem271: db 'cp',TAB,'c',0 ; 271 nem272: db 'cp',TAB,'d',0 ; 272 nem273: db 'cp',TAB,'e',0 ; 273 nem274: db 'cp',TAB,'h',0 ; 274 nem275: db 'cp',TAB,'l',0 ; 275 nem276: db 'cp',TAB,'(hl)',0 ; 276 nem277: db 'cp',TAB,'a',0 ; 277 nem300: db 'ret',TAB,'nz',0 ; 300 0c0h nem301: db 'pop',TAB,'bc',0 ; 301 nem302: db 'jp',TAB,'nz,??',0 ; 302 nem303: db 'jp',TAB,'??',0 ; 303 nem304: db 'call',TAB,'nz,??',0 ; 304 nem305: db 'push',TAB,'bc',0 ; 305 nem306: db 'add',TAB,'a,?',0 ; 306 nem307: db 'rst',TAB,'00h',0 ; 307 nem310: db 'ret',TAB,'z',0 ; 310 nem311: db 'ret',0 ; 311 nem312: db 'jp',TAB,'z,??',0 ; 312 nem313: db 0 ; 313 0cbh multi byte instruction nem314: db 'call',TAB,'z,??',0 ; 314 nem315: db 'call',TAB,'??',0 ; 315 nem316: db 'adc',TAB,'a,?',0 ; 316 nem317: db 'rst',TAB,'08h',0 ; 317 nem320: db 'ret',TAB,'nc',0 ; 320 0d0h nem321: db 'pop',TAB,'de',0 ; 321 nem322: db 'jp',TAB,'nc,??',0 ; 322 nem323: db 'out',TAB,'(?),a',0 ; 323 nem324: db 'call',TAB,'nc,??',0 ; 324 nem325: db 'push',TAB,'de',0 ; 325 nem326: db 'sub',TAB,'?',0 ; 326 nem327: db 'rst',TAB,'10h',0 ; 327 nem330: db 'ret',TAB,'c',0 ; 330 nem331: db 'exx',0 ; 331 Z80 only nem332: db 'jp',TAB,'c,??',0 ; 332 nem333: db 'in',TAB,'a,(?)',0 ; 333 nem334: db 'call',TAB,'c,??',0 ; 334 nem335: db 0 ; 335 0ddh multi byte instruction nem336: db 'sbc',TAB,'a,?',0 ; 336 nem337: db 'rst',TAB,'18h',0 ; 337 nem340: db 'ret',TAB,'po',0 ; 340 0e0h nem341: db 'pop',TAB,'hl',0 ; 341 nem342: db 'jp',TAB,'po,??',0 ; 342 nem343: db 'ex',TAB,'(sp),hl',0 ; 343 nem344: db 'call',TAB,'po,??',0 ; 344 nem345: db 'push',TAB,'hl',0 ; 345 nem346: db 'and',TAB,'?',0 ; 346 nem347: db 'rst',TAB,'20h',0 ; 347 nem350: db 'ret',TAB,'pe',0 ; 350 nem351: db 'jp',TAB,'(hl)',0 ; 351 nem352: db 'jp',TAB,'pe,??',0 ; 352 nem353: db 'ex',TAB,'de,hl',0 ; 353 nem354: db 'call',TAB,'pe,??',0 ; 354 nem355: db 0 ; 355 0edh multi byte instruction nem356: db 'xor',TAB,'?',0 ; 356 nem357: db 'rst',TAB,'28h',0 ; 357 nem360: db 'ret',TAB,'p',0 ; 360 0f0h nem361: db 'pop',TAB,'af',0 ; 361 nem362: db 'jp',TAB,'p,??',0 ; 362 nem363: db 'di',0 ; 363 nem364: db 'call',TAB,'p,??',0 ; 364 nem365: db 'push',TAB,'af',0 ; 365 nem366: db 'or',TAB,'?',0 ; 366 nem367: db 'rst',TAB,'30h',0 ; 367 nem370: db 'ret',TAB,'m',0 ; 370 nem371: db 'ld',TAB,'sp,hl',0 ; 371 nem372: db 'jp',TAB,'m,??',0 ; 372 nem373: db 'ei',0 ; 373 nem374: db 'call',TAB,'m,??',0 ; 374 nem375: db 0 ; 375 0fdh multi byte instruction nem376: db 'cp',TAB,'?',0 ; 376 nem377: db 'rst',TAB,'38h',0 ; 377 ; Z80 2nd instruction byte to 0cbh set$cb: db 001h dw cb$000 ; 00h RLC b db 001h dw cb$001 ; 01h RLC c db 001h dw cb$002 ; 02h RLC d db 001h dw cb$003 ; 03h RLC e db 001h dw cb$004 ; 04h RLC h db 001h dw cb$005 ; 05h RLC l db 001h dw cb$006 ; 06h RLC (hl) db 001h dw cb$007 ; 07h RLC a db 001h dw cb$010 ; 08h RRC b db 001h dw cb$011 ; 09h RRC c db 001h dw cb$012 ; 0ah RRC d db 001h dw cb$013 ; 0bh RRC e db 001h dw cb$014 ; 0ch RRC h db 001h dw cb$015 ; 0dh RRC l db 001h dw cb$016 ; 0eh RRC (hl) db 001h dw cb$017 ; 0fh RRC a db 001h dw cb$020 ; 10h RL b db 001h dw cb$021 ; 11h RL c db 001h dw cb$022 ; 12h RL d db 001h dw cb$023 ; 13h RL e db 001h dw cb$024 ; 14h RL h db 001h dw cb$025 ; 15h RL l db 001h dw cb$026 ; 16h RL (hl) db 001h dw cb$027 ; 17h RL a db 001h dw cb$03° ; 18h RR b db 001h dw cb$031 ; 19h RR c db 001h dw cb$032 ; 1ah RR d db 001h dw cb$033 ; 1bh RR e db 001h dw cb$034 ; 1ch RR h db 001h dw cb$035 ; 1dh RR l db 001h dw cb$036 ; 1eh RR (hl) db 001h dw cb$037 ; 1fh RR a db 001h dw cb$040 ; 20h SLA b db 001h dw cb$041 ; 21h SLA c db 001h dw cb$042 ; 22h SLA d db 001h dw cb$043 ; 23h SLA e db 001h dw cb$044 ; 24h SLA h db 001h dw cb$045 ; 25h SLA l db 001h dw cb$046 ; 26h SLA (hl) db 001h dw cb$047 ; 27h SLA a db 001h dw cb$050 ; 28h SRA b db 001h dw cb$051 ; 29h SRA c db 001h dw cb$052 ; 2ah SRA d db 001h dw cb$053 ; 2bh SRA e db 001h dw cb$054 ; 2ch SRA h db 001h dw cb$055 ; 2dh SRA l db 001h dw cb$056 ; 2eh SRA (hl) db 001h dw cb$057 ; 2fh SRA a db 000h dw cb$060 ; 30h db 000h dw cb$061 ; 31h db 000h dw cb$062 ; 32h db 000h dw cb$063 ; 33h db 000h dw cb$064 ; 34h db 000h dw cb$065 ; 35h db 000h dw cb$066 ; 36h db 000h dw cb$067 ; 37h db 001h dw cb$070 ; 38h SRL b db 001h dw cb$071 ; 39h SRL c db 001h dw cb$072 ; 3ah SRL d db 001h dw cb$073 ; 3bh SRL e db 001h dw cb$074 ; 3ch SRL h db 001h dw cb$075 ; 3dh SRL l db 001h dw cb$076 ; 3eh SRL (hl) db 001h dw cb$077 ; 3fh SRL a db 001h dw cb$100 ; 40h bit 0,b db 001h dw cb$101 ; 41h bit 0,c db 001h dw cb$102 ; 42h bit 0,d db 001h dw cb$103 ; 43h bit 0,e db 001h dw cb$104 ; 44h bit 0,h db 001h dw cb$105 ; 45h bit 0,l db 001h dw cb$106 ; 46h bit 0,(hl) db 001h dw cb$107 ; 47h bit 0,a db 001h dw cb$110 ; 48h bit 1,b db 001h dw cb$111 ; 49h bit 1,c db 001h dw cb$112 ; 4ah bit 1,d db 001h dw cb$113 ; 4bh bit 1,e db 001h dw cb$114 ; 4ch bit 1,h db 001h dw cb$115 ; 4dh bit 1,l db 001h dw cb$116 ; 4eh bit 1,(hl) db 001h dw cb$117 ; 4fh bit 1,a db 001h dw cb$120 ; 50h bit 2,b db 001h dw cb$121 ; 51h bit 2,c db 001h dw cb$122 ; 52h bit 2,d db 001h dw cb$123 ; 53h bit 2,e db 001h dw cb$124 ; 54h bit 2,h db 001h dw cb$125 ; 55h bit 2,l db 001h dw cb$126 ; 56h bit 2,(hl) db 001h dw cb$127 ; 57h bit 2,a db 001h dw cb$130 ; 58h bit 3,b db 001h dw cb$131 ; 59h bit 3,c db 001h dw cb$132 ; 5ah bit 3,d db 001h dw cb$133 ; 5bh bit 3,e db 001h dw cb$134 ; 5ch bit 3,h db 001h dw cb$135 ; 5dh bit 3,l db 001h dw cb$136 ; 5eh bit 3,(hl) db 001h dw cb$137 ; 5fh bit 3,a db 001h dw cb$140 ; 60h bit 4,b db 001h dw cb$141 ; 61h bit 4,c db 001h dw cb$142 ; 62h bit 4,d db 001h dw cb$143 ; 63h bit 4,e db 001h dw cb$144 ; 64h bit 4,h db 001h dw cb$145 ; 65h bit 4,l db 001h dw cb$146 ; 66h bit 4,(hl) db 001h dw cb$147 ; 67h bit 4,a db 001h dw cb$150 ; 68h bit 5,b db 001h dw cb$151 ; 69h bit 5,c db 001h dw cb$152 ; 6ah bit 5,d db 001h dw cb$153 ; 6bh bit 5,e db 001h dw cb$154 ; 6ch bit 5,h db 001h dw cb$155 ; 6dh bit 5,l db 001h dw cb$156 ; 6eh bit 5,(hl) db 001h dw cb$157 ; 6fh bit 5,a db 001h dw cb$160 ; 70h bit 6,b db 001h dw cb$161 ; 71h bit 6,c db 001h dw cb$162 ; 72h bit 6,d db 001h dw cb$163 ; 73h bit 6,e db 001h dw cb$164 ; 74h bit 6,h db 001h dw cb$165 ; 75h bit 6,l db 001h dw cb$166 ; 76h bit 6,(hl) db 001h dw cb$167 ; 77h bit 6,a db 001h dw cb$170 ; 78h bit 7,b db 001h dw cb$171 ; 79h bit 7,c db 001h dw cb$172 ; 7ah bit 7,d db 001h dw cb$173 ; 7bh bit 7,e db 001h dw cb$174 ; 7ch bit 7,h db 001h dw cb$175 ; 7dh bit 7,l db 001h dw cb$176 ; 7eh bit 7,(hl) db 001h dw cb$177 ; 7fh bit 7,a db 001h dw cb$200 ; 80h res 0,b db 001h dw cb$201 ; 81h res 0,c db 001h dw cb$202 ; 82h res 0,d db 001h dw cb$203 ; 83h res 0,e db 001h dw cb$204 ; 84h res 0,h db 001h dw cb$205 ; 85h res 0,l db 001h dw cb$206 ; 86h res 0,(hl) db 001h dw cb$207 ; 87h res 0,a db 001h dw cb$210 ; 88h res 1,b db 001h dw cb$211 ; 89h res 1,c db 001h dw cb$212 ; 8ah res 1,d db 001h dw cb$213 ; 8bh res 1,e db 001h dw cb$214 ; 8ch res 1,h db 001h dw cb$215 ; 8dh res 1,l db 001h dw cb$216 ; 8eh res 1,(hl) db 001h dw cb$217 ; 8fh res 1,a db 001h dw cb$220 ; 90h res 2,b db 001h dw cb$221 ; 91h res 2,c db 001h dw cb$222 ; 92h res 2,d db 001h dw cb$223 ; 93h res 2,e db 001h dw cb$224 ; 94h res 2,h db 001h dw cb$225 ; 95h res 2,l db 001h dw cb$226 ; 96h res 2,(hl) db 001h dw cb$227 ; 97h res 2,a db 001h dw cb$230 ; 98h res 3,b db 001h dw cb$231 ; 99h res 3,c db 001h dw cb$232 ; 9ah res 3,d db 001h dw cb$233 ; 9bh res 3,e db 001h dw cb$234 ; 9ch res 3,h db 001h dw cb$235 ; 9dh res 3,l db 001h dw cb$236 ; 9eh res 3,(hl) db 001h dw cb$237 ; 9fh res 3,a db 001h dw cb$240 ; 0a0h res 4,b db 001h dw cb$241 ; 0a1h res 4,c db 001h dw cb$242 ; 0a2h res 4,d db 001h dw cb$243 ; 0a3h res 4,e db 001h dw cb$244 ; 0a4h res 4,h db 001h dw cb$245 ; 0a5h res 4,l db 001h dw cb$246 ; 0a6h res 4,(hl) db 001h dw cb$247 ; 0a7h res 4,a db 001h dw cb$250 ; 0a8h res 5,b db 001h dw cb$251 ; 0a9h res 5,c db 001h dw cb$252 ; 0aah res 5,d db 001h dw cb$253 ; 0abh res 5,e db 001h dw cb$254 ; 0ach res 5,h db 001h dw cb$255 ; 0adh res 5,l db 001h dw cb$256 ; 0aeh res 5,(hl) db 001h dw cb$257 ; 0afh res 5,a db 001h dw cb$260 ; 0b0h res 6,b db 001h dw cb$261 ; 0b1h res 6,c db 001h dw cb$262 ; 0b2h res 6,d db 001h dw cb$263 ; 0b3h res 6,e db 001h dw cb$264 ; 0b4h res 6,h db 001h dw cb$265 ; 0b5h res 6,l db 001h dw cb$266 ; 0b6h res 6,(hl) db 001h dw cb$267 ; 0b7h res 6,a db 001h dw cb$270 ; 0b8h res 7,b db 001h dw cb$271 ; 0b9h res 7,c db 001h dw cb$272 ; 0bah res 7,d db 001h dw cb$273 ; 0bbh res 7,e db 001h dw cb$274 ; 0bch res 7,h db 001h dw cb$275 ; 0bdh res 7,l db 001h dw cb$276 ; 0beh res 7,(hl) db 001h dw cb$277 ; 0bfh res 7,a db 001h dw cb$300 ; 0c0h set 0,b db 001h dw cb$301 ; 0c1h set 0,c db 001h dw cb$302 ; 0c2h set 0,d db 001h dw cb$303 ; 0c3h set 0,e db 001h dw cb$304 ; 0c4h set 0,h db 001h dw cb$305 ; 0c5h set 0,l db 001h dw cb$306 ; 0c6h set 0,(hl) db 001h dw cb$307 ; 0c7h set 0,a db 001h dw cb$310 ; 0c8h set 1,b db 001h dw cb$311 ; 0c9h set 1,c db 001h dw cb$312 ; 0cah set 1,d db 001h dw cb$313 ; 0cbh set 1,e db 001h dw cb$314 ; 0cch set 1,h db 001h dw cb$315 ; 0cdh set 1,l db 001h dw cb$316 ; 0ceh set 1,(hl) db 001h dw cb$317 ; 0cfh set 1,a db 001h dw cb$320 ; 0d0h set 2,b db 001h dw cb$321 ; 0d1h set 2,c db 001h dw cb$322 ; 0d2h set 2,d db 001h dw cb$323 ; 0d3h set 2,e db 001h dw cb$324 ; 0d4h set 2,h db 001h dw cb$325 ; 0d5h set 2,l db 001h dw cb$326 ; 0d6h set 2,(hl) db 001h dw cb$327 ; 0d7h set 2,a db 001h dw cb$330 ; 0d8h set 3,b db 001h dw cb$331 ; 0d9h set 3,c db 001h dw cb$332 ; 0dah set 3,d db 001h dw cb$333 ; 0dbh set 3,e db 001h dw cb$334 ; 0dch set 3,h db 001h dw cb$335 ; 0ddh set 3,l db 001h dw cb$336 ; 0deh set 3,(hl) db 001h dw cb$337 ; 0dfh set 3,a db 001h dw cb$340 ; 0e0h set 4,b db 001h dw cb$341 ; 0e1h set 4,c db 001h dw cb$342 ; 0e2h set 4,d db 001h dw cb$343 ; 0e3h set 4,e db 001h dw cb$344 ; 0e4h set 4,h db 001h dw cb$345 ; 0e5h set 4,l db 001h dw cb$346 ; 0e6h set 4,(hl) db 001h dw cb$347 ; 0e7h set 4,a db 001h dw cb$350 ; 0e8h set 5,b db 001h dw cb$351 ; 0e9h set 5,c db 001h dw cb$352 ; 0eah set 5,d db 001h dw cb$353 ; 0ebh set 5,e db 001h dw cb$354 ; 0ech set 5,h db 001h dw cb$355 ; 0edh set 5,l db 001h dw cb$356 ; 0eeh set 5,(hl) db 001h dw cb$357 ; 0efh set 5,a db 001h dw cb$360 ; 0f0h set 6,b db 001h dw cb$361 ; 0f1h set 6,c db 001h dw cb$362 ; 0f2h set 6,d db 001h dw cb$363 ; 0f3h set 6,e db 001h dw cb$364 ; 0f4h set 6,h db 001h dw cb$365 ; 0f5h set 6,l db 001h dw cb$366 ; 0f6h set 6,(hl) db 001h dw cb$367 ; 0f7h set 6,a db 001h dw cb$370 ; 0f8h set 7,b db 001h dw cb$371 ; 0f9h set 7,c db 001h dw cb$372 ; 0fah set 7,d db 001h dw cb$373 ; 0fbh set 7,e db 001h dw cb$374 ; 0fch set 7,h db 001h dw cb$375 ; 0fdh set 7,l db 001h dw cb$376 ; 0feh set 7,(hl) db 001h dw cb$377 ; 0ffh set 7,a ;-----------------------------------------------; ; Table of MNEMONICS text strings ; ; - 2nd instruction byte to 0cbh - ; ; terminated by a 00h byte ; ; Note ? replaced by byte ; ; ?? replaced by word ; ; @ replaced by relative byte ; ; ! signifies skip op code byte ; ;-----------------------------------------------; cb$000: db 'rlc',TAB,'b',0 ; 000 0cbh + 000h cb$001: db 'rlc',TAB,'c',0 ; 001 cb$002: db 'rlc',TAB,'d',0 ; 002 cb$003: db 'rlc',TAB,'e',0 ; 003 cb$004: db 'rlc',TAB,'h',0 ; 004 cb$005: db 'rlc',TAB,'l',0 ; 005 cb$006: db 'rlc',TAB,'(hl)',0 ; 006 cb$007: db 'rlc',TAB,'a',0 ; 007 cb$010: db 'rrc',TAB,'b',0 ; 010 008h cb$011: db 'rrc',TAB,'c',0 ; 011 cb$012: db 'rrc',TAB,'d',0 ; 012 cb$013: db 'rrc',TAB,'e',0 ; 013 cb$014: db 'rrc',TAB,'h',0 ; 014 cb$015: db 'rrc',TAB,'l',0 ; 015 cb$016: db 'rrc',TAB,'(hl)',0 ; 016 cb$017: db 'rrc',TAB,'a',0 ; 017 cb$020: db 'rl',TAB,'b',0 ; 020 010h cb$021: db 'rl',TAB,'c',0 ; 021 cb$022: db 'rl',TAB,'d',0 ; 022 cb$023: db 'rl',TAB,'e',0 ; 023 cb$024: db 'rl',TAB,'h',0 ; 024 cb$025: db 'rl',TAB,'l',0 ; 025 cb$026: db 'rl',TAB,'(hl)',0 ; 026 cb$027: db 'rl',TAB,'a',0 ; 027 cb$03°: db 'rr',TAB,'b',° ; 03° 018h cb$031: db 'rr',TAB,'c',0 ; 031 cb$032: db 'rr',TAB,'d',0 ; 032 cb$033: db 'rr',TAB,'e',0 ; 033 cb$034: db 'rr',TAB,'h',0 ; 034 cb$035: db 'rr',TAB,'l',0 ; 035 cb$036: db 'rr',TAB,'(hl)',0 ; 036 cb$037: db 'rr',TAB,'a',0 ; 037 cb$040: db 'sla',TAB,'b',0 ; 040 020h cb$041: db 'sla',TAB,'c',0 ; 041 cb$042: db 'sla',TAB,'d',0 ; 042 cb$043: db 'sla',TAB,'e',0 ; 043 cb$044: db 'sla',TAB,'h',0 ; 044 cb$045: db 'sla',TAB,'l',0 ; 045 cb$046: db 'sla',TAB,'(hl)',0 ; 046 cb$047: db 'sla',TAB,'a',0 ; 047 cb$050: db 'sra',TAB,'b',0 ; 050 028h cb$051: db 'sra',TAB,'c',0 ; 051 cb$052: db 'sra',TAB,'d',0 ; 052 cb$053: db 'sra',TAB,'e',0 ; 053 cb$054: db 'sra',TAB,'h',0 ; 054 cb$055: db 'sra',TAB,'l',0 ; 055 cb$056: db 'sra',TAB,'(hl)',0 ; 056 cb$057: db 'sra',TAB,'a',0 ; 057 cb$060: db 0 ; 060 030h cb$061: db 0 ; 061 cb$062: db 0 ; 062 cb$063: db 0 ; 063 cb$064: db 0 ; 064 cb$065: db 0 ; 065 cb$066: db 0 ; 066 cb$067: db 0 ; 067 cb$070: db 'srl',TAB,'b',0 ; 070 038h cb$071: db 'srl',TAB,'c',0 ; 071 cb$072: db 'srl',TAB,'d',0 ; 072 cb$073: db 'srl',TAB,'e',0 ; 073 cb$074: db 'srl',TAB,'h',0 ; 074 cb$075: db 'srl',TAB,'l',0 ; 075 cb$076: db 'srl',TAB,'(hl)',0 ; 076 cb$077: db 'srl',TAB,'a',0 ; 077 cb$100: db 'bit',TAB,'0,b',0 ; 100 040h cb$101: db 'bit',TAB,'0,c',0 ; 101 cb$102: db 'bit',TAB,'0,d',0 ; 102 cb$103: db 'bit',TAB,'0,e',0 ; 103 cb$104: db 'bit',TAB,'0,h',0 ; 104 cb$105: db 'bit',TAB,'0,l',0 ; 105 cb$106: db 'bit',TAB,'0,(hl)',0 ; 106 cb$107: db 'bit',TAB,'0,a',0 ; 107 cb$110: db 'bit',TAB,'1,b',0 ; 110 048h cb$111: db 'bit',TAB,'1,c',0 ; 111 cb$112: db 'bit',TAB,'1,d',0 ; 112 cb$113: db 'bit',TAB,'1,e',0 ; 113 cb$114: db 'bit',TAB,'1,h',0 ; 114 cb$115: db 'bit',TAB,'1,l',0 ; 115 cb$116: db 'bit',TAB,'1,(hl)',0 ; 116 cb$117: db 'bit',TAB,'1,a',0 ; 117 cb$120: db 'bit',TAB,'2,b',0 ; 120 050h cb$121: db 'bit',TAB,'2,c',0 ; 121 cb$122: db 'bit',TAB,'2,d',0 ; 122 cb$123: db 'bit',TAB,'2,e',0 ; 123 cb$124: db 'bit',TAB,'2,h',0 ; 124 cb$125: db 'bit',TAB,'2,l',0 ; 125 cb$126: db 'bit',TAB,'2,(hl)',0 ; 126 cb$127: db 'bit',TAB,'2,a',0 ; 127 cb$130: db 'bit',TAB,'3,b',0 ; 130 058h cb$131: db 'bit',TAB,'3,c',0 ; 131 cb$132: db 'bit',TAB,'3,d',0 ; 132 cb$133: db 'bit',TAB,'3,e',0 ; 133 cb$134: db 'bit',TAB,'3,h',0 ; 134 cb$135: db 'bit',TAB,'3,l',0 ; 135 cb$136: db 'bit',TAB,'3,(hl)',0 ; 136 cb$137: db 'bit',TAB,'3,a',0 ; 137 cb$140: db 'bit',TAB,'4,b',0 ; 140 060h cb$141: db 'bit',TAB,'4,c',0 ; 141 cb$142: db 'bit',TAB,'4,d',0 ; 142 cb$143: db 'bit',TAB,'4,e',0 ; 143 cb$144: db 'bit',TAB,'4,h',0 ; 144 cb$145: db 'bit',TAB,'4,l',0 ; 145 cb$146: db 'bit',TAB,'4,(hl)',0 ; 146 cb$147: db 'bit',TAB,'4,a',0 ; 147 cb$150: db 'bit',TAB,'5,b',0 ; 150 068h cb$151: db 'bit',TAB,'5,c',0 ; 151 cb$152: db 'bit',TAB,'5,d',0 ; 152 cb$153: db 'bit',TAB,'5,e',0 ; 153 cb$154: db 'bit',TAB,'5,h',0 ; 154 cb$155: db 'bit',TAB,'5,l',0 ; 155 cb$156: db 'bit',TAB,'5,(hl)',0 ; 156 cb$157: db 'bit',TAB,'5,a',0 ; 157 cb$160: db 'bit',TAB,'6,b',0 ; 160 070h cb$161: db 'bit',TAB,'6,c',0 ; 161 cb$162: db 'bit',TAB,'6,d',0 ; 162 cb$163: db 'bit',TAB,'6,e',0 ; 163 cb$164: db 'bit',TAB,'6,h',0 ; 164 cb$165: db 'bit',TAB,'6,l',0 ; 165 cb$166: db 'bit',TAB,'6,(hl)',0 ; 166 cb$167: db 'bit',TAB,'6,a',0 ; 167 cb$170: db 'bit',TAB,'7,b',0 ; 170 070h cb$171: db 'bit',TAB,'7,c',0 ; 171 cb$172: db 'bit',TAB,'7,d',0 ; 172 cb$173: db 'bit',TAB,'7,e',0 ; 173 cb$174: db 'bit',TAB,'7,h',0 ; 174 cb$175: db 'bit',TAB,'7,l',0 ; 175 cb$176: db 'bit',TAB,'7,(hl)',0 ; 176 cb$177: db 'bit',TAB,'7,a',0 ; 177 cb$200: db 'res',TAB,'0,b',0 ; 200 080h cb$201: db 'res',TAB,'0,c',0 ; 201 cb$202: db 'res',TAB,'0,d',0 ; 202 cb$203: db 'res',TAB,'0,e',0 ; 203 cb$204: db 'res',TAB,'0,h',0 ; 204 cb$205: db 'res',TAB,'0,l',0 ; 205 cb$206: db 'res',TAB,'0,(hl)',0 ; 206 cb$207: db 'res',TAB,'0,a',0 ; 207 cb$210: db 'res',TAB,'1,b',0 ; 210 088h cb$211: db 'res',TAB,'1,c',0 ; 211 cb$212: db 'res',TAB,'1,d',0 ; 212 cb$213: db 'res',TAB,'1,e',0 ; 213 cb$214: db 'res',TAB,'1,h',0 ; 214 cb$215: db 'res',TAB,'1,l',0 ; 215 cb$216: db 'res',TAB,'1,(hl)',0 ; 216 cb$217: db 'res',TAB,'1,a',0 ; 217 cb$220: db 'res',TAB,'2,b',0 ; 220 090h cb$221: db 'res',TAB,'2,c',0 ; 221 cb$222: db 'res',TAB,'2,d',0 ; 222 cb$223: db 'res',TAB,'2,e',0 ; 223 cb$224: db 'res',TAB,'2,h',0 ; 224 cb$225: db 'res',TAB,'2,l',0 ; 225 cb$226: db 'res',TAB,'2,(hl)',0 ; 226 cb$227: db 'res',TAB,'2,a',0 ; 227 cb$230: db 'res',TAB,'3,b',0 ; 230 098h cb$231: db 'res',TAB,'3,c',0 ; 231 cb$232: db 'res',TAB,'3,d',0 ; 232 cb$233: db 'res',TAB,'3,e',0 ; 233 cb$234: db 'res',TAB,'3,h',0 ; 234 cb$235: db 'res',TAB,'3,l',0 ; 235 cb$236: db 'res',TAB,'3,(hl)',0 ; 236 cb$237: db 'res',TAB,'3,a',0 ; 237 cb$240: db 'res',TAB,'4,b',0 ; 240 0A0h cb$241: db 'res',TAB,'4,c',0 ; 241 cb$242: db 'res',TAB,'4,d',0 ; 242 cb$243: db 'res',TAB,'4,e',0 ; 243 cb$244: db 'res',TAB,'4,h',0 ; 244 cb$245: db 'res',TAB,'4,l',0 ; 245 cb$246: db 'res',TAB,'4,(hl)',0 ; 246 cb$247: db 'res',TAB,'4,a',0 ; 247 cb$250: db 'res',TAB,'5,b',0 ; 250 0A8h cb$251: db 'res',TAB,'5,c',0 ; 251 cb$252: db 'res',TAB,'5,d',0 ; 252 cb$253: db 'res',TAB,'5,e',0 ; 253 cb$254: db 'res',TAB,'5,h',0 ; 254 cb$255: db 'res',TAB,'5,l',0 ; 255 cb$256: db 'res',TAB,'5,(hl)',0 ; 256 cb$257: db 'res',TAB,'5,a',0 ; 257 cb$260: db 'res',TAB,'6,b',0 ; 260 0B0h cb$261: db 'res',TAB,'6,c',0 ; 261 cb$262: db 'res',TAB,'6,d',0 ; 262 cb$263: db 'res',TAB,'6,e',0 ; 263 cb$264: db 'res',TAB,'6,h',0 ; 264 cb$265: db 'res',TAB,'6,l',0 ; 265 cb$266: db 'res',TAB,'6,(hl)',0 ; 266 cb$267: db 'res',TAB,'6,a',0 ; 267 cb$270: db 'res',TAB,'7,b',0 ; 270 0B0h cb$271: db 'res',TAB,'7,c',0 ; 271 cb$272: db 'res',TAB,'7,d',0 ; 272 cb$273: db 'res',TAB,'7,e',0 ; 273 cb$274: db 'res',TAB,'7,h',0 ; 274 cb$275: db 'res',TAB,'7,l',0 ; 275 cb$276: db 'res',TAB,'7,(hl)',0 ; 276 cb$277: db 'res',TAB,'7,a',0 ; 277 cb$300: db 'set',TAB,'0,b',0 ; 300 0C0h cb$301: db 'set',TAB,'0,c',0 ; 301 cb$302: db 'set',TAB,'0,d',0 ; 302 cb$303: db 'set',TAB,'0,e',0 ; 303 cb$304: db 'set',TAB,'0,h',0 ; 304 cb$305: db 'set',TAB,'0,l',0 ; 305 cb$306: db 'set',TAB,'0,(hl)',0 ; 306 cb$307: db 'set',TAB,'0,a',0 ; 307 cb$310: db 'set',TAB,'1,b',0 ; 310 0C8h cb$311: db 'set',TAB,'1,c',0 ; 311 cb$312: db 'set',TAB,'1,d',0 ; 312 cb$313: db 'set',TAB,'1,e',0 ; 313 cb$314: db 'set',TAB,'1,h',0 ; 314 cb$315: db 'set',TAB,'1,l',0 ; 315 cb$316: db 'set',TAB,'1,(hl)',0 ; 316 cb$317: db 'set',TAB,'1,a',0 ; 317 cb$320: db 'set',TAB,'2,b',0 ; 320 0D0h cb$321: db 'set',TAB,'2,c',0 ; 321 cb$322: db 'set',TAB,'2,d',0 ; 322 cb$323: db 'set',TAB,'2,e',0 ; 323 cb$324: db 'set',TAB,'2,h',0 ; 324 cb$325: db 'set',TAB,'2,l',0 ; 325 cb$326: db 'set',TAB,'2,(hl)',0 ; 326 cb$327: db 'set',TAB,'2,a',0 ; 327 cb$330: db 'set',TAB,'3,b',0 ; 330 0D8h cb$331: db 'set',TAB,'3,c',0 ; 331 cb$332: db 'set',TAB,'3,d',0 ; 332 cb$333: db 'set',TAB,'3,e',0 ; 333 cb$334: db 'set',TAB,'3,h',0 ; 334 cb$335: db 'set',TAB,'3,l',0 ; 335 cb$336: db 'set',TAB,'3,(hl)',0 ; 336 cb$337: db 'set',TAB,'3,a',0 ; 337 cb$340: db 'set',TAB,'4,b',0 ; 340 0E0h cb$341: db 'set',TAB,'4,c',0 ; 341 cb$342: db 'set',TAB,'4,d',0 ; 342 cb$343: db 'set',TAB,'4,e',0 ; 343 cb$344: db 'set',TAB,'4,h',0 ; 344 cb$345: db 'set',TAB,'4,l',0 ; 345 cb$346: db 'set',TAB,'4,(hl)',0 ; 346 cb$347: db 'set',TAB,'4,a',0 ; 347 cb$350: db 'set',TAB,'5,b',0 ; 350 0E8h cb$351: db 'set',TAB,'5,c',0 ; 351 cb$352: db 'set',TAB,'5,d',0 ; 352 cb$353: db 'set',TAB,'5,e',0 ; 353 cb$354: db 'set',TAB,'5,h',0 ; 354 cb$355: db 'set',TAB,'5,l',0 ; 355 cb$356: db 'set',TAB,'5,(hl)',0 ; 356 cb$357: db 'set',TAB,'5,a',0 ; 357 cb$360: db 'set',TAB,'6,b',0 ; 360 0F0h cb$361: db 'set',TAB,'6,c',0 ; 361 cb$362: db 'set',TAB,'6,d',0 ; 362 cb$363: db 'set',TAB,'6,e',0 ; 363 cb$364: db 'set',TAB,'6,h',0 ; 364 cb$365: db 'set',TAB,'6,l',0 ; 365 cb$366: db 'set',TAB,'6,(hl)',0 ; 366 cb$367: db 'set',TAB,'6,a',0 ; 367 cb$370: db 'set',TAB,'7,b',0 ; 370 0F0h cb$371: db 'set',TAB,'7,c',0 ; 371 cb$372: db 'set',TAB,'7,d',0 ; 372 cb$373: db 'set',TAB,'7,e',0 ; 373 cb$374: db 'set',TAB,'7,h',0 ; 374 cb$375: db 'set',TAB,'7,l',0 ; 375 cb$376: db 'set',TAB,'7,(hl)',0 ; 376 cb$377: db 'set',TAB,'7,a',0 ; 377 ;----------------------------------------------; ; tables of multi byte operands with mnemonics ; ; 1st Byte - operand, 2nd byte - operand type ; ; 3rd & 4th byte pointer to mnemonic text ; ;----------------------------------------------; ; Z80 2nd instruction byte to 0ddh sets$dd: db 009h,01h dw dd$09 ; 011 db 019h,01h dw dd$19 ; 031 db 021h,53h dw dd$21 ; 041 db 022h,53h dw dd$22 ; 042 db 023h,01h dw dd$23 ; 043 db 029h,01h dw dd$29 ; 051 db 02ah,53h dw dd$2a ; 052 db 02bh,01h dw dd$2b ; 053 db 034h,42h dw dd$34 ; 064 db 035h,42h dw dd$35 ; 065 db 036h,0c3h dw dd$36 ; 066 db 039h,01h dw dd$39 ; 071 db 046h,42h dw dd$46 ; 106 db 04eh,42h dw dd$4e ; 116 db 056h,42h dw dd$56 ; 126 db 05eh,42h dw dd$5e ; 136 db 066h,42h dw dd$66 ; 146 db 06eh,42h dw dd$6e ; 156 db 070h,42h dw dd$70 ; 160 070h db 071h,42h dw dd$71 ; 161 db 072h,42h dw dd$72 ; 162 db 073h,42h dw dd$73 ; 163 db 074h,42h dw dd$74 ; 164 db 075h,42h dw dd$75 ; 165 db 077h,42h dw dd$77 ; 167 db 07eh,42h dw dd$7e ; 176 db 086h,42h dw dd$86 ; 206 db 08eh,42h dw dd$8e ; 216 db 096h,42h dw dd$96 ; 226 db 09eh,42h dw dd$9e ; 236 db 0a6h,42h dw dd$a6 ; 246 db 0aeh,42h dw dd$ae ; 256 db 0b6h,42h dw dd$b6 ; 266 db 0beh,42h dw dd$be ; 276 db 0cbh,07h; multi byte operand dw dd$cb ; 313 db 0e1h,01h dw dd$e1 ; 341 db 0e3h,01h dw dd$e3 ; 343 db 0e5h,01h dw dd$e5 ; 345 db 0e9h,31h dw dd$e9 ; 351 db 0f9h,01h dw dd$f9 ; 371 db 0,0,0,0 ;-----------------------------------------------; ; Table of MNEMONICS text strings ; ; - 2nd instruction byte to 0ddh - ; ; terminated by a 00h byte ; ; Note ? replaced by byte ; ; ?? replaced by word ; ; @ replaced by relative byte ; ; ! signifies skip op code byte ; ;-----------------------------------------------; dd$09: db 'add',TAB,'ix,bc',0 ; 011 dd$19: db 'add',TAB,'ix,de',0 ; 031 dd$21: db 'ld',TAB,'ix,??',0 ; 041 dd$22: db 'ld',TAB,'(??),ix',0 ; 042 dd$23: db 'inc',TAB,'ix',0 ; 043 dd$29: db 'add',TAB,'ix,ix',0 ; 051 dd$2a: db 'ld',TAB,'ix,(??)',0 ; 052 dd$2b: db 'dec',TAB,'ix',0 ; 053 dd$34: db 'inc',TAB,'(ix+?)',0 ; 064 dd$35: db 'dec',TAB,'(ix+?)',0 ; 065 dd$36: db 'ld',TAB,'(ix+?),?',0 ; 066 dd$39: db 'add',TAB,'ix,sp',0 ; 071 dd$46: db 'ld',TAB,'b,(ix+?)',0 ; 106 dd$4e: db 'ld',TAB,'c,(ix+?)',0 ; 116 dd$56: db 'ld',TAB,'d,(ix+?)',0 ; 126 dd$5e: db 'ld',TAB,'e,(ix+?)',0 ; 136 dd$66: db 'ld',TAB,'h,(ix+?)',0 ; 146 dd$6e: db 'ld',TAB,'l,(ix+?)',0 ; 156 dd$70: db 'ld',TAB,'(ix+?),b',0 ; 160 070h dd$71: db 'ld',TAB,'(ix+?),c',0 ; 161 dd$72: db 'ld',TAB,'(ix+?),d',0 ; 162 dd$73: db 'ld',TAB,'(ix+?),e',0 ; 163 dd$74: db 'ld',TAB,'(ix+?),h',0 ; 164 dd$75: db 'ld',TAB,'(ix+?),l',0 ; 165 dd$77: db 'ld',TAB,'(ix+?),a',0 ; 167 dd$7e: db 'ld',TAB,'a,(ix+?)',0 ; 176 dd$86: db 'add',TAB,'a,(ix+?)',0 ; 206 dd$8e: db 'adc',TAB,'a,(ix+?)',0 ; 216 dd$96: db 'sub',TAB,'(ix+?)',0 ; 226 dd$9e: db 'sbc',TAB,'a,(ix+?)',0 ; 236 dd$a6: db 'and',TAB,'(ix+?)',0 ; 246 dd$ae: db 'xor',TAB,'(ix+?)',0 ; 256 dd$b6: db 'or',TAB,'(ix+?)',0 ; 266 dd$be: db 'cp',TAB,'(ix+?)',0 ; 276 dd$cb: db 0 ; 313 ; multi byte operand dd$e1: db 'pop',TAB,'ix',0 ; 341 dd$e3: db 'ex',TAB,'(sp),ix',0 ; 343 dd$e5: db 'push',TAB,'ix',0 ; 345 dd$e9: db 'jp',TAB,'(ix)',0 ; 351 dd$f9: db 'ld',TAB,'sp,ix',0 ; 371 ; Z80 2nd instruction byte to 0edh sets$ed: db 040h,01h dw ed$40 ; 100 040h db 041h,01h dw ed$41 ; 101 db 042h,01h dw ed$42 ; 102 db 043h,53h dw ed$43 ; 103 db 044h,01h dw ed$44 ; 104 db 045h,01h dw ed$45 ; 105 db 046h,01h dw ed$46 ; 106 db 047h,01h dw ed$47 ; 107 db 048h,01h dw ed$48 ; 110 048h db 049h,01h dw ed$49 ; 111 db 04ah,01h dw ed$4a ; 112 db 04bh,53h dw ed$4b ; 113 db 04dh,01h dw ed$4d ; 115 db 04fh,01h dw ed$4f ; 117 db 050h,01h dw ed$50 ; 120 050h db 051h,01h dw ed$51 ; 121 db 052h,01h dw ed$52 ; 122 db 053h,53h dw ed$53 ; 123 db 056h,01h dw ed$56 ; 126 db 057h,01h dw ed$57 ; 127 db 058h,01h dw ed$58 ; 130 058h db 059h,01h dw ed$59 ; 131 db 05ah,01h dw ed$5a ; 132 db 05bh,53h dw ed$5b ; 133 db 05eh,01h dw ed$5e ; 136 db 05fh,01h dw ed$5f ; 137 db 060h,01h dw ed$60 ; 140 060h db 061h,01h dw ed$61 ; 141 db 062h,01h dw ed$62 ; 142 db 067h,01h dw ed$67 ; 147 db 068h,01h dw ed$68 ; 150 068h db 069h,01h dw ed$69 ; 151 db 06ah,01h dw ed$6a ; 152 db 06fh,01h dw ed$6f ; 157 db 072h,01h dw ed$72 ; 162 db 073h,53h dw ed$73 ; 163 db 078h,01h dw ed$78 ; 170 078h db 079h,01h dw ed$79 ; 171 db 07ah,01h dw ed$7a ; 172 db 07bh,53h dw ed$7b ; 173 db 0a0h,01h dw ed$a0 ; 240 0a0h db 0a1h,01h dw ed$a1 ; 241 db 0a2h,01h dw ed$a2 ; 242 db 0a3h,01h dw ed$a3 ; 243 db 0a8h,01h dw ed$a8 ; 250 0a8h db 0a9h,01h dw ed$a9 ; 251 db 0aah,01h dw ed$aa ; 252 db 0abh,01h dw ed$ab ; 253 db 0b0h,01h dw ed$b0 ; 260 0b0h db 0b1h,01h dw ed$b1 ; 261 db 0b2h,01h dw ed$b2 ; 262 db 0b3h,01h dw ed$b3 ; 263 db 0b8h,01h dw ed$b8 ; 270 0b8h db 0b9h,01h dw ed$b9 ; 271 db 0bah,01h dw ed$ba ; 272 db 0bbh,01h dw ed$bb ; 273 db 0,0,0,0 ;-----------------------------------------------; ; Table of MNEMONICS text strings ; ; - 2nd instruction byte to 0edh - ; ; terminated by a 00h byte ; ; Note ? replaced by byte ; ; ?? replaced by word ; ; @ replaced by relative byte ; ; ! signifies skip op code byte ; ;-----------------------------------------------; ed$40: db 'in',TAB,'b,(c)',0 ; 100 040h ed$41: db 'out',TAB,'(c),b',0 ; 101 ed$42: db 'sbc',TAB,'hl,bc',0 ; 102 ed$43: db 'ld',TAB,'(??),bc',0 ; 103 ed$44: db 'neg',0 ; 104 ed$45: db 'retn',0 ; 105 ed$46: db 'im',TAB,'0',0 ; 106 ed$47: db 'ld',tab,'i,a',0 ; 107 ed$48: db 'in',TAB,'c,(c)',0 ; 110 048h ed$49: db 'out',TAB,'(c),c',0 ; 111 ed$4a: db 'adc',TAB,'hl,bc',0 ; 112 ed$4b: db 'ld',TAB,'bc,(??)',0 ; 113 ed$4d: db 'reti',0 ; 115 ed$4f: db 'ld',tab,'r,a',0 ; 117 ed$50: db 'in',TAB,'d,(c)',0 ; 120 050h ed$51: db 'out',TAB,'(c),d',0 ; 121 ed$52: db 'sbc',TAB,'hl,de',0 ; 122 ed$53: db 'ld',TAB,'(??),de',0 ; 123 ed$56: db 'im',TAB,'1',0 ; 126 ed$57: db 'ld',tab,'a,i',0 ; 127 ed$58: db 'in',TAB,'e,(c)',0 ; 130 058h ed$59: db 'out',TAB,'(c),e',0 ; 131 ed$5a: db 'adc',TAB,'hl,de',0 ; 132 ed$5b: db 'ld',TAB,'de,(??)',0 ; 133 ed$5e: db 'im',TAB,'2',0 ; 136 ed$5f: db 'ld',TAB,'a,r',0 ; 137 ed$60: db 'in',TAB,'h,(c)',0 ; 140 060h ed$61: db 'out',TAB,'(c),h',0 ; 141 ed$62: db 'sbc',TAB,'hl,hl',0 ; 142 ed$67: db 'rrd',0 ; 147 ed$68: db 'in',TAB,'l,(c)',0 ; 150 068h ed$69: db 'out',TAB,'(c),l',0 ; 151 ed$6a: db 'adc',TAB,'hl,hl',0 ; 152 ed$6f: db 'rld',0 ; 157 ed$72: db 'sbc',TAB,'hl,sp',0 ; 162 ed$73: db 'ld',TAB,'(??),sp',0 ; 163 ed$78: db 'in',TAB,'a,(c)',0 ; 170 078h ed$79: db 'out',TAB,'(c),a',0 ; 171 ed$7a: db 'adc',TAB,'hl,sp',0 ; 172 ed$7b: db 'ld',TAB,'sp,(??)',0 ; 173 ed$a0: db 'ldi',0 ; 240 0a0h ed$a1: db 'cpi',0 ; 241 ed$a2: db 'ini',0 ; 242 ed$a3: db 'outi',0 ; 243 ed$a8: db 'ldd',0 ; 250 0a8h ed$a9: db 'cpd',0 ; 251 ed$aa: db 'ind',0 ; 252 ed$ab: db 'outd',0 ; 253 ed$b0: db 'ldir',0 ; 260 0b0h ed$b1: db 'cpir',0 ; 261 ed$b2: db 'inir',0 ; 262 ed$b3: db 'otir',0 ; 263 ed$b8: db 'lddr',0 ; 270 0b8h ed$b9: db 'cpdr',0 ; 271 ed$ba: db 'indr',0 ; 272 ed$bb: db 'otdr',0 ; 273 ; Z80 2nd instruction byte to 0fdh sets$fd: db 009h,01h dw fd$09 ; 011 db 019h,01h dw fd$19 ; 031 db 021h,53h dw fd$21 ; 041 db 022h,53h dw fd$22 ; 042 db 023h,01h dw fd$23 ; 043 db 029h,01h dw fd$29 ; 051 db 02ah,53h dw fd$2a ; 052 db 02bh,01h dw fd$2b ; 053 db 034h,42h dw fd$34 ; 064 db 035h,42h dw fd$35 ; 065 db 036h,0c3h dw fd$36 ; 066 db 039h,01h dw fd$39 ; 071 db 046h,42h dw fd$46 ; 106 db 04eh,42h dw fd$4e ; 116 db 056h,42h dw fd$56 ; 126 db 05eh,42h dw fd$5e ; 136 db 066h,42h dw fd$66 ; 146 db 06eh,42h dw fd$6e ; 156 db 070h,42h dw fd$70 ; 160 070h db 071h,42h dw fd$71 ; 161 db 072h,42h dw fd$72 ; 162 db 073h,42h dw fd$73 ; 163 db 074h,42h dw fd$74 ; 164 db 075h,42h dw fd$75 ; 165 db 077h,42h dw fd$77 ; 167 db 07eh,42h dw fd$7e ; 176 db 086h,42h dw fd$86 ; 206 db 08eh,42h dw fd$8e ; 216 db 096h,42h dw fd$96 ; 226 db 09eh,42h dw fd$9e ; 236 db 0a6h,42h dw fd$a6 ; 246 db 0aeh,42h dw fd$ae ; 256 db 0b6h,42h dw fd$b6 ; 266 db 0beh,42h dw fd$be ; 276 db 0cbh,07h; multi byte operand dw fd$cb ; 313 db 0e1h,01h dw fd$e1 ; 341 db 0e3h,01h dw fd$e3 ; 343 db 0e5h,01h dw fd$e5 ; 345 db 0e9h,31h dw fd$e9 ; 351 db 0f9h,01h dw fd$f9 ; 371 db 0,0,0,0 ;-----------------------------------------------; ; Table of MNEMONICS text strings ; ; - 2nd instruction byte to 0fdh - ; ; terminated by a 00h byte ; ; Note ? replaced by byte ; ; ?? replaced by word ; ; @ replaced by relative byte ; ; ! signifies skip op code byte ; ;-----------------------------------------------; fd$09: db 'add',TAB,'iy,bc',0 ; 011 fd$19: db 'add',TAB,'iy,de',0 ; 031 fd$21: db 'ld',TAB,'iy,??',0 ; 041 fd$22: db 'ld',TAB,'(??),iy',0 ; 042 fd$23: db 'inc',TAB,'iy',0 ; 043 fd$29: db 'add',TAB,'iy,iy',0 ; 051 fd$2a: db 'ld',TAB,'iy,(??)',0 ; 052 fd$2b: db 'dec',TAB,'iy',0 ; 053 fd$34: db 'inc',TAB,'(iy+?)',0 ; 064 fd$35: db 'dec',TAB,'(iy+?)',0 ; 065 fd$36: db 'ld',TAB,'(iy+?),?',0 ; 066 fd$39: db 'add',TAB,'iy,sp',0 ; 071 fd$46: db 'ld',TAB,'b,(iy+?)',0 ; 106 fd$4e: db 'ld',TAB,'c,(iy+?)',0 ; 116 fd$56: db 'ld',TAB,'d,(iy+?)',0 ; 126 fd$5e: db 'ld',TAB,'e,(iy+?)',0 ; 136 fd$66: db 'ld',TAB,'h,(iy+?)',0 ; 146 fd$6e: db 'ld',TAB,'l,(iy+?)',0 ; 156 fd$70: db 'ld',TAB,'(iy+?),b',0 ; 160 070h fd$71: db 'ld',TAB,'(iy+?),c',0 ; 161 fd$72: db 'ld',TAB,'(iy+?),d',0 ; 162 fd$73: db 'ld',TAB,'(iy+?),e',0 ; 163 fd$74: db 'ld',TAB,'(iy+?),h',0 ; 164 fd$75: db 'ld',TAB,'(iy+?),l',0 ; 165 fd$77: db 'ld',TAB,'(iy+?),a',0 ; 167 fd$7e: db 'ld',TAB,'a,(iy+?)',0 ; 176 fd$86: db 'add',TAB,'a,(iy+?)',0 ; 206 fd$8e: db 'adc',TAB,'a,(iy+?)',0 ; 216 fd$96: db 'sub',TAB,'(iy+?)',0 ; 226 fd$9e: db 'sbc',TAB,'a,(iy+?)',0 ; 236 fd$a6: db 'and',TAB,'(iy+?)',0 ; 246 fd$ae: db 'xor',TAB,'(iy+?)',0 ; 256 fd$b6: db 'or',TAB,'(iy+?)',0 ; 266 fd$be: db 'cp',TAB,'(iy+?)',0 ; 276 fd$cb: db 0 ; 313 ; multi byte operand fd$e1: db 'pop',TAB,'iy',0 ; 341 fd$e3: db 'ex',TAB,'(sp),iy',0 ; 343 fd$e5: db 'push',TAB,'iy',0 ; 345 fd$e9: db 'jp',TAB,'(iy)',0 ; 351 fd$f9: db 'ld',TAB,'sp,iy',0 ; 371 ;-------------------------------------------------------; ; tables of -3- byte operands with mnemonics ; ; 1st Byte = 3rd operand, 2nd byte = operand type ; ; 3rd & 4th byte pointer to mnemonic text ; ;-------------------------------------------------------; ; Z80 3rd instruction byte to 0ddh,0cbh set$ddcb: ; Table of instruction db 006h,0c3h dw ddcb$06 db 00eh,0c3h dw ddcb$0e db 016h,0c3h dw ddcb$16 db 01eh,0c3h dw ddcb$1e db 026h,0c3h dw ddcb$26 db 02eh,0c3h dw ddcb$2e db 03eh,0c3h dw ddcb$3e db 046h,0c3h dw ddcb$46 db 04eh,0c3h dw ddcb$4e db 056h,0c3h dw ddcb$56 db 05eh,0c3h dw ddcb$5e db 066h,0c3h dw ddcb$66 db 06eh,0c3h dw ddcb$6e db 076h,0c3h dw ddcb$76 db 07eh,0c3h dw ddcb$7e db 086h,0c3h dw ddcb$86 db 08eh,0c3h dw ddcb$8e db 096h,0c3h dw ddcb$96 db 09eh,0c3h dw ddcb$9e db 0a6h,0c3h dw ddcb$a6 db 0aeh,0c3h dw ddcb$ae db 0b6h,0c3h dw ddcb$b6 db 0beh,0c3h dw ddcb$be db 0c6h,0c3h dw ddcb$c6 db 0ceh,0c3h dw ddcb$ce db 0d6h,0c3h dw ddcb$d6 db 0deh,0c3h dw ddcb$de db 0e6h,0c3h dw ddcb$e6 db 0eeh,0c3h dw ddcb$ee db 0f6h,0c3h dw ddcb$f6 db 0feh,0c3h dw ddcb$fe db 0,0,0,0 ;-----------------------------------------------; ; Table of MNEMONICS text strings ; ; - 3rd instruction byte to 0ddh,0cbh - ; ; terminated by a 00h byte ; ; Note ? replaced by byte ; ; ?? replaced by word ; ; @ replaced by relative byte ; ; ! signifies skip op code byte ; ;-----------------------------------------------; ddcb$06: db 'rlc',tab,'(ix+?!)',0 ; 06h ddcb$0e: db 'rrc',tab,'(ix+?!)',0 ; 0eh ddcb$16: db 'rl',tab,'(ix+?!)',0 ; 16h ddcb$1e: db 'rr',tab,'(ix+?!)',0 ; 1eh ddcb$26: db 'sla',tab,'(ix+?!)',0 ; 26h ddcb$2e: db 'sra',tab,'(ix+?!)',0 ; 2eh ddcb$3e: db 'srl',tab,'(ix+?!)',0 ; 3eh ddcb$46: db 'bit',tab,'0,(ix+?!)',0 ; 46h ddcb$4e: db 'bit',tab,'1,(ix+?!)',0 ; 4eh ddcb$56: db 'bit',tab,'2,(ix+?!)',0 ; 56h ddcb$5e: db 'bit',tab,'3,(ix+?!)',0 ; 5eh ddcb$66: db 'bit',tab,'4,(ix+?!)',0 ; 66h ddcb$6e: db 'bit',tab,'5,(ix+?!)',0 ; 6eh ddcb$76: db 'bit',tab,'6,(ix+?!)',0 ; 76h ddcb$7e: db 'bit',tab,'7,(ix+?!)',0 ; 7eh ddcb$86: db 'res',tab,'0,(ix+?!)',0 ; 86h ddcb$8e: db 'res',tab,'1,(ix+?!)',0 ; 8eh ddcb$96: db 'res',tab,'2,(ix+?!)',0 ; 96h ddcb$9e: db 'res',tab,'3,(ix+?!)',0 ; 9eh ddcb$a6: db 'res',tab,'4,(ix+?!)',0 ; a6h ddcb$ae: db 'res',tab,'5,(ix+?!)',0 ; aeh ddcb$b6: db 'res',tab,'6,(ix+?!)',0 ; b6h ddcb$be: db 'res',tab,'7,(ix+?!)',0 ; beh ddcb$c6: db 'set',tab,'0,(ix+?!)',0 ; c6h ddcb$ce: db 'set',tab,'1,(ix+?!)',0 ; ceh ddcb$d6: db 'set',tab,'2,(ix+?!)',0 ; d6h ddcb$de: db 'set',tab,'3,(ix+?!)',0 ; deh ddcb$e6: db 'set',tab,'4,(ix+?!)',0 ; e6h ddcb$ee: db 'set',tab,'5,(ix+?!)',0 ; eeh ddcb$f6: db 'set',tab,'6,(ix+?!)',0 ; f6h ddcb$fe: db 'set',tab,'7,(ix+?!)',0 ; feh ; Z80 3rd instruction byte to 0fdh,0cbh set$fdcb: ; Table of instruction db 006h,0c3h dw fdcb$06 db 00eh,0c3h dw fdcb$0e db 016h,0c3h dw fdcb$16 db 01eh,0c3h dw fdcb$1e db 026h,0c3h dw fdcb$26 db 02eh,0c3h dw fdcb$2e db 03eh,0c3h dw fdcb$3e db 046h,0c3h dw fdcb$46 db 04eh,0c3h dw fdcb$4e db 056h,0c3h dw fdcb$56 db 05eh,0c3h dw fdcb$5e db 066h,0c3h dw fdcb$66 db 06eh,0c3h dw fdcb$6e db 076h,0c3h dw fdcb$76 db 07eh,0c3h dw fdcb$7e db 086h,0c3h dw fdcb$86 db 08eh,0c3h dw fdcb$8e db 096h,0c3h dw fdcb$96 db 09eh,0c3h dw fdcb$9e db 0a6h,0c3h dw fdcb$a6 db 0aeh,0c3h dw fdcb$ae db 0b6h,0c3h dw fdcb$b6 db 0beh,0c3h dw fdcb$be db 0c6h,0c3h dw fdcb$c6 db 0ceh,0c3h dw fdcb$ce db 0d6h,0c3h dw fdcb$d6 db 0deh,0c3h dw fdcb$de db 0e6h,0c3h dw fdcb$e6 db 0eeh,0c3h dw fdcb$ee db 0f6h,0c3h dw fdcb$f6 db 0feh,0c3h dw fdcb$fe db 0,0,0,0 ;-----------------------------------------------; ; Table of MNEMONICS text strings ; ; - 3rd instruction byte to 0fdh,0cbh - ; ; terminated by a 00h byte ; ; Note ? replaced by byte ; ; ?? replaced by word ; ; @ replaced by relative byte ; ; ! signifies skip op code byte ; ;-----------------------------------------------; fdcb$06: db 'rlc',tab,'(iy+?!)',0 ; 06h fdcb$0e: db 'rrc',tab,'(iy+?!)',0 ; 0eh fdcb$16: db 'rl',tab,'(iy+?!)',0 ; 16h fdcb$1e: db 'rr',tab,'(iy+?!)',0 ; 1eh fdcb$26: db 'sla',tab,'(iy+?!)',0 ; 26h fdcb$2e: db 'sra',tab,'(iy+?!)',0 ; 2eh fdcb$3e: db 'srl',tab,'(iy+?!)',0 ; 3eh fdcb$46: db 'bit',tab,'0,(iy+?!)',0 ; 46h fdcb$4e: db 'bit',tab,'1,(iy+?!)',0 ; 4eh fdcb$56: db 'bit',tab,'2,(iy+?!)',0 ; 56h fdcb$5e: db 'bit',tab,'3,(iy+?!)',0 ; 5eh fdcb$66: db 'bit',tab,'4,(iy+?!)',0 ; 66h fdcb$6e: db 'bit',tab,'5,(iy+?!)',0 ; 6eh fdcb$76: db 'bit',tab,'6,(iy+?!)',0 ; 76h fdcb$7e: db 'bit',tab,'7,(iy+?!)',0 ; 7eh fdcb$86: db 'res',tab,'0,(iy+?!)',0 ; 86h fdcb$8e: db 'res',tab,'1,(iy+?!)',0 ; 8eh fdcb$96: db 'res',tab,'2,(iy+?!)',0 ; 96h fdcb$9e: db 'res',tab,'3,(iy+?!)',0 ; 9eh fdcb$a6: db 'res',tab,'4,(iy+?!)',0 ; a6h fdcb$ae: db 'res',tab,'5,(iy+?!)',0 ; aeh fdcb$b6: db 'res',tab,'6,(iy+?!)',0 ; b6h fdcb$be: db 'res',tab,'7,(iy+?!)',0 ; beh fdcb$c6: db 'set',tab,'0,(iy+?!)',0 ; c6h fdcb$ce: db 'set',tab,'1,(iy+?!)',0 ; ceh fdcb$d6: db 'set',tab,'2,(iy+?!)',0 ; d6h fdcb$de: db 'set',tab,'3,(iy+?!)',0 ; deh fdcb$e6: db 'set',tab,'4,(iy+?!)',0 ; e6h fdcb$ee: db 'set',tab,'5,(iy+?!)',0 ; eeh fdcb$f6: db 'set',tab,'6,(iy+?!)',0 ; f6h fdcb$fe: db 'set',tab,'7,(iy+?!)',0 ; feh ;-------------------------------; ; load program on page boundary ; ;-------------------------------; lentble equ ($-tables) bound equ (lentble + 0ffh) and not 0ffh ds bound - lentble END