; Disassembled ddtz.com, version "DDT/Z [8101]"\r
+; with modified relocater.\r
;\r
-; Assemble with M80 or a compatible assembler\r
-; to (re)create the original .com file.\r
+; Build steps:\r
+; - Assemble to a .REL file with M80 or a compatible assembler.\r
+; - Use Digital Research Link-80 to generate a .PRL file (op switch).\r
+; - Cut the .PRL header (first 256 byte) end rename the result to DDTZ.COM.\r
\r
;-------------------------------------------------------------------------------\r
; Relocation loader\r
;\r
- ASEG\r
- ORG 00100H\r
\r
- LD SP,ldr_end+stack\r
+TPA equ 0100h\r
+ cseg\r
+ .phase TPA\r
+\r
+ LD SP,ldr_end+(stack-ddtz_base)\r
+ LD DE,ldr_end+(expr_buf-ddtz_base)\r
LD C,BDOS_PSTR\r
- LD DE,ldr_end+expr_buf\r
CALL BDOS\r
- LD HL,bitmap\r
+\r
+ LD HL,ldr_end+ddtz_size ;start of reloc bitmap\r
+ ld bc,0108h ;init bit counter\r
+\r
EXX\r
LD HL,(BDOS+1)\r
LD (ldr_end+1),HL\r
LD BC,ddtz_size-1\r
LD D,B\r
LD E,0FFH\r
- INC DE\r
- INC BC\r
- PUSH BC\r
+ INC DE ;size rounded up to next page boundary\r
+ INC BC ;ddtz_size\r
OR A\r
- SBC HL,DE\r
- LD (BDOS+1),HL\r
- EX DE,HL\r
- LD HL,ldr_end-1\r
-A0128: INC HL\r
- LD A,L\r
- AND 007H\r
- JR NZ,A0133\r
+ SBC HL,DE ;BDOS - size\r
+ LD (BDOS+1),HL ;-> new BDOS entry\r
+\r
+ push hl\r
+ PUSH BC\r
+ ld de,ldr_end\r
+ sbc hl,de\r
+ EX DE,HL ;-> DE\r
+ LD HL,ldr_size\r
+ add hl,bc\r
+ ld b,h\r
+ ld c,l\r
+ LD HL,TPA\r
+reloc_lp:\r
EXX\r
- LD A,(HL)\r
+ djnz reloc_nl\r
+ ld b,c ;reload bit counter\r
+ LD e,(HL) ;get next 8 relocation bits\r
INC HL\r
+reloc_nl:\r
+ sla e\r
EXX\r
- EX AF,AF'\r
-A0133: EX AF,AF'\r
- ADD A,A\r
- JR NC,A0141\r
- EX AF,AF'\r
+ JR NC,reloc_next\r
DEC HL\r
LD A,(HL)\r
ADD A,E\r
LD A,(HL)\r
ADC A,D\r
LD (HL),A\r
- EX AF,AF'\r
-A0141: EX AF,AF'\r
- DEC BC\r
- LD A,B\r
- OR C\r
- JR NZ,A0128\r
+reloc_next:\r
+ cpi\r
+ jp pe,reloc_lp\r
+ dec hl\r
+\r
POP BC\r
+ pop de\r
EX DE,HL\r
ADD HL,BC\r
EX DE,HL\r
DEC DE\r
LDDR\r
- LD HL,conbuf+2\r
+ LD HL,conbuf+2-ddtz_base\r
ADD HL,DE\r
JP (HL)\r
\r
- rept (($+7) and 0FFF8H) - $\r
- DEFB 000H\r
- endm\r
-\r
ldr_end:\r
+ldr_size equ $ - TPA\r
\r
- .phase 0\r
+ .dephase\r
;-------------------------------------------------------------------------------\r
; DDT/Z core\r
;\r
ld hl,b_0cc3_start ;0303 21 c3 0c ! . .\r
ld b,07fh ;0306 06 7f .\r
jr l030ch ;0308 18 02 . .\r
+\r
sub_030ah:\r
ld b,0ffh ;030a 06 ff . .\r
l030ch:\r
get_lastarg_def:\r
call get_arg_def ;0369 cd 6e 03 . n .\r
jr l0366h ;036c 18 f8 . .\r
+\r
get_arg_def:\r
push hl ;036e e5 .\r
call expr ;036f cd be 03 . . .\r
l0375h:\r
pop hl ;0375 e1 .\r
ret ;0376 c9 .\r
+\r
sub_0377h:\r
call b_037c_start ;0377 cd 7c 03 . | .\r
jr l0366h ;037a 18 ea . .\r
defb 03eh ;038b 3e >\r
l038ch:\r
pop af ;038c f1 .\r
- call sub_039ah ;038d cd 9a 03 . . .\r
+ call get_range ;038d cd 9a 03 . . .\r
jr nc,l0398h ;0390 30 06 0 .\r
ex af,af' ;0392 08 .\r
pop bc ;0393 c1 .\r
pop af ;0398 f1 .\r
ret ;0399 c9 .\r
\r
-sub_039ah:\r
+get_range:\r
call next_arg ;039a cd ca 02 . . .\r
cp 'S' ;039d fe 53 . S\r
jr nz,l03a2h ;039f 20 01 .\r
push hl ;0643 e5 .\r
push de ;0644 d5 .\r
ld iy,(REG.PC) ;0645 fd 2a 60 00 . * ` .\r
- call sub_1965h ;0649 cd 65 19 . e .\r
+ call prnt_disas_instr ;0649 cd 65 19 . e .\r
exx ;064c d9 .\r
ex af,af' ;064d 08 .\r
call crlf ;064e cd a3 02 . . .\r
\r
expr_buf:\r
db 'DDT/Z',TAB\r
- db '[8101]',CR,LF,'$'\r
- db 000h ;0b2b 00 .\r
- db 06dh ;0b2c 6d m\r
- db 085h ;0b2d 85 .\r
- db 0cch ;0b2e cc .\r
- db 0f6h ;0b2f f6 .\r
- db 053h ;0b30 53 S\r
- db 05bh ;0b31 5b [\r
+ db '[8101] 001',CR,LF,'$'\r
\r
ds EXPR_BUF_SIZE - ($ - expr_buf)\r
expr_bufe:\r
ld (last_A),hl ;1214 22 64 12 " d .\r
ld (l0062h),hl ;1217 22 62 00 " b .\r
push hl ;121a e5 .\r
- call sub_192dh ;121b cd 2d 19 . - .\r
+ call prnt_disas_line ;121b cd 2d 19 . - .\r
pop iy ;121e fd e1 . .\r
ld c,b ;1220 48 H\r
ld de,(offs.@) ;1221 ed 5b 64 00 . [ d .\r
jp (hl) ;1288 e9 .\r
\r
b_1289_start:\r
- defw l1551h ;1289 51 15 Q .\r
- defb 088h ;128b 88 .\r
- defw l1571h ;128c 71 15 q .\r
- defb 080h ;128e 80 .\r
- defw l15a8h ;128f a8 15 . .\r
- defb 0a0h ;1291 a0 .\r
- defw l1609h ;1292 09 16 . .\r
- defb 040h ;1294 40 @\r
- defw l162dh ;1295 2d 16 - .\r
- defb 0c4h ;1297 c4 .\r
- defw l153bh ;1298 3b 15 ; .\r
- defb 03fh ;129a 3f ?\r
- defw l15a8h ;129b a8 15 . .\r
- defb 0b8h ;129d b8 .\r
- defw l1544h ;129e 44 15 D .\r
- defb 0a9h ;12a0 a9 .\r
- defw l1544h ;12a1 44 15 D .\r
- defb 0b9h ;12a3 b9 .\r
- defw l1544h ;12a4 44 15 D .\r
- defb 0a1h ;12a6 a1 .\r
- defw l1544h ;12a7 44 15 D .\r
- defb 0b1h ;12a9 b1 .\r
- defw l153bh ;12aa 3b 15 ; .\r
- defb 02fh ;12ac 2f /\r
- defw l153bh ;12ad 3b 15 ; .\r
- defb 027h ;12af 27 '\r
- defw l1798h ;12b0 98 17 . .\r
- defb 005h ;12b2 05 .\r
- defw l153bh ;12b3 3b 15 ; .\r
- defb 0f3h ;12b5 f3 .\r
- defw l1699h ;12b6 99 16 . .\r
- defb 010h ;12b8 10 .\r
- defw l153bh ;12b9 3b 15 ; .\r
- defb 0fbh ;12bb fb .\r
- defw l1749h ;12bc 49 17 I .\r
- defb 0e3h ;12be e3 .\r
- defw l153bh ;12bf 3b 15 ; .\r
- defb 0d9h ;12c1 d9 .\r
- defw l153bh ;12c2 3b 15 ; .\r
- defb 076h ;12c4 76 v\r
- defw l16b4h ;12c5 b4 16 . .\r
- defb 046h ;12c7 46 F\r
- defw l16edh ;12c8 ed 16 . .\r
- defb 040h ;12ca 40 @\r
- defw l1798h ;12cb 98 17 . .\r
- defb 004h ;12cd 04 .\r
- defw l1544h ;12ce 44 15 D .\r
- defb 0aah ;12d0 aa .\r
- defw l1544h ;12d1 44 15 D .\r
- defb 0bah ;12d3 ba .\r
- defw l1544h ;12d4 44 15 D .\r
- defb 0a2h ;12d6 a2 .\r
- defw l1544h ;12d7 44 15 D .\r
- defb 0b2h ;12d9 b2 .\r
- defw l1653h ;12da 53 16 S .\r
- defb 0c2h ;12dc c2 .\r
- defw l16a0h ;12dd a0 16 . .\r
- defb 020h ;12df 20\r
- defw l1352h ;12e0 52 13 R .\r
- defb 040h ;12e2 40 @\r
- defw l1544h ;12e3 44 15 D .\r
- defb 0a8h ;12e5 a8 .\r
- defw l1544h ;12e6 44 15 D .\r
- defb 0b8h ;12e8 b8 .\r
- defw l1544h ;12e9 44 15 D .\r
- defb 0a0h ;12eb a0 .\r
- defw l1544h ;12ec 44 15 D .\r
- defb 0b0h ;12ee b0 .\r
- defw l1544h ;12ef 44 15 D .\r
- defb 044h ;12f1 44 D\r
- defw l153bh ;12f2 3b 15 ; .\r
- defb 000h ;12f4 00 .\r
- defw l15a8h ;12f5 a8 15 . .\r
- defb 0b0h ;12f7 b0 .\r
- defw l1544h ;12f8 44 15 D .\r
- defb 0bbh ;12fa bb .\r
- defw l1544h ;12fb 44 15 D .\r
- defb 0b3h ;12fd b3 .\r
- defw l1721h ;12fe 21 17 ! .\r
- defb 041h ;1300 41 A\r
- defw l1544h ;1301 44 15 D .\r
- defb 0abh ;1303 ab .\r
- defw l1544h ;1304 44 15 D .\r
- defb 0a3h ;1306 a3 .\r
- defw l16d9h ;1307 d9 16 . .\r
- defb 0c1h ;1309 c1 .\r
- defw l16d9h ;130a d9 16 . .\r
- defb 0c5h ;130c c5 .\r
- defw l1609h ;130d 09 16 . .\r
- defb 080h ;130f 80 .\r
- defw l1645h ;1310 45 16 E .\r
- defb 0c0h ;1312 c0 .\r
- defw l1544h ;1313 44 15 D .\r
- defb 04dh ;1315 4d M\r
- defw l1544h ;1316 44 15 D .\r
- defb 045h ;1318 45 E\r
- defw l15d5h ;1319 d5 15 . .\r
- defb 010h ;131b 10 .\r
- defw l153bh ;131c 3b 15 ; .\r
- defb 017h ;131e 17 .\r
- defw l15d5h ;131f d5 15 . .\r
- defb 000h ;1321 00 .\r
- defw l153bh ;1322 3b 15 ; .\r
- defb 007h ;1324 07 .\r
- defw l1544h ;1325 44 15 D .\r
- defb 06fh ;1327 6f o\r
- defw l15d5h ;1328 d5 15 . .\r
- defb 018h ;132a 18 .\r
- defw l153bh ;132b 3b 15 ; .\r
- defb 01fh ;132d 1f .\r
- defw l15d5h ;132e d5 15 . .\r
- defb 008h ;1330 08 .\r
- defw l153bh ;1331 3b 15 ; .\r
- defb 00fh ;1333 0f .\r
- defw l1544h ;1334 44 15 D .\r
- defb 067h ;1336 67 g\r
- defw l16cah ;1337 ca 16 . .\r
- defb 0c7h ;1339 c7 .\r
- defw l1551h ;133a 51 15 Q .\r
- defb 098h ;133c 98 .\r
- defw l153bh ;133d 3b 15 ; .\r
- defb 037h ;133f 37 7\r
- defw l1609h ;1340 09 16 . .\r
- defb 0c0h ;1342 c0 .\r
- defw l15d5h ;1343 d5 15 . .\r
- defb 020h ;1345 20\r
- defw l15d5h ;1346 d5 15 . .\r
- defb 028h ;1348 28 (\r
- defw l15d5h ;1349 d5 15 . .\r
- defb 038h ;134b 38 8\r
- defw l15a8h ;134c a8 15 . .\r
- defb 090h ;134e 90 .\r
- defw l15a8h ;134f a8 15 . .\r
- defb 0a8h ;1351 a8 .\r
-\r
-l1352h:\r
- call sub_182eh ;1352 cd 2e 18 . . .\r
+ defw as.ADC_SBC ;ADC 1289 51 15 Q .\r
+ defb 088h ; 128b 88 .\r
+ defw as.ADD ;ADD 128c 71 15 q .\r
+ defb 080h ; 128e 80 .\r
+ defw as.AND_CP_OR_SUB_XOR ;AND 128f a8 15 . .\r
+ defb 0a0h ; 1291 a0 .\r
+ defw as.BITOP ;BIT 1292 09 16 . .\r
+ defb 040h ; 1294 40 @\r
+ defw as.CALL ;CALL 1295 2d 16 - .\r
+ defb 0c4h ; 1297 c4 .\r
+ defw as.opc.noarg ;CCF 1298 3b 15 ; .\r
+ defb 03fh ; 129a 3f ?\r
+ defw as.AND_CP_OR_SUB_XOR ;CP 129b a8 15 . .\r
+ defb 0b8h ; 129d b8 .\r
+ defw gen.opc.ED2 ;CPD 129e 44 15 D .\r
+ defb 0a9h ; 12a0 a9 .\r
+ defw gen.opc.ED2 ;CPDR 12a1 44 15 D .\r
+ defb 0b9h ; 12a3 b9 .\r
+ defw gen.opc.ED2 ;CPI 12a4 44 15 D .\r
+ defb 0a1h ; 12a6 a1 .\r
+ defw gen.opc.ED2 ;CPIR 12a7 44 15 D .\r
+ defb 0b1h ; 12a9 b1 .\r
+ defw as.opc.noarg ;CPL 12aa 3b 15 ; .\r
+ defb 02fh ; 12ac 2f /\r
+ defw as.opc.noarg ;DAA 12ad 3b 15 ; .\r
+ defb 027h ; 12af 27 '\r
+ defw as.DEC_INC ;DEC 12b0 98 17 . .\r
+ defb 005h ; 12b2 05 .\r
+ defw as.opc.noarg ;DI 12b3 3b 15 ; .\r
+ defb 0f3h ; 12b5 f3 .\r
+ defw as.DJNZ ;DJNZ 12b6 99 16 . .\r
+ defb 010h ; 12b8 10 .\r
+ defw as.opc.noarg ;EI 12b9 3b 15 ; .\r
+ defb 0fbh ; 12bb fb .\r
+ defw as.EX ;EX 12bc 49 17 I .\r
+ defb 0e3h ; 12be e3 .\r
+ defw as.opc.noarg ;EXX 12bf 3b 15 ; .\r
+ defb 0d9h ; 12c1 d9 .\r
+ defw as.opc.noarg ;HALT 12c2 3b 15 ; .\r
+ defb 076h ; 12c4 76 v\r
+ defw as.IM ;IM 12c5 b4 16 . .\r
+ defb 046h ; 12c7 46 F\r
+ defw as.IN ;IN 12c8 ed 16 . .\r
+ defb 040h ; 12ca 40 @\r
+ defw as.DEC_INC ;INC 12cb 98 17 . .\r
+ defb 004h ; 12cd 04 .\r
+ defw gen.opc.ED2 ;IND 12ce 44 15 D .\r
+ defb 0aah ; 12d0 aa .\r
+ defw gen.opc.ED2 ;INDR 12d1 44 15 D .\r
+ defb 0bah ; 12d3 ba .\r
+ defw gen.opc.ED2 ;INI 12d4 44 15 D .\r
+ defb 0a2h ; 12d6 a2 .\r
+ defw gen.opc.ED2 ;INIR 12d7 44 15 D .\r
+ defb 0b2h ; 12d9 b2 .\r
+ defw as.JP ;JP 12da 53 16 S .\r
+ defb 0c2h ; 12dc c2 .\r
+ defw as.JR ;JR 12dd a0 16 . .\r
+ defb 020h ; 12df 20\r
+ defw as.LD ;LD 12e0 52 13 R .\r
+ defb 040h ; 12e2 40 @\r
+ defw gen.opc.ED2 ;LDD 12e3 44 15 D .\r
+ defb 0a8h ; 12e5 a8 .\r
+ defw gen.opc.ED2 ;LDDR 12e6 44 15 D .\r
+ defb 0b8h ; 12e8 b8 .\r
+ defw gen.opc.ED2 ;LDI 12e9 44 15 D .\r
+ defb 0a0h ; 12eb a0 .\r
+ defw gen.opc.ED2 ;LDIR 12ec 44 15 D .\r
+ defb 0b0h ; 12ee b0 .\r
+ defw gen.opc.ED2 ;NEG 12ef 44 15 D .\r
+ defb 044h ; 12f1 44 D\r
+ defw as.opc.noarg ;NOP 12f2 3b 15 ; .\r
+ defb 000h ; 12f4 00 .\r
+ defw as.AND_CP_OR_SUB_XOR ;OR 12f5 a8 15 . .\r
+ defb 0b0h ; 12f7 b0 .\r
+ defw gen.opc.ED2 ;OTDR 12f8 44 15 D .\r
+ defb 0bbh ; 12fa bb .\r
+ defw gen.opc.ED2 ;OTIR 12fb 44 15 D .\r
+ defb 0b3h ; 12fd b3 .\r
+ defw as.OUT ;OUT 12fe 21 17 ! .\r
+ defb 041h ; 1300 41 A\r
+ defw gen.opc.ED2 ;OUTD 1301 44 15 D .\r
+ defb 0abh ; 1303 ab .\r
+ defw gen.opc.ED2 ;OUTI 1304 44 15 D .\r
+ defb 0a3h ; 1306 a3 .\r
+ defw as.POP_PUSH ;POP 1307 d9 16 . .\r
+ defb 0c1h ; 1309 c1 .\r
+ defw as.POP_PUSH ;PUSH 130a d9 16 . .\r
+ defb 0c5h ; 130c c5 .\r
+ defw as.BITOP ;RES 130d 09 16 . .\r
+ defb 080h ; 130f 80 .\r
+ defw as.RET ;RET 1310 45 16 E .\r
+ defb 0c0h ; 1312 c0 .\r
+ defw gen.opc.ED2 ;RETI 1313 44 15 D .\r
+ defb 04dh ; 1315 4d M\r
+ defw gen.opc.ED2 ;RETN 1316 44 15 D .\r
+ defb 045h ; 1318 45 E\r
+ defw as.SHIFTOP ;RL 1319 d5 15 . .\r
+ defb 010h ; 131b 10 .\r
+ defw as.opc.noarg ;RLA 131c 3b 15 ; .\r
+ defb 017h ; 131e 17 .\r
+ defw as.SHIFTOP ;RLC 131f d5 15 . .\r
+ defb 000h ; 1321 00 .\r
+ defw as.opc.noarg ;RLCA 1322 3b 15 ; .\r
+ defb 007h ; 1324 07 .\r
+ defw gen.opc.ED2 ;RLD 1325 44 15 D .\r
+ defb 06fh ; 1327 6f o\r
+ defw as.SHIFTOP ;RR 1328 d5 15 . .\r
+ defb 018h ; 132a 18 .\r
+ defw as.opc.noarg ;RRA 132b 3b 15 ; .\r
+ defb 01fh ; 132d 1f .\r
+ defw as.SHIFTOP ;RRC 132e d5 15 . .\r
+ defb 008h ; 1330 08 .\r
+ defw as.opc.noarg ;RRCA 1331 3b 15 ; .\r
+ defb 00fh ; 1333 0f .\r
+ defw gen.opc.ED2 ;RRD 1334 44 15 D .\r
+ defb 067h ; 1336 67 g\r
+ defw as.RST ;RST 1337 ca 16 . .\r
+ defb 0c7h ; 1339 c7 .\r
+ defw as.ADC_SBC ;SBC 133a 51 15 Q .\r
+ defb 098h ; 133c 98 .\r
+ defw as.opc.noarg ;SCF 133d 3b 15 ; .\r
+ defb 037h ; 133f 37 7\r
+ defw as.BITOP ;SET 1340 09 16 . .\r
+ defb 0c0h ; 1342 c0 .\r
+ defw as.SHIFTOP ;SLA 1343 d5 15 . .\r
+ defb 020h ; 1345 20\r
+ defw as.SHIFTOP ;SRA 1346 d5 15 . .\r
+ defb 028h ; 1348 28 (\r
+ defw as.SHIFTOP ;SRL 1349 d5 15 . .\r
+ defb 038h ; 134b 38 8\r
+ defw as.AND_CP_OR_SUB_XOR ;SUB 134c a8 15 . .\r
+ defb 090h ; 134e 90 .\r
+ defw as.AND_CP_OR_SUB_XOR ;XOR 134f a8 15 . .\r
+ defb 0a8h ; 1351 a8 .\r
+\r
+ defw as.IN0 ;IN0\r
+ defb 000h ;\r
+ defw as.MLT ;MLT\r
+ defb 04ch ;\r
+ defw gen.opc.ED2 ;OTDM\r
+ defb 08bh ;\r
+ defw gen.opc.ED2 ;OTDMR\r
+ defb 09bh ;\r
+ defw gen.opc.ED2 ;OTIM\r
+ defb 083h ;\r
+ defw gen.opc.ED2 ;OTIMR\r
+ defb 093h ;\r
+ defw as.OUTO ;OUT0\r
+ defb 001h ;\r
+ defw gen.opc.ED2 ;SLP\r
+ defb 076h ;\r
+ defw as.TST ;TST\r
+ defb 004h ;\r
+ defw as.TSTIO ;TSTIO\r
+ defb 074h ;\r
+\r
+as.TST:\r
+ call arg.r_HL_A ;\r
+ jr nc,as.tst_0\r
+ rlca\r
+ rlca\r
+ rlca\r
+ add a,b\r
+ ld b,a\r
+ jp gen.opc.ED2\r
+as.tst_0:\r
+ ld b,064h\r
+as.TSTIO:\r
+ call arg.imm_8bit ;\r
+ jr as.store_io0\r
+\r
+as.IN0:\r
+ call arg.r_HL_A ;\r
+ jr nc,error7\r
+ cp 006h\r
+ jr z,error7\r
+ rlca\r
+ rlca\r
+ rlca\r
+ add a,b\r
+ ld b,a\r
+ call assert_comma ;\r
+ call arg.addr_8bit ;\r
+ jr as.store_io0\r
+\r
+as.OUTO:\r
+ call arg.addr_8bit ;\r
+ call assert_comma ;\r
+ call arg.r_HL_A ;\r
+ jr nc,error7\r
+ cp 006h\r
+ jr z,error7\r
+ rlca\r
+ rlca\r
+ rlca\r
+ add a,b\r
+ ld b,a\r
+\r
+as.store_io0:\r
+ call assert_eol\r
+ ld (iy+000h),0edh\r
+ ld (iy+001h),b\r
+ ld (iy+002h),l\r
+ ld c,003h\r
+ ret\r
+\r
+as.MLT:\r
+ call arg.ww ;\r
+ jr nc,error7\r
+ add a,b\r
+ ld b,a\r
+ jp gen.opc.ED2\r
+\r
+error7:\r
+ jp ERROR\r
+\r
+as.LD:\r
+ call arg.r_HL_A ;1352 cd 2e 18 . . .\r
jr c,l13d4h ;1355 38 7d 8 }\r
- call sub_1855h ;1357 cd 55 18 . U .\r
+ call arg.IDX_displcmnt ;1357 cd 55 18 . U .\r
jp c,l1471h ;135a da 71 14 . q .\r
- call sub_181bh ;135d cd 1b 18 . . .\r
+ call arg.ww ;135d cd 1b 18 . . .\r
jp c,l149ch ;1360 da 9c 14 . . .\r
- call sub_183dh ;1363 cd 3d 18 . = .\r
+ call arg.IX_IY ;1363 cd 3d 18 . = .\r
jp c,l14f5h ;1366 da f5 14 . . .\r
ld a,(de) ;1369 1a .\r
cp 'I' ;136a fe 49 . I\r
cp '(' ;1374 fe 28 . (\r
jp nz,ERROR ;1376 c2 07 01 . . .\r
inc de ;1379 13 .\r
- call sub_181bh ;137a cd 1b 18 . . .\r
+ call arg.ww ;137a cd 1b 18 . . .\r
jp c,l1528h ;137d da 28 15 . ( .\r
call test_expr ;1380 cd 09 18 . . .\r
call test_paren_close ;1383 cd c5 18 . . .\r
call assert_comma ;1386 cd be 18 . . .\r
- call sub_181bh ;1389 cd 1b 18 . . .\r
+ call arg.ww ;1389 cd 1b 18 . . .\r
jr c,l13c2h ;138c 38 34 8 4\r
- call sub_183dh ;138e cd 3d 18 . = .\r
+ call arg.IX_IY ;138e cd 3d 18 . = .\r
jr nc,l13aah ;1391 30 17 0 .\r
ld b,022h ;1393 06 22 . "\r
l1395h:\r
jp nz,ERROR ;13ad c2 07 01 . . .\r
inc de ;13b0 13 .\r
ld b,032h ;13b1 06 32 . 2\r
-l13b3h:\r
+as.store_3:\r
call assert_eol ;13b3 cd d6 02 . . .\r
ld (iy+000h),b ;13b6 fd 70 00 . p .\r
ld (iy+001h),l ;13b9 fd 75 01 . u .\r
jr l139bh ;13ce 18 cb . .\r
l13d0h:\r
ld b,022h ;13d0 06 22 . "\r
- jr l13b3h ;13d2 18 df . .\r
+ jr as.store_3 ;13d2 18 df . .\r
l13d4h:\r
ld b,a ;13d4 47 G\r
call assert_comma ;13d5 cd be 18 . . .\r
- call sub_182eh ;13d8 cd 2e 18 . . .\r
+ call arg.r_HL_A ;13d8 cd 2e 18 . . .\r
jr nc,l13f0h ;13db 30 13 0 .\r
push af ;13dd f5 .\r
ld a,b ;13de 78 x\r
jp z,ERROR ;13e9 ca 07 01 . . .\r
l13ech:\r
ld b,a ;13ec 47 G\r
- jp l153bh ;13ed c3 3b 15 . ; .\r
+ jp as.opc.noarg ;13ed c3 3b 15 . ; .\r
l13f0h:\r
- call sub_1855h ;13f0 cd 55 18 . U .\r
+ call arg.IDX_displcmnt ;13f0 cd 55 18 . U .\r
jr nc,l1413h ;13f3 30 1e 0 .\r
ld a,b ;13f5 78 x\r
rlca ;13f6 07 .\r
add a,046h ;13f9 c6 46 . F\r
cp 076h ;13fb fe 76 . v\r
jp z,ERROR ;13fd ca 07 01 . . .\r
+\r
l1400h:\r
ld b,a ;1400 47 G\r
call assert_eol ;1401 cd d6 02 . . .\r
ld b,057h ;142c 06 57 . W\r
l142eh:\r
inc de ;142e 13 .\r
- jp l1544h ;142f c3 44 15 . D .\r
+ jp gen.opc.ED2 ;142f c3 44 15 . D .\r
l1432h:\r
cp '(' ;1432 fe 28 . (\r
jr z,l144ch ;1434 28 16 ( .\r
- call sub_17ffh ;1436 cd ff 17 . . .\r
+ call arg.imm_8bit ;1436 cd ff 17 . . .\r
ld a,b ;1439 78 x\r
rlca ;143a 07 .\r
rlca ;143b 07 .\r
add a,006h ;143d c6 06 . .\r
l143fh:\r
ld b,a ;143f 47 G\r
-l1440h:\r
+as.store_2:\r
call assert_eol ;1440 cd d6 02 . . .\r
ld (iy+000h),b ;1443 fd 70 00 . p .\r
ld (iy+001h),l ;1446 fd 75 01 . u .\r
ld a,b ;144d 78 x\r
cp 007h ;144e fe 07 . .\r
jp nz,ERROR ;1450 c2 07 01 . . .\r
- call sub_181bh ;1453 cd 1b 18 . . .\r
+ call arg.ww ;1453 cd 1b 18 . . .\r
jr nc,l1466h ;1456 30 0e 0 .\r
cp 030h ;1458 fe 30 . 0\r
jp nc,ERROR ;145a d2 07 01 . . .\r
add a,00ah ;145d c6 0a . .\r
ld b,a ;145f 47 G\r
call test_paren_close ;1460 cd c5 18 . . .\r
- jp l153bh ;1463 c3 3b 15 . ; .\r
+ jp as.opc.noarg ;1463 c3 3b 15 . ; .\r
l1466h:\r
call test_expr ;1466 cd 09 18 . . .\r
call test_paren_close ;1469 cd c5 18 . . .\r
ld b,03ah ;146c 06 3a . :\r
- jp l13b3h ;146e c3 b3 13 . . .\r
+ jp as.store_3 ;146e c3 b3 13 . . .\r
+\r
l1471h:\r
call assert_comma ;1471 cd be 18 . . .\r
- call sub_182eh ;1474 cd 2e 18 . . .\r
+ call arg.r_HL_A ;1474 cd 2e 18 . . .\r
jr nc,l1483h ;1477 30 0a 0 .\r
cp 006h ;1479 fe 06 . .\r
jp z,ERROR ;147b ca 07 01 . . .\r
add a,070h ;147e c6 70 . p\r
jp l1400h ;1480 c3 00 14 . . .\r
+\r
l1483h:\r
- call sub_17ffh ;1483 cd ff 17 . . .\r
+ call arg.imm_8bit ;1483 cd ff 17 . . .\r
call assert_eol ;1486 cd d6 02 . . .\r
ld a,(prefix_ixiy) ;1489 3a cc 18 : . .\r
ld (iy+000h),a ;148c fd 77 00 . w .\r
ld hl,t_HL.AF ;14a0 21 af 1f ! . .\r
call sub_0318h ;14a3 cd 18 03 . . .\r
jr c,l14c3h ;14a6 38 1b 8 .\r
- call sub_183dh ;14a8 cd 3d 18 . = .\r
+ call arg.IX_IY ;14a8 cd 3d 18 . = .\r
jr nc,l14cch ;14ab 30 1f 0 .\r
ld a,b ;14ad 78 x\r
cp 030h ;14ae fe 30 . 0\r
cp 030h ;14c4 fe 30 . 0\r
jr nz,error6 ;14c6 20 5d ]\r
ld b,0f9h ;14c8 06 f9 . .\r
- jr l153bh ;14ca 18 6f . o\r
+ jr as.opc.noarg ;14ca 18 6f . o\r
l14cch:\r
ld a,(de) ;14cc 1a .\r
cp '(' ;14cd fe 28 . (\r
jp l13c9h ;14e0 c3 c9 13 . . .\r
l14e3h:\r
ld b,02ah ;14e3 06 2a . *\r
- jp l13b3h ;14e5 c3 b3 13 . . .\r
+ jp as.store_3 ;14e5 c3 b3 13 . . .\r
l14e8h:\r
call test_expr ;14e8 cd 09 18 . . .\r
call assert_eol ;14eb cd d6 02 . . .\r
ld a,001h ;14ee 3e 01 > .\r
add a,b ;14f0 80 .\r
ld b,a ;14f1 47 G\r
- jp l13b3h ;14f2 c3 b3 13 . . .\r
+ jp as.store_3 ;14f2 c3 b3 13 . . .\r
l14f5h:\r
call assert_comma ;14f5 cd be 18 . . .\r
ld a,(de) ;14f8 1a .\r
ld a,(de) ;151f 1a .\r
inc de ;1520 13 .\r
cp 'A' ;1521 fe 41 . A\r
- jr z,l1544h ;1523 28 1f ( .\r
+ jr z,gen.opc.ED2 ;1523 28 1f ( .\r
error6:\r
jp ERROR ;1525 c3 07 01 . . .\r
\r
cp 'A' ;1536 fe 41 . A\r
jr nz,error6 ;1538 20 eb .\r
inc de ;153a 13 .\r
-l153bh:\r
+as.opc.noarg:\r
call assert_eol ;153b cd d6 02 . . .\r
ld (iy+000h),b ;153e fd 70 00 . p .\r
ld c,001h ;1541 0e 01 . .\r
ret ;1543 c9 .\r
\r
-l1544h:\r
+gen.opc.ED2:\r
call assert_eol ;1544 cd d6 02 . . .\r
ld (iy+000h),0edh ;1547 fd 36 00 ed . 6 . .\r
ld (iy+001h),b ;154b fd 70 01 . p .\r
ld c,002h ;154e 0e 02 . .\r
ret ;1550 c9 .\r
\r
-l1551h:\r
+as.ADC_SBC:\r
ld hl,t_HL.AF ;1551 21 af 1f ! . .\r
call sub_0318h ;1554 cd 18 03 . . .\r
- jr nc,l15a8h ;1557 30 4f 0 O\r
+ jr nc,as.AND_CP_OR_SUB_XOR ;1557 30 4f 0 O\r
call assert_comma ;1559 cd be 18 . . .\r
- call sub_181bh ;155c cd 1b 18 . . .\r
+ call arg.ww ;155c cd 1b 18 . . .\r
jp nc,ERROR ;155f d2 07 01 . . .\r
push af ;1562 f5 .\r
ld a,b ;1563 78 x\r
add a,b ;156d 80 .\r
l156eh:\r
ld b,a ;156e 47 G\r
- jr l1544h ;156f 18 d3 . .\r
-l1571h:\r
+ jr gen.opc.ED2 ;156f 18 d3 . .\r
+as.ADD:\r
ld hl,t_HL.AF ;1571 21 af 1f ! . .\r
call sub_0318h ;1574 cd 18 03 . . .\r
jr c,l159ah ;1577 38 21 8 !\r
- call sub_183dh ;1579 cd 3d 18 . = .\r
- jr nc,l15a8h ;157c 30 2a 0 *\r
+ call arg.IX_IY ;1579 cd 3d 18 . = .\r
+ jr nc,as.AND_CP_OR_SUB_XOR ;157c 30 2a 0 *\r
call assert_comma ;157e cd be 18 . . .\r
ld hl,t_BC.DE.IX.SP ;1581 21 bd 1f ! . .\r
ld a,(prefix_ixiy) ;1584 3a cc 18 : . .\r
jr nz,l158eh ;1589 20 03 .\r
ld hl,t_BC.DE.IY.SP ;158b 21 b4 1f ! . .\r
l158eh:\r
- call sub_1818h ;158e cd 18 18 . . .\r
+ call arg.reg_16bit ;158e cd 18 18 . . .\r
jp nc,ERROR ;1591 d2 07 01 . . .\r
add a,009h ;1594 c6 09 . .\r
l1596h:\r
jp l14b4h ;1597 c3 b4 14 . . .\r
l159ah:\r
call assert_comma ;159a cd be 18 . . .\r
- call sub_181bh ;159d cd 1b 18 . . .\r
+ call arg.ww ;159d cd 1b 18 . . .\r
jp nc,ERROR ;15a0 d2 07 01 . . .\r
add a,009h ;15a3 c6 09 . .\r
jp l13ech ;15a5 c3 ec 13 . . .\r
-l15a8h:\r
+as.AND_CP_OR_SUB_XOR:\r
ld a,(de) ;15a8 1a .\r
cp 'A' ;15a9 fe 41 . A\r
jr nz,l15b8h ;15ab 20 0b .\r
l15b7h:\r
pop af ;15b7 f1 .\r
l15b8h:\r
- call sub_182eh ;15b8 cd 2e 18 . . .\r
+ call arg.r_HL_A ;15b8 cd 2e 18 . . .\r
jr c,l15cbh ;15bb 38 0e 8 .\r
- call sub_1855h ;15bd cd 55 18 . U .\r
+ call arg.IDX_displcmnt ;15bd cd 55 18 . U .\r
jr c,l15cfh ;15c0 38 0d 8 .\r
- call sub_17ffh ;15c2 cd ff 17 . . .\r
+ call arg.imm_8bit ;15c2 cd ff 17 . . .\r
ld a,b ;15c5 78 x\r
add a,046h ;15c6 c6 46 . F\r
jp l143fh ;15c8 c3 3f 14 . ? .\r
ld a,b ;15cf 78 x\r
add a,006h ;15d0 c6 06 . .\r
jp l1400h ;15d2 c3 00 14 . . .\r
-l15d5h:\r
- call sub_182eh ;15d5 cd 2e 18 . . .\r
+\r
+as.SHIFTOP:\r
+ call arg.r_HL_A ;15d5 cd 2e 18 . . .\r
jr c,l15fah ;15d8 38 20 8\r
- call sub_1855h ;15da cd 55 18 . U .\r
+ call arg.IDX_displcmnt ;15da cd 55 18 . U .\r
jp nc,ERROR ;15dd d2 07 01 . . .\r
ld a,b ;15e0 78 x\r
add a,006h ;15e1 c6 06 . .\r
ld (iy+003h),b ;15f4 fd 70 03 . p .\r
ld c,004h ;15f7 0e 04 . .\r
ret ;15f9 c9 .\r
+\r
l15fah:\r
add a,b ;15fa 80 .\r
l15fbh:\r
ld (iy+000h),0cbh ;1602 fd 36 00 cb . 6 . .\r
ld c,002h ;1606 0e 02 . .\r
ret ;1608 c9 .\r
-l1609h:\r
- call sub_17d3h ;1609 cd d3 17 . . .\r
+\r
+as.BITOP:\r
+ call arg.bit ;1609 cd d3 17 . . .\r
call assert_comma ;160c cd be 18 . . .\r
- call sub_182eh ;160f cd 2e 18 . . .\r
+ call arg.r_HL_A ;160f cd 2e 18 . . .\r
jr c,l1624h ;1612 38 10 8 .\r
- call sub_1855h ;1614 cd 55 18 . U .\r
+ call arg.IDX_displcmnt ;1614 cd 55 18 . U .\r
jp nc,ERROR ;1617 d2 07 01 . . .\r
ld a,l ;161a 7d }\r
rlca ;161b 07 .\r
rlca ;1629 07 .\r
add a,b ;162a 80 .\r
jr l15fbh ;162b 18 ce . .\r
-l162dh:\r
+\r
+as.CALL:\r
push de ;162d d5 .\r
- call sub_18a5h ;162e cd a5 18 . . .\r
+ call arg.cc_ZCPS ;162e cd a5 18 . . .\r
jr nc,l163ch ;1631 30 09 0 .\r
add a,b ;1633 80 .\r
ld b,a ;1634 47 G\r
l163eh:\r
pop af ;163e f1 .\r
call test_expr ;163f cd 09 18 . . .\r
- jp l13b3h ;1642 c3 b3 13 . . .\r
-l1645h:\r
- call sub_18a5h ;1645 cd a5 18 . . .\r
+ jp as.store_3 ;1642 c3 b3 13 . . .\r
+\r
+as.RET:\r
+ call arg.cc_ZCPS ;1645 cd a5 18 . . .\r
jr nc,l164eh ;1648 30 04 0 .\r
add a,b ;164a 80 .\r
ld b,a ;164b 47 G\r
l164eh:\r
ld b,0c9h ;164e 06 c9 . .\r
l1650h:\r
- jp l153bh ;1650 c3 3b 15 . ; .\r
-l1653h:\r
+ jp as.opc.noarg ;1650 c3 3b 15 . ; .\r
+\r
+as.JP:\r
push de ;1653 d5 .\r
- call sub_18a5h ;1654 cd a5 18 . . .\r
+ call arg.cc_ZCPS ;1654 cd a5 18 . . .\r
jr c,l1666h ;1657 38 0d 8 .\r
l1659h:\r
pop de ;1659 d1 .\r
jr c,l1674h ;1660 38 12 8 .\r
ld b,0c3h ;1662 06 c3 . .\r
jr l166eh ;1664 18 08 . .\r
+\r
l1666h:\r
add a,b ;1666 80 .\r
ld b,a ;1667 47 G\r
pop af ;166d f1 .\r
l166eh:\r
call test_expr ;166e cd 09 18 . . .\r
- jp l13b3h ;1671 c3 b3 13 . . .\r
+ jp as.store_3 ;1671 c3 b3 13 . . .\r
l1674h:\r
call assert_eol ;1674 cd d6 02 . . .\r
ld a,b ;1677 78 x\r
and a ;1678 a7 .\r
jr nz,l1680h ;1679 20 05 .\r
ld b,0e9h ;167b 06 e9 . .\r
- jp l153bh ;167d c3 3b 15 . ; .\r
+ jp as.opc.noarg ;167d c3 3b 15 . ; .\r
l1680h:\r
ld b,0ddh ;1680 06 dd . .\r
dec a ;1682 3d =\r
ld b,0fdh ;1685 06 fd . .\r
l1687h:\r
ld l,0e9h ;1687 2e e9 . .\r
- jp l1440h ;1689 c3 40 14 . @ .\r
+ jp as.store_2 ;1689 c3 40 14 . @ .\r
\r
l168ch:\r
DC '(HL)'\r
DC '(IY)'\r
DB 0\r
\r
-l1699h:\r
+as.DJNZ:\r
call next_arg ;1699 cd ca 02 . . .\r
ld b,010h ;169c 06 10 . .\r
jr l16aeh ;169e 18 0e . .\r
-l16a0h:\r
- call sub_18ach ;16a0 cd ac 18 . . .\r
+as.JR:\r
+ call arg.cc_ZC ;16a0 cd ac 18 . . .\r
jr c,l16a9h ;16a3 38 04 8 .\r
ld b,018h ;16a5 06 18 . .\r
jr l16aeh ;16a7 18 05 . .\r
ld b,a ;16aa 47 G\r
call assert_comma ;16ab cd be 18 . . .\r
l16aeh:\r
- call sub_17dch ;16ae cd dc 17 . . .\r
- jp l1440h ;16b1 c3 40 14 . @ .\r
+ call arg.j_displ ;16ae cd dc 17 . . .\r
+ jp as.store_2 ;16b1 c3 40 14 . @ .\r
\r
-l16b4h:\r
- call sub_17ffh ;16b4 cd ff 17 . . .\r
+as.IM:\r
+ call arg.imm_8bit ;16b4 cd ff 17 . . .\r
ld a,l ;16b7 7d }\r
cp 003h ;16b8 fe 03 . .\r
jr nc,error2 ;16ba 30 5c 0 \\r
jr z,l16c7h ;16c3 28 02 ( .\r
ld b,05eh ;16c5 06 5e . ^\r
l16c7h:\r
- jp l1544h ;16c7 c3 44 15 . D .\r
+ jp gen.opc.ED2 ;16c7 c3 44 15 . D .\r
\r
-l16cah:\r
- call sub_17ffh ;16ca cd ff 17 . . .\r
+as.RST:\r
+ call arg.imm_8bit ;16ca cd ff 17 . . .\r
ld a,l ;16cd 7d }\r
push af ;16ce f5 .\r
add a,b ;16cf 80 .\r
pop af ;16d1 f1 .\r
and 0c7h ;16d2 e6 c7 . .\r
jr nz,error2 ;16d4 20 42 B\r
- jp l153bh ;16d6 c3 3b 15 . ; .\r
+ jp as.opc.noarg ;16d6 c3 3b 15 . ; .\r
\r
-l16d9h:\r
- call sub_183dh ;16d9 cd 3d 18 . = .\r
+as.POP_PUSH:\r
+ call arg.IX_IY ;16d9 cd 3d 18 . = .\r
jr c,l16e7h ;16dc 38 09 8 .\r
- call sub_1812h ;16de cd 12 18 . . .\r
+ call arg.zz ;16de cd 12 18 . . .\r
jr nc,error2 ;16e1 30 35 0 5\r
add a,b ;16e3 80 .\r
jp l13ech ;16e4 c3 ec 13 . . .\r
add a,020h ;16e8 c6 20 .\r
jp l1596h ;16ea c3 96 15 . . .\r
\r
-l16edh:\r
- call sub_182eh ;16ed cd 2e 18 . . .\r
+as.IN:\r
+ call arg.r_HL_A ;16ed cd 2e 18 . . .\r
jr nc,error2 ;16f0 30 26 0 &\r
cp 006h ;16f2 fe 06 . .\r
jr z,error2 ;16f4 28 22 ( "\r
call assert_comma ;16ff cd be 18 . . .\r
call sub_171bh ;1702 cd 1b 17 . . .\r
jr c,l1715h ;1705 38 0e 8 .\r
- call sub_17f3h ;1707 cd f3 17 . . .\r
+ call arg.addr_8bit ;1707 cd f3 17 . . .\r
ld b,0dbh ;170a 06 db . .\r
- jp l1440h ;170c c3 40 14 . @ .\r
+ jp as.store_2 ;170c c3 40 14 . @ .\r
l170fh:\r
call assert_comma ;170f cd be 18 . . .\r
call sub_171bh ;1712 cd 1b 17 . . .\r
l1715h:\r
- jp c,l1544h ;1715 da 44 15 . D .\r
+ jp c,gen.opc.ED2 ;1715 da 44 15 . D .\r
error2:\r
jp ERROR ;1718 c3 07 01 . . .\r
\r
ld hl,t__C_ ;171b 21 f4 1f ! . .\r
jp sub_0318h ;171e c3 18 03 . . .\r
\r
-l1721h:\r
+as.OUT:\r
call sub_171bh ;1721 cd 1b 17 . . .\r
jr nc,l1739h ;1724 30 13 0 .\r
call assert_comma ;1726 cd be 18 . . .\r
- call sub_182eh ;1729 cd 2e 18 . . .\r
+ call arg.r_HL_A ;1729 cd 2e 18 . . .\r
jr nc,error2 ;172c 30 ea 0 .\r
cp 006h ;172e fe 06 . .\r
jr z,error2 ;1730 28 e6 ( .\r
jp l156eh ;1736 c3 6e 15 . n .\r
\r
l1739h:\r
- call sub_17f3h ;1739 cd f3 17 . . .\r
+ call arg.addr_8bit ;1739 cd f3 17 . . .\r
call assert_comma ;173c cd be 18 . . .\r
cp 'A' ;173f fe 41 . A\r
jr nz,error2 ;1741 20 d5 .\r
inc de ;1743 13 .\r
ld b,0d3h ;1744 06 d3 . .\r
- jp l1440h ;1746 c3 40 14 . @ .\r
+ jp as.store_2 ;1746 c3 40 14 . @ .\r
\r
-l1749h:\r
+as.EX:\r
ld hl,b_176d_start ;1749 21 6d 17 ! m .\r
call sub_030ah ;174c cd 0a 03 . . .\r
jp nc,ERROR ;174f d2 07 01 . . .\r
db 0ddh,0e3h ;1794 dd .\r
db 0fdh,0e3h ;1796 fd .\r
\r
-l1798h:\r
- call sub_183dh ;1798 cd 3d 18 . = .\r
+as.DEC_INC:\r
+ call arg.IX_IY ;1798 cd 3d 18 . = .\r
jr c,l17b3h ;179b 38 16 8 .\r
- call sub_181bh ;179d cd 1b 18 . . .\r
+ call arg.ww ;179d cd 1b 18 . . .\r
jr c,l17bfh ;17a0 38 1d 8 .\r
- call sub_182eh ;17a2 cd 2e 18 . . .\r
+ call arg.r_HL_A ;17a2 cd 2e 18 . . .\r
jr c,l17cch ;17a5 38 25 8 %\r
- call sub_1855h ;17a7 cd 55 18 . U .\r
+ call arg.IDX_displcmnt ;17a7 cd 55 18 . U .\r
jp nc,ERROR ;17aa d2 07 01 . . .\r
ld a,b ;17ad 78 x\r
add a,030h ;17ae c6 30 . 0\r
l17cfh:\r
add a,b ;17cf 80 .\r
jp l13ech ;17d0 c3 ec 13 . . .\r
-sub_17d3h:\r
- call sub_17ffh ;17d3 cd ff 17 . . .\r
+\r
+arg.bit:\r
+ call arg.imm_8bit ;17d3 cd ff 17 . . .\r
ld a,l ;17d6 7d }\r
cp 008h ;17d7 fe 08 . .\r
jr nc,error3 ;17d9 30 34 0 4\r
ret ;17db c9 .\r
-sub_17dch:\r
+\r
+arg.j_displ:\r
call test_expr ;17dc cd 09 18 . . .\r
push bc ;17df c5 .\r
push iy ;17e0 fd e5 . .\r
jr nz,error3 ;17f0 20 1d .\r
ret ;17f2 c9 .\r
\r
-sub_17f3h:\r
+arg.addr_8bit:\r
ld a,(de) ;17f3 1a .\r
cp '(' ;17f4 fe 28 . (\r
- jr nz,sub_17ffh ;17f6 20 07 .\r
+ jr nz,arg.imm_8bit ;17f6 20 07 .\r
inc de ;17f8 13 .\r
- call sub_17ffh ;17f9 cd ff 17 . . .\r
+ call arg.imm_8bit ;17f9 cd ff 17 . . .\r
jp test_paren_close ;17fc c3 c5 18 . . .\r
\r
-sub_17ffh:\r
+arg.imm_8bit:\r
call test_expr ;17ff cd 09 18 . . .\r
sub_1802h:\r
ld a,h ;1802 7c |\r
error3:\r
jp ERROR ;180f c3 07 01 . . .\r
\r
-sub_1812h:\r
+arg.zz:\r
push hl ;1812 e5 .\r
ld hl,t_BC.DE.HL.AF ;1813 21 ab 1f ! . .\r
jr l181fh ;1816 18 07 . .\r
\r
-sub_1818h:\r
+arg.reg_16bit:\r
push hl ;1818 e5 .\r
jr l181fh ;1819 18 04 . .\r
\r
-sub_181bh:\r
+arg.ww:\r
push hl ;181b e5 .\r
ld hl,t_BC.DE.HL.SP ;181c 21 a2 1f ! . .\r
l181fh:\r
pop hl ;182c e1 .\r
ret ;182d c9 .\r
\r
-sub_182eh:\r
+arg.r_HL_A:\r
call skipbl ;182e cd bf 02 . . .\r
push bc ;1831 c5 .\r
push hl ;1832 e5 .\r
pop bc ;183b c1 .\r
ret ;183c c9 .\r
\r
-sub_183dh:\r
+arg.IX_IY:\r
push hl ;183d e5 .\r
push bc ;183e c5 .\r
ld hl,t_IX.IY ;183f 21 c8 1f ! . .\r
pop bc ;1852 c1 .\r
pop hl ;1853 e1 .\r
ret ;1854 c9 .\r
-sub_1855h:\r
+\r
+arg.IDX_displcmnt:\r
push hl ;1855 e5 .\r
push bc ;1856 c5 .\r
ld a,(de) ;1857 1a .\r
l1882h:\r
push af ;1882 f5 .\r
inc de ;1883 13 .\r
- call sub_17ffh ;1884 cd ff 17 . . .\r
+ call arg.imm_8bit ;1884 cd ff 17 . . .\r
pop af ;1887 f1 .\r
cp '+' ;1888 fe 2b . +\r
jr z,l1894h ;188a 28 08 ( .\r
and a ;18a3 a7 .\r
ret ;18a4 c9 .\r
\r
-sub_18a5h:\r
+arg.cc_ZCPS:\r
ld hl,t_tstfl_ZCPS ;18a5 21 dc 1f ! . .\r
ld c,007h ;18a8 0e 07 . .\r
jr l18b1h ;18aa 18 05 . .\r
\r
-sub_18ach:\r
+arg.cc_ZC:\r
ld hl,t_tstfl_ZC ;18ac 21 cd 1f ! . .\r
ld c,003h ;18af 0e 03 . .\r
l18b1h:\r
push hl ;18db e5 .\r
pop iy ;18dc fd e1 . .\r
call next_arg ;18de cd ca 02 . . .\r
- call sub_039ah ;18e1 cd 9a 03 . . .\r
+ call get_range ;18e1 cd 9a 03 . . .\r
jr nc,l1905h ;18e4 30 1f 0 .\r
call assert_eol ;18e6 cd d6 02 . . .\r
- ld b,010h ;18e9 06 10 . .\r
+ ld b,16 ;18e9 06 10 . .\r
l18ebh:\r
push bc ;18eb c5 .\r
push iy ;18ec fd e5 . .\r
pop hl ;18ee e1 .\r
push hl ;18ef e5 .\r
- call sub_192dh ;18f0 cd 2d 19 . - .\r
+ call prnt_disas_line ;18f0 cd 2d 19 . - .\r
call crlf ;18f3 cd a3 02 . . .\r
pop iy ;18f6 fd e1 . .\r
ld c,b ;18f8 48 H\r
push iy ;1910 fd e5 . .\r
pop hl ;1912 e1 .\r
push hl ;1913 e5 .\r
- call sub_192dh ;1914 cd 2d 19 . - .\r
+ call prnt_disas_line ;1914 cd 2d 19 . - .\r
call crlf ;1917 cd a3 02 . . .\r
pop iy ;191a fd e1 . .\r
ld e,b ;191c 58 X\r
ret c ;192a d8 .\r
jr l190fh ;192b 18 e2 . .\r
\r
-sub_192dh:\r
+prnt_disas_line:\r
call out.hl.@ ;192d cd a4 01 . . .\r
call z,outbl ;1930 cc 9f 02 . . .\r
call outbl ;1933 cd 9f 02 . . .\r
sub a ;1936 97 .\r
ld (con_col),a ;1937 32 72 02 2 r .\r
- call sub_1965h ;193a cd 65 19 . e .\r
+ call prnt_disas_instr ;193a cd 65 19 . e .\r
and a ;193d a7 .\r
ret z ;193e c8 .\r
\r
ld a,')' ;1960 3e 29 > )\r
jp outchar ;1962 c3 5d 02 . ] .\r
\r
-sub_1965h:\r
+prnt_disas_instr:\r
sub a ;1965 97 .\r
ld (l1ffdh),a ;1966 32 fd 1f 2 . .\r
call disas_get_instrlen ;1969 cd 8c 19 . . .\r
push bc ;196e c5 .\r
call prnt_mnemonic ;196f cd b9 1e . . .\r
ex de,hl ;1972 eb .\r
- call sub_19c1h ;1973 cd c1 19 . . .\r
+ call call_hl ;1973 cd c1 19 . . .\r
pop bc ;1976 c1 .\r
ld a,(l1ffdh) ;1977 3a fd 1f : . .\r
ld hl,(l1ffbh) ;197a 2a fb 1f * . .\r
scf ;19bf 37 7\r
ret ;19c0 c9 .\r
\r
-sub_19c1h:\r
- jp (hl) ;19c1 e9 .\r
+; TODO:\r
+ nop ;jp (hl) ;19c1 e9 .\r
\r
disas_pfx.DDFD:\r
inc iy ;19c2 fd 23 . #\r
and a ;19ed a7 .\r
ret ;19ee c9 .\r
\r
-; DD/FD 4 byte (ix+d)\r
+; DD/FD 3 byte (ix+d)/(iy+d)\r
b_19ef_start:\r
defb 034h ;19ef 34 4\r
defb 035h ;19f0 35 5\r
defb 073h ;19fb 73 s\r
defb 074h ;19fc 74 t\r
defb 075h ;19fd 75 u\r
-; ????\r
- defb 076h ;19fe 76 v ????\r
defb 077h ;19ff 77 w\r
defb 07eh ;1a00 7e ~\r
defb 086h ;1a01 86 .\r
defb 0beh ;1a08 be .\r
defb 0 ;1a09 00 .\r
\r
-; DD/DF 3 byte\r
+; DD/FD 2 byte\r
l1a0ah:\r
defb 009h ;1a0a 09 .\r
defb 019h ;1a0b 19 .\r
call lookup_opc ;1a27 cd 97 1a . . .\r
ld b,2 ;1a2a 06 02 . .\r
ret c ;1a2c d8 .\r
+\r
+ ld hl,l228bh\r
+ call lookup_opc\r
+ ld b,3\r
+ ret c\r
ld hl,b_1c40_start ;1a2d 21 40 1c ! @ .\r
call lookup_opc ;1a30 cd 97 1a . . .\r
ld b,4 ;1a33 06 04 . .\r
scf ;1ab4 37 7\r
ret ;1ab5 c9 .\r
\r
-; 1 byte opcodes (no parameters)\r
+; 1 byte opcodes (no parameters)\r
+; Format: db opcode, t_MNEMONICS-index\r
b_1ab6_start:\r
- defb 076h ;1ab6 76 v\r
- defb 039h ;1ab7 39 9\r
- defb 0d9h ;1ab8 d9 .\r
- defb 036h ;1ab9 36 6\r
- defb 0f3h ;1aba f3 .\r
- defb 02ch ;1abb 2c ,\r
- defb 0fbh ;1abc fb .\r
- defb 032h ;1abd 32 2\r
- defb 000h ;1abe 00 .\r
- defb 069h ;1abf 69 i\r
- defb 007h ;1ac0 07 .\r
- defb 09eh ;1ac1 9e .\r
- defb 00fh ;1ac2 0f .\r
- defb 0adh ;1ac3 ad .\r
- defb 017h ;1ac4 17 .\r
- defb 098h ;1ac5 98 .\r
- defb 01fh ;1ac6 1f .\r
- defb 0a7h ;1ac7 a7 .\r
- defb 027h ;1ac8 27 '\r
- defb 026h ;1ac9 26 &\r
- defb 02fh ;1aca 2f /\r
- defb 023h ;1acb 23 #\r
- defb 037h ;1acc 37 7\r
- defb 0bah ;1acd ba .\r
- defb 03fh ;1ace 3f ?\r
- defb 010h ;1acf 10 .\r
- defb 0ffh ;1ad0 ff .\r
+ db 076h,039h ;halt\r
+ db 0d9h,036h ;exx\r
+ db 0f3h,02ch ;di\r
+ db 0fbh,032h ;ei\r
+ db 000h,069h ;nop\r
+ db 007h,09eh ;rlca\r
+ db 00fh,0adh ;rrca\r
+ db 017h,098h ;rla\r
+ db 01fh,0a7h ;rra\r
+ db 027h,026h ;daa\r
+ db 02fh,023h ;cpl\r
+ db 037h,0bah ;scf\r
+ db 03fh,010h ;ccf\r
+ db 0ffh\r
+\r
\r
; 1 byte opcodes\r
+; Format: db mask, match, t_MNEMONICS-index\r
+; dw argument formating fuction\r
b_1ad1_start:\r
- defb 0c0h ;1ad1 c0 .\r
- defb 040h ;1ad2 40 @\r
- defb 056h ;1ad3 56 V\r
- defw l1c88h ;1ad4 88 1c . .\r
-\r
- defb 0f8h ;1ad6 f8 .\r
- defb 080h ;1ad7 80 .\r
- defb 003h ;1ad8 03 .\r
- defw l1c91h ;1ad9 91 1c . .\r
-\r
- defb 0f8h ;1adb f8 .\r
- defb 088h ;1adc 88 .\r
- defb 000h ;1add 00 .\r
- defw l1c91h ;1ade 91 1c . .\r
-\r
- defb 0f8h ;1ae0 f8 .\r
- defb 090h ;1ae1 90 .\r
- defb 0c9h ;1ae2 c9 .\r
- defw l1e30h ;1ae3 30 1e 0 .\r
-\r
- defb 0f8h ;1ae5 f8 .\r
- defb 098h ;1ae6 98 .\r
- defb 0b7h ;1ae7 b7 .\r
- defw l1c91h ;1ae8 91 1c . .\r
-\r
- defb 0f8h ;1aea f8 .\r
- defb 0a0h ;1aeb a0 .\r
- defb 006h ;1aec 06 .\r
- defw l1e30h ;1aed 30 1e 0 .\r
-\r
- defb 0f8h ;1aef f8 .\r
- defb 0a8h ;1af0 a8 .\r
- defb 0cch ;1af1 cc .\r
- defw l1e30h ;1af2 30 1e 0 .\r
-\r
- defb 0f8h ;1af4 f8 .\r
- defb 0b0h ;1af5 b0 .\r
- defb 06ch ;1af6 6c l\r
- defw l1e30h ;1af7 30 1e 0 .\r
-\r
- defb 0f8h ;1af9 f8 .\r
- defb 0b8h ;1afa b8 .\r
- defb 013h ;1afb 13 .\r
- defw l1e30h ;1afc 30 1e 0 .\r
-\r
- defb 0c7h ;1afe c7 .\r
- defb 0c0h ;1aff c0 .\r
- defb 08bh ;1b00 8b .\r
- defw l1e9dh ;1b01 9d 1e . .\r
-\r
- defb 0c7h ;1b03 c7 .\r
- defb 0c7h ;1b04 c7 .\r
- defb 0b4h ;1b05 b4 .\r
- defw l1c98h ;1b06 98 1c . .\r
-\r
- defb 0ffh ;1b08 ff .\r
- defb 0c9h ;1b09 c9 .\r
- defb 08bh ;1b0a 8b .\r
- defw l1c97h ;1b0b 97 1c . .\r
-\r
- defb 0cfh ;1b0d cf .\r
- defb 0c1h ;1b0e c1 .\r
- defb 081h ;1b0f 81 .\r
- defw l1e86h ;1b10 86 1e . .\r
-\r
- defb 0cfh ;1b12 cf .\r
- defb 0c5h ;1b13 c5 .\r
- defb 084h ;1b14 84 .\r
- defw l1e86h ;1b15 86 1e . .\r
-\r
- defb 0ffh ;1b17 ff .\r
- defb 0e3h ;1b18 e3 .\r
- defb 034h ;1b19 34 4\r
- defw l1ca0h ;1b1a a0 1c . .\r
-\r
- defb 0ffh ;1b1c ff .\r
- defb 0e9h ;1b1d e9 .\r
- defb 052h ;1b1e 52 R\r
- defw l1caeh ;1b1f ae 1c . .\r
-\r
- defb 0ffh ;1b21 ff .\r
- defb 0ebh ;1b22 eb .\r
- defb 034h ;1b23 34 4\r
- defw l1cbbh ;1b24 bb 1c . .\r
-\r
- defb 0ffh ;1b26 ff .\r
- defb 0f9h ;1b27 f9 .\r
- defb 056h ;1b28 56 V\r
- defw l1cc1h ;1b29 c1 1c . .\r
-\r
- defb 0cfh ;1b2b cf .\r
- defb 003h ;1b2c 03 .\r
- defb 041h ;1b2d 41 A\r
- defw l1e8bh ;1b2e 8b 1e . .\r
-\r
- defb 0cfh ;1b30 cf .\r
- defb 00bh ;1b31 0b .\r
- defb 029h ;1b32 29 )\r
- defw l1e8bh ;1b33 8b 1e . .\r
-\r
- defb 0c7h ;1b35 c7 .\r
- defb 004h ;1b36 04 .\r
- defb 041h ;1b37 41 A\r
- defw l1e28h ;1b38 28 1e ( .\r
-\r
- defb 0c7h ;1b3a c7 .\r
- defb 005h ;1b3b 05 .\r
- defb 029h ;1b3c 29 )\r
- defw l1e28h ;1b3d 28 1e ( .\r
-\r
- defb 0ffh ;1b3f ff .\r
- defb 008h ;1b40 08 .\r
- defb 034h ;1b41 34 4\r
- defw l1ccdh ;1b42 cd 1c . .\r
-\r
- defb 0cfh ;1b44 cf .\r
- defb 009h ;1b45 09 .\r
- defb 003h ;1b46 03 .\r
- defw l1cd3h ;1b47 d3 1c . .\r
-\r
- defb 0efh ;1b49 ef .\r
- defb 002h ;1b4a 02 .\r
- defb 056h ;1b4b 56 V\r
- defw l1cdch ;1b4c dc 1c . .\r
-\r
- defb 0efh ;1b4e ef .\r
- defb 00ah ;1b4f 0a .\r
- defb 056h ;1b50 56 V\r
- defw l1ce5h ;1b51 e5 1c . .\r
-\r
- defb 000h ;1b53 00 .\r
+ db 0c0h,040h,056h ;ld r,r\r
+ dw l1c88h\r
+ db 0f8h,080h,003h ;add a,r\r
+ dw l1c91h\r
+ db 0f8h,088h,000h ;adc a,r\r
+ dw l1c91h\r
+ db 0f8h,090h,0c9h ;\r
+ dw l1e30h\r
+ db 0f8h,098h,0b7h ;\r
+ dw l1c91h\r
+ db 0f8h,0a0h,006h ;\r
+ dw l1e30h\r
+ db 0f8h,0a8h,0cch ;\r
+ dw l1e30h\r
+ db 0f8h,0b0h,06ch ;\r
+ dw l1e30h\r
+ db 0f8h,0b8h,013h ;\r
+ dw l1e30h\r
+ db 0c7h,0c0h,08bh ;ret cc\r
+ dw l1e9dh\r
+ db 0c7h,0c7h,0b4h ;rst\r
+ dw l1c98h\r
+ db 0ffh,0c9h,08bh ;ret\r
+ dw l1c97h\r
+ db 0cfh,0c1h,081h ;pop rr\r
+ dw l1e86h\r
+ db 0cfh,0c5h,084h ;push rr\r
+ dw l1e86h\r
+ db 0ffh,0e3h,034h ;ex (sp),hl\r
+ dw l1ca0h\r
+ db 0ffh,0e9h,052h ;jp (hl)\r
+ dw l1caeh\r
+ db 0ffh,0ebh,034h ;ex de,hl\r
+ dw l1cbbh\r
+ db 0ffh,0f9h,056h ;ld sp,hl\r
+ dw l1cc1h\r
+ db 0cfh,003h,041h ;inc rr\r
+ dw l1e8bh\r
+ db 0cfh,00bh,029h ;dec rr\r
+ dw l1e8bh\r
+ db 0c7h,004h,041h ;inc r\r
+ dw l1e28h\r
+ db 0c7h,005h,029h ;dec r\r
+ dw l1e28h\r
+ db 0ffh,008h,034h ;ex af,af'\r
+ dw l1ccdh\r
+ db 0cfh,009h,003h ;add hl,rr\r
+ dw l1cd3h\r
+ db 0efh,002h,056h ;ld (rr),a ;rr=bc,de\r
+ dw l1cdch\r
+ db 0efh,00ah,056h ;ld a,(rr) ;rr=bc,de\r
+ dw l1ce5h\r
+ db 0\r
\r
; 2 byte opdodes\r
b_1b54_start:\r
- defb 0c7h ;1b54 c7 .\r
- defb 006h ;1b55 06 .\r
- defb 056h ;1b56 56 V\r
- defw l1cfah ;1b57 fa 1c . .\r
-\r
- defb 0ffh ;1b59 ff .\r
- defb 0c6h ;1b5a c6 .\r
- defb 003h ;1b5b 03 .\r
- defw l1cf5h ;1b5c f5 1c . .\r
-\r
- defb 0ffh ;1b5e ff .\r
- defb 0ceh ;1b5f ce .\r
- defb 000h ;1b60 00 .\r
- defw l1cf5h ;1b61 f5 1c . .\r
-\r
- defb 0ffh ;1b63 ff .\r
- defb 0d6h ;1b64 d6 .\r
- defb 0c9h ;1b65 c9 .\r
- defw l1d09h ;1b66 09 1d . .\r
-\r
- defb 0ffh ;1b68 ff .\r
- defb 0deh ;1b69 de .\r
- defb 0b7h ;1b6a b7 .\r
- defw l1cf5h ;1b6b f5 1c . .\r
-\r
- defb 0ffh ;1b6d ff .\r
- defb 0e6h ;1b6e e6 .\r
- defb 006h ;1b6f 06 .\r
- defw l1d09h ;1b70 09 1d . .\r
-\r
- defb 0ffh ;1b72 ff .\r
- defb 0eeh ;1b73 ee .\r
- defb 0cch ;1b74 cc .\r
- defw l1d09h ;1b75 09 1d . .\r
-\r
- defb 0ffh ;1b77 ff .\r
- defb 0f6h ;1b78 f6 .\r
- defb 06ch ;1b79 6c l\r
- defw l1d09h ;1b7a 09 1d . .\r
-\r
- defb 0ffh ;1b7c ff .\r
- defb 0feh ;1b7d fe .\r
- defb 013h ;1b7e 13 .\r
- defw l1d09h ;1b7f 09 1d . .\r
-\r
- defb 0ffh ;1b81 ff .\r
- defb 010h ;1b82 10 .\r
- defb 02eh ;1b83 2e .\r
- defw l1d1ah ;1b84 1a 1d . .\r
-\r
- defb 0ffh ;1b86 ff .\r
- defb 018h ;1b87 18 .\r
- defb 054h ;1b88 54 T\r
- defw l1d1ah ;1b89 1a 1d . .\r
-\r
- defb 0e7h ;1b8b e7 .\r
- defb 020h ;1b8c 20\r
- defb 054h ;1b8d 54 T\r
- defw l1d0fh ;1b8e 0f 1d . .\r
-\r
- defb 0ffh ;1b90 ff .\r
- defb 0d3h ;1b91 d3 .\r
- defb 076h ;1b92 76 v\r
- defw l1d37h ;1b93 37 1d 7 .\r
-\r
- defb 0ffh ;1b95 ff .\r
- defb 0dbh ;1b96 db .\r
- defb 03fh ;1b97 3f ?\r
- defw l1d29h ;1b98 29 1d ) .\r
-\r
- defb 000h ;1b9a 00 .\r
+ db 0c7h,006h,056h ;ld r,nn\r
+ dw l1cfah\r
+ db 0ffh,0c6h,003h ;add a,nn\r
+ dw l1cf5h\r
+ db 0ffh,0ceh,000h ;adc a,nn\r
+ dw l1cf5h\r
+ db 0ffh,0d6h,0c9h ;sub a,nn\r
+ dw l1d09h\r
+ db 0ffh,0deh,0b7h ;sbc a,nn\r
+ dw l1cf5h\r
+ db 0ffh,0e6h,006h ;and a,nn\r
+ dw l1d09h\r
+ db 0ffh,0eeh,0cch ;xor nn\r
+ dw l1d09h\r
+ db 0ffh,0f6h,06ch ;or nn\r
+ dw l1d09h\r
+ db 0ffh,0feh,013h ;cp a,nn\r
+ dw l1d09h\r
+ db 0ffh,010h,02eh ;djnz\r
+ dw l1d1ah\r
+ db 0ffh,018h,054h ;jr\r
+ dw l1d1ah\r
+ db 0e7h,020h,054h ;jr,cc\r
+ dw l1d0fh\r
+ db 0ffh,0d3h,076h ;out (nn),a\r
+ dw l1d37h\r
+ db 0ffh,0dbh,03fh ;in a,(nn)\r
+ dw l1d29h\r
+ db 0\r
\r
; 3 byte opcodes\r
b_1b9b_start:\r
- defb 0c7h ;1b9b c7 .\r
- defb 0c2h ;1b9c c2 .\r
- defb 052h ;1b9d 52 R\r
- defw l1d42h ;1b9e 42 1d B .\r
-\r
- defb 0c7h ;1ba0 c7 .\r
- defb 0c4h ;1ba1 c4 .\r
- defb 00ch ;1ba2 0c .\r
- defw l1d42h ;1ba3 42 1d B .\r
-\r
- defb 0cfh ;1ba5 cf .\r
- defb 001h ;1ba6 01 .\r
- defb 056h ;1ba7 56 V\r
- defw l1d5ah ;1ba8 5a 1d Z .\r
-\r
- defb 0ffh ;1baa ff .\r
- defb 0c3h ;1bab c3 .\r
- defb 052h ;1bac 52 R\r
- defw l1d48h ;1bad 48 1d H .\r
-\r
- defb 0ffh ;1baf ff .\r
- defb 0cdh ;1bb0 cd .\r
- defb 00ch ;1bb1 0c .\r
- defw l1d48h ;1bb2 48 1d H .\r
-\r
- defb 0ffh ;1bb4 ff .\r
- defb 022h ;1bb5 22 "\r
- defb 056h ;1bb6 56 V\r
- defw l1d62h ;1bb7 62 1d b .\r
-\r
- defb 0ffh ;1bb9 ff .\r
- defb 02ah ;1bba 2a *\r
- defb 056h ;1bbb 56 V\r
- defw l1d6bh ;1bbc 6b 1d k .\r
-\r
- defb 0ffh ;1bbe ff .\r
- defb 032h ;1bbf 32 2\r
- defb 056h ;1bc0 56 V\r
- defw l1d74h ;1bc1 74 1d t .\r
-\r
- defb 0ffh ;1bc3 ff .\r
- defb 03ah ;1bc4 3a :\r
- defb 056h ;1bc5 56 V\r
- defw l1d7fh ;1bc6 7f 1d \7f .\r
-\r
- defb 000h ;1bc8 00 .\r
-\r
-; prefix ED + 1 byte opcode\r
+ db 0c7h,0c2h,052h ;\r
+ dw l1d42h\r
+ db 0c7h,0c4h,00ch ;\r
+ dw l1d42h\r
+ db 0cfh,001h,056h ;\r
+ dw l1d5ah\r
+ db 0ffh,0c3h,052h ;\r
+ dw l1d48h\r
+ db 0ffh,0cdh,00ch ;\r
+ dw l1d48h\r
+ db 0ffh,022h,056h ;\r
+ dw l1d62h\r
+ db 0ffh,02ah,056h ;\r
+ dw l1d6bh\r
+ db 0ffh,032h,056h ;\r
+ dw l1d74h\r
+ db 0ffh,03ah,056h ;\r
+ dw l1d7fh\r
+ db 0\r
+\r
+; Prefix ED + 1 byte opcode, no arguments\r
+; Format: opcode, t_MNEMONICS index\r
b_1bc9_start:\r
- defb 044h ;1bc9 44 D\r
- defb 066h ;1bca 66 f\r
- defb 045h ;1bcb 45 E\r
- defb 092h ;1bcc 92 .\r
- defb 04dh ;1bcd 4d M\r
- defb 08eh ;1bce 8e .\r
- defb 067h ;1bcf 67 g\r
- defb 0b1h ;1bd0 b1 .\r
- defb 06fh ;1bd1 6f o\r
- defb 0a2h ;1bd2 a2 .\r
- defb 0a0h ;1bd3 a0 .\r
- defb 05fh ;1bd4 5f _\r
- defb 0a1h ;1bd5 a1 .\r
- defb 01ch ;1bd6 1c .\r
- defb 0a2h ;1bd7 a2 .\r
- defb 04bh ;1bd8 4b K\r
- defb 0a3h ;1bd9 a3 .\r
- defb 07dh ;1bda 7d }\r
- defb 0a8h ;1bdb a8 .\r
- defb 058h ;1bdc 58 X\r
- defb 0a9h ;1bdd a9 .\r
- defb 015h ;1bde 15 .\r
- defb 0aah ;1bdf aa .\r
- defb 044h ;1be0 44 D\r
- defb 0abh ;1be1 ab .\r
- defb 079h ;1be2 79 y\r
- defb 0b0h ;1be3 b0 .\r
- defb 062h ;1be4 62 b\r
- defb 0b1h ;1be5 b1 .\r
- defb 01fh ;1be6 1f .\r
- defb 0b2h ;1be7 b2 .\r
- defb 04eh ;1be8 4e N\r
- defb 0b3h ;1be9 b3 .\r
- defb 072h ;1bea 72 r\r
- defb 0b8h ;1beb b8 .\r
- defb 05bh ;1bec 5b [\r
- defb 0b9h ;1bed b9 .\r
- defb 018h ;1bee 18 .\r
- defb 0bah ;1bef ba .\r
- defb 047h ;1bf0 47 G\r
- defb 0bbh ;1bf1 bb .\r
- defb 06eh ;1bf2 6e n\r
- defb 0ffh ;1bf3 ff .\r
+ db 044h,066h ;neg\r
+ db 045h,092h ;retn\r
+ db 04dh,08eh ;reti\r
+ db 067h,0b1h ;rrd\r
+ db 06fh,0a2h ;rld\r
+ db 0a0h,05fh ;ldi\r
+ db 0a1h,01ch ;cpi\r
+ db 0a2h,04bh ;ini\r
+ db 0a3h,07dh ;outi\r
+ db 0a8h,058h ;ldd\r
+ db 0a9h,015h ;cpd\r
+ db 0aah,044h ;ind\r
+ db 0abh,079h ;outd\r
+ db 0b0h,062h ;ldir\r
+ db 0b1h,01fh ;cpir\r
+ db 0b2h,04eh ;inir\r
+ db 0b3h,072h ;otir\r
+ db 0b8h,05bh ;lddr\r
+ db 0b9h,018h ;cpdr\r
+ db 0bah,047h ;indr\r
+ db 0bbh,06eh ;otdr\r
+ db 08bh,0d5h ;otdm\r
+ db 09bh,0d9h ;otdmr\r
+ db 083h,0deh ;otim\r
+ db 093h,0e2h ;otimr\r
+ db 076h,0ebh ;slp\r
+ db 0ffh ;<end mark>\r
\r
b_1bf4_start:\r
- defb 0e7h ;1bf4 e7 .\r
- defb 040h ;1bf5 40 @\r
- defb 03fh ;1bf6 3f ?\r
- defw l1db3h ;1bf7 b3 1d . .\r
-\r
- defb 0f7h ;1bf9 f7 .\r
- defb 060h ;1bfa 60 `\r
- defb 03fh ;1bfb 3f ?\r
- defw l1db3h ;1bfc b3 1d . .\r
-\r
- defb 0ffh ;1bfe ff .\r
- defb 078h ;1bff 78 x\r
- defb 03fh ;1c00 3f ?\r
- defw l1db3h ;1c01 b3 1d . .\r
-\r
- defb 0e7h ;1c03 e7 .\r
- defb 041h ;1c04 41 A\r
- defb 076h ;1c05 76 v\r
- defw l1dbfh ;1c06 bf 1d . .\r
-\r
- defb 0f7h ;1c08 f7 .\r
- defb 061h ;1c09 61 a\r
- defb 076h ;1c0a 76 v\r
- defw l1dbfh ;1c0b bf 1d . .\r
-\r
- defb 0ffh ;1c0d ff .\r
- defb 079h ;1c0e 79 y\r
- defb 076h ;1c0f 76 v\r
- defw l1dbfh ;1c10 bf 1d . .\r
-\r
- defb 0cfh ;1c12 cf .\r
- defb 042h ;1c13 42 B\r
- defb 0b7h ;1c14 b7 .\r
- defw l1dcah ;1c15 ca 1d . .\r
-\r
- defb 0cfh ;1c17 cf .\r
- defb 04ah ;1c18 4a J\r
- defb 000h ;1c19 00 .\r
- defw l1dcah ;1c1a ca 1d . .\r
-\r
- defb 0ffh ;1c1c ff .\r
- defb 046h ;1c1d 46 F\r
- defb 03dh ;1c1e 3d =\r
- defw l1d85h ;1c1f 85 1d . .\r
-\r
- defb 0ffh ;1c21 ff .\r
- defb 056h ;1c22 56 V\r
- defb 03dh ;1c23 3d =\r
- defw l1d89h ;1c24 89 1d . .\r
-\r
- defb 0ffh ;1c26 ff .\r
- defb 05eh ;1c27 5e ^\r
- defb 03dh ;1c28 3d =\r
- defw l1d8dh ;1c29 8d 1d . .\r
-\r
- defb 0ffh ;1c2b ff .\r
- defb 047h ;1c2c 47 G\r
- defb 056h ;1c2d 56 V\r
- defw l1d92h ;1c2e 92 1d . .\r
-\r
- defb 0ffh ;1c30 ff .\r
- defb 057h ;1c31 57 W\r
- defb 056h ;1c32 56 V\r
- defw l1d97h ;1c33 97 1d . .\r
-\r
- defb 0ffh ;1c35 ff .\r
- defb 04fh ;1c36 4f O\r
- defb 056h ;1c37 56 V\r
- defw l1d9ch ;1c38 9c 1d . .\r
-\r
- defb 0ffh ;1c3a ff .\r
- defb 05fh ;1c3b 5f _\r
- defb 056h ;1c3c 56 V\r
- defw l1da1h ;1c3d a1 1d . .\r
-\r
- defb 000h ;1c3f 00 .\r
+ db 0e7h,040h,03fh ;in r,(c) ;r=bcde\r
+ dw l1db3h ;\r
+ db 0f7h,060h,03fh ;in r,(c) ;r=hl\r
+ dw l1db3h ;\r
+ db 0ffh,078h,03fh ;in r,(c) ;r=a\r
+ dw l1db3h ;\r
+ db 0e7h,041h,076h ;out (c),r ;r=bcde\r
+ dw l1dbfh ;\r
+ db 0f7h,061h,076h ;out (c),r ;r=hl\r
+ dw l1dbfh ;\r
+ db 0ffh,079h,076h ;out (c),r ;r=a\r
+ dw l1dbfh ;\r
+ db 0cfh,042h,0b7h ;sbc hl,rr\r
+ dw l1dcah ;\r
+ db 0cfh,04ah,000h ;adc hl,rr\r
+ dw l1dcah ;\r
+ db 0ffh,046h,03dh ;im 0\r
+ dw l1d85h ;\r
+ db 0ffh,056h,03dh ;im 1\r
+ dw l1d89h ;\r
+ db 0ffh,05eh,03dh ;im 2\r
+ dw l1d8dh ;\r
+ db 0ffh,047h,056h ;ld i,a\r
+ dw l1d92h ;\r
+ db 0ffh,057h,056h ;ld a,i\r
+ dw l1d97h ;\r
+ db 0ffh,04fh,056h ;ld r,a\r
+ dw l1d9ch ;\r
+ db 0ffh,05fh,056h ;ld a,r\r
+ dw l1da1h\r
+ db 0cfh,04ch,0d2h ;mlt rr\r
+ dw l1e8bh\r
+ db 0c7h,004h,0eeh ;tst r\r
+ dw l1e28h\r
+ db 0\r
+\r
+l228bh:\r
+ db 0e7h,000h,0cfh ;\r
+ dw l230ch\r
+ db 0f7h,020h,0cfh ;\r
+ dw l230ch\r
+ db 0ffh,038h,0cfh ;in0 a,(m)\r
+ dw l230ch\r
+ db 0e7h,001h,0e7h ;\r
+ dw l2315h\r
+ db 0f7h,021h,0e7h ;\r
+ dw l2315h\r
+ db 0ffh,039h,0e7h ;out0 (m),a\r
+ dw l2315h\r
+ db 0ffh,064h,0eeh ;tst m\r
+ dw l1d09h\r
+ db 0ffh,074h,0f1h ;tstio m\r
+ dw l1d09h\r
+ db 0\r
\r
b_1c40_start:\r
- defb 0efh ;1c40 ef .\r
- defb 043h ;1c41 43 C\r
- defb 056h ;1c42 56 V\r
- defw l1dd3h ;1c43 d3 1d . .\r
-\r
- defb 0ffh ;1c45 ff .\r
- defb 073h ;1c46 73 s\r
- defb 056h ;1c47 56 V\r
- defw l1dd3h ;1c48 d3 1d . .\r
-\r
- defb 0efh ;1c4a ef .\r
- defb 04bh ;1c4b 4b K\r
- defb 056h ;1c4c 56 V\r
- defw l1ddch ;1c4d dc 1d . .\r
-\r
- defb 0ffh ;1c4f ff .\r
- defb 07bh ;1c50 7b {\r
- defb 056h ;1c51 56 V\r
- defw l1ddch ;1c52 dc 1d . .\r
-\r
- defb 000h ;1c54 00 .\r
-\r
-; DD/FD CB\r
+ db 0efh,043h,056h ;ld (mn),ww ;ww=bc,de\r
+ dw l1dd3h\r
+ db 0ffh,073h,056h ;ld (mn),sp\r
+ dw l1dd3h\r
+ db 0efh,04bh,056h ;ld ww,(mn) ;ww=bc,de\r
+ dw l1ddch\r
+ db 0ffh,07bh,056h ;ld sp,(mn)\r
+ dw l1ddch\r
+ db 0\r
+\r
+; CB\r
b_1c55_start:\r
- defb 0f8h ;1c55 f8 .\r
- defb 000h ;1c56 00 .\r
- defb 09bh ;1c57 9b .\r
- defw l1e03h ;1c58 03 1e . .\r
-\r
- defb 0f8h ;1c5a f8 .\r
- defb 008h ;1c5b 08 .\r
- defb 0aah ;1c5c aa .\r
- defw l1e03h ;1c5d 03 1e . .\r
-\r
- defb 0f8h ;1c5f f8 .\r
- defb 010h ;1c60 10 .\r
- defb 096h ;1c61 96 .\r
- defw l1e03h ;1c62 03 1e . .\r
-\r
- defb 0f8h ;1c64 f8 .\r
- defb 018h ;1c65 18 .\r
- defb 0a5h ;1c66 a5 .\r
- defw l1e03h ;1c67 03 1e . .\r
-\r
- defb 0f8h ;1c69 f8 .\r
- defb 020h ;1c6a 20\r
- defb 0c0h ;1c6b c0 .\r
- defw l1e03h ;1c6c 03 1e . .\r
-\r
- defb 0f8h ;1c6e f8 .\r
- defb 028h ;1c6f 28 (\r
- defb 0c3h ;1c70 c3 .\r
- defw l1e03h ;1c71 03 1e . .\r
-\r
- defb 0f8h ;1c73 f8 .\r
- defb 038h ;1c74 38 8\r
- defb 0c6h ;1c75 c6 .\r
- defw l1e03h ;1c76 03 1e . .\r
-\r
- defb 0c0h ;1c78 c0 .\r
- defb 040h ;1c79 40 @\r
- defb 009h ;1c7a 09 .\r
- defw l1de4h ;1c7b e4 1d . .\r
-\r
- defb 0c0h ;1c7d c0 .\r
- defb 080h ;1c7e 80 .\r
- defb 088h ;1c7f 88 .\r
- defw l1de4h ;1c80 e4 1d . .\r
-\r
- defb 0c0h ;1c82 c0 .\r
- defb 0c0h ;1c83 c0 .\r
- defb 0bdh ;1c84 bd .\r
- defw l1de4h ;1c85 e4 1d . .\r
-\r
- defb 000h ;1c87 00 .\r
+ db 0f8h,000h,09bh ;rlc g\r
+ dw l1e03h\r
+ db 0f8h,008h,0aah ;rrc g\r
+ dw l1e03h\r
+ db 0f8h,010h,096h ;rl g\r
+ dw l1e03h\r
+ db 0f8h,018h,0a5h ;rr g\r
+ dw l1e03h\r
+ db 0f8h,020h,0c0h ;sla g\r
+ dw l1e03h\r
+ db 0f8h,028h,0c3h ;sra g\r
+ dw l1e03h\r
+ db 0f8h,038h,0c6h ;srl g\r
+ dw l1e03h\r
+ db 0c0h,040h,009h ;bit b,g\r
+ dw l1de4h\r
+ db 0c0h,080h,088h ;res b,g\r
+ dw l1de4h\r
+ db 0c0h,0c0h,0bdh ;set b,g\r
+ dw l1de4h\r
+ db 0\r
\r
l1c88h:\r
call l1e28h ;1c88 cd 28 1e . ( .\r
jp l1e30h ;1c94 c3 30 1e . 0 .\r
l1c97h:\r
ret ;1c97 c9 .\r
+\r
+;-----------------------------------------------------\r
+l230ch:\r
+ call l1e28h\r
+ call prnt_char_comma\r
+ jp sub_1d2ch\r
+l2315h:\r
+ call sub_1d2ch\r
+ call prnt_char_comma\r
+ jp l1e28h\r
+;-----------------------------------------------------\r
+\r
l1c98h:\r
ld a,(iy+000h) ;1c98 fd 7e 00 . ~ .\r
and 038h ;1c9b e6 38 . 8\r
ld a,(iy+001h) ;1d09 fd 7e 01 . ~ .\r
l1d0ch:\r
jp out_hex ;1d0c c3 18 02 . . .\r
+\r
l1d0fh:\r
ld a,(iy+000h) ;1d0f fd 7e 00 . ~ .\r
and 018h ;1d12 e6 18 . .\r
inc c ;1ebf 0c .\r
ld a,c ;1ec0 79 y\r
cp 5 ;1ec1 fe 05 . .\r
- jr nz,l1ebch ;1ec3 20 f7 .\r
+ jr c,l1ebch ;1ec3 20 f7 .\r
ret ;1ec5 c9 .\r
\r
t_MNEMONICS:\r
DC 'SRL'\r
DC 'SUB'\r
DC 'XOR'\r
- if 0\r
DC 'IN0'\r
DC 'MLT'\r
DC 'OTDM'\r
DC 'SLP'\r
DC 'TST'\r
DC 'TSTIO'\r
- endif\r
DB 0\r
\r
t_BCDEHL_HL_A:\r
ret ;2038 c9 .\r
\r
b_2039_start:\r
- defb 0ffh ;2039 ff .\r
- defb 0ddh ;203a dd .\r
- defb 000h ;203b 00 .\r
- defw l20a7h ;203c a7 20 .\r
-\r
- defb 0ffh ;203e ff .\r
- defb 0fdh ;203f fd .\r
- defb 000h ;2040 00 .\r
- defw l20ach ;2041 ac 20 .\r
-\r
- defb 0ffh ;2043 ff .\r
- defb 0edh ;2044 ed .\r
- defb 000h ;2045 00 .\r
- defw l20b8h ;2046 b8 20 .\r
+ db 0ffh,0ddh,000h\r
+ dw l20a7h\r
+ db 0ffh,0fdh,000h\r
+ dw l20ach\r
+ db 0ffh,0edh,000h\r
+ dw l20b8h\r
\r
b_2048_start:\r
- defb 0ffh ;2048 ff .\r
- defb 0cdh ;2049 cd .\r
- defb 000h ;204a 00 .\r
- defw l2080h ;204b 80 20 .\r
-\r
- defb 0ffh ;204d ff .\r
- defb 0c3h ;204e c3 .\r
- defb 000h ;204f 00 .\r
- defw l208bh ;2050 8b 20 .\r
-\r
- defb 0ffh ;2052 ff .\r
- defb 0e9h ;2053 e9 .\r
- defb 000h ;2054 00 .\r
- defw l20a2h ;2055 a2 20 .\r
-\r
- defb 0ffh ;2057 ff .\r
- defb 0c9h ;2058 c9 .\r
- defb 000h ;2059 00 .\r
- defw l20dch ;205a dc 20 .\r
-\r
- defb 0ffh ;205c ff .\r
- defb 0cfh ;205d cf .\r
- defb 000h ;205e 00 .\r
- defw l2115h ;205f 15 21 . !\r
-\r
- defb 0c7h ;2061 c7 .\r
- defb 0c7h ;2062 c7 .\r
- defb 000h ;2063 00 .\r
- defw l20f9h ;2064 f9 20 .\r
-\r
- defb 0c7h ;2066 c7 .\r
- defb 0c4h ;2067 c4 .\r
- defb 000h ;2068 00 .\r
- defw l2080h ;2069 80 20 .\r
-\r
- defb 0f7h ;206b f7 .\r
- defb 010h ;206c 10 .\r
- defb 000h ;206d 00 .\r
- defw l2093h ;206e 93 20 .\r
-\r
- defb 0e7h ;2070 e7 .\r
- defb 020h ;2071 20\r
- defb 000h ;2072 00 .\r
- defw l2093h ;2073 93 20 .\r
-\r
- defb 0c7h ;2075 c7 .\r
- defb 0c2h ;2076 c2 .\r
- defb 000h ;2077 00 .\r
- defw l208bh ;2078 8b 20 .\r
-\r
- defb 0c7h ;207a c7 .\r
- defb 0c0h ;207b c0 .\r
- defb 000h ;207c 00 .\r
- defw l20c5h ;207d c5 20 .\r
-\r
- defb 000h ;207f 00 .\r
+ db 0ffh,0cdh,000h\r
+ dw l2080h\r
+ db 0ffh,0c3h,000h\r
+ dw l208bh\r
+ db 0ffh,0e9h,000h\r
+ dw l20a2h\r
+ db 0ffh,0c9h,000h\r
+ dw l20dch\r
+ db 0ffh,0cfh,000h\r
+ dw l2115h\r
+ db 0c7h,0c7h,000h\r
+ dw l20f9h\r
+ db 0c7h,0c4h,000h\r
+ dw l2080h\r
+ db 0f7h,010h,000h\r
+ dw l2093h\r
+ db 0e7h,020h,000h\r
+ dw l2093h\r
+ db 0c7h,0c2h,000h\r
+ dw l208bh\r
+ db 0c7h,0c0h,000h\r
+ dw l20c5h\r
+ db 0\r
\r
l2080h:\r
ld a,(b_21e2_start) ;2080 3a e2 21 : . !\r
ddtz_end:\r
\r
;-------------------------------------------------------------------------------\r
- .dephase\r
-bitmap:\r
- db 000H,000H,000H,000H,000H,000H,000H,000H\r
- db 000H,000H,000H,000H,001H,044H,040H,000H\r
- db 000H,010H,084H,090H,080H,010H,000H,001H\r
- db 024H,092H,049H,009H,024H,084H,080H,004H\r
- db 080H,048H,055H,055H,055H,055H,055H,055H\r
- db 054H,024H,042H,048H,000H,010H,000H,000H\r
- db 000H,080H,000H,080H,002H,008H,010H,082H\r
- db 004H,000H,080H,084H,044H,008H,024H,000H\r
- db 084H,004H,082H,001H,000H,000H,041H,000H\r
- db 008H,021H,002H,000H,000H,090H,000H,020H\r
- db 020H,001H,000H,092H,004H,021H,009H,000H\r
- db 000H,008H,010H,088H,004H,080H,000H,000H\r
- db 004H,000H,020H,000H,000H,001H,000H,080H\r
- db 020H,000H,084H,081H,004H,090H,040H,040H\r
- db 010H,001H,001H,008H,002H,000H,000H,000H\r
- db 091H,004H,000H,000H,000H,000H,024H,000H\r
- db 000H,000H,010H,080H,00AH,0AAH,044H,020H\r
- db 002H,000H,000H,000H,000H,008H,040H,000H\r
- db 000H,000H,000H,000H,000H,000H,048H,088H\r
- db 000H,00AH,0AAH,0A1H,012H,042H,008H,020H\r
- db 002H,008H,000H,000H,000H,008H,002H,042H\r
- db 040H,000H,000H,000H,001H,000H,001H,000H\r
- db 021H,000H,000H,001H,000H,048H,020H,000H\r
- db 010H,008H,000H,020H,040H,090H,004H,000H\r
- db 010H,010H,000H,000H,000H,001H,024H,090H\r
- db 080H,090H,092H,004H,001H,024H,092H,010H\r
- db 092H,041H,008H,010H,021H,002H,042H,010H\r
- db 000H,000H,012H,010H,048H,000H,000H,000H\r
- db 000H,024H,092H,049H,024H,092H,009H,021H\r
- db 024H,020H,090H,040H,008H,001H,000H,009H\r
- db 009H,011H,000H,080H,008H,004H,000H,008H\r
- db 000H,001H,020H,012H,010H,008H,000H,042H\r
- db 049H,000H,010H,001H,020H,011H,000H,040H\r
- db 020H,010H,000H,040H,000H,012H,000H,091H\r
- db 000H,044H,080H,021H,024H,040H,009H,010H\r
- db 089H,000H,010H,008H,040H,024H,010H,088H\r
- db 049H,024H,020H,041H,000H,001H,022H,000H\r
- db 000H,000H,010H,000H,000H,000H,020H,001H\r
- db 000H,000H,020H,000H,000H,010H,000H,012H\r
- db 000H,008H,000H,000H,004H,000H,002H,000H\r
- db 000H,004H,000H,040H,000H,091H,020H,012H\r
- db 012H,000H,000H,012H,000H,000H,000H,000H\r
- db 048H,020H,002H,008H,002H,000H,000H,000H\r
- db 000H,000H,000H,000H,000H,000H,000H,000H\r
- db 000H,000H,000H,050H,000H,000H,000H,000H\r
- db 000H,000H,000H,000H,000H,000H,000H,000H\r
- db 000H,000H,000H,000H,000H,000H,008H,011H\r
- db 024H,024H,004H,000H,010H,080H,092H,048H\r
- db 000H,022H,049H,009H,008H,000H,002H,010H\r
- db 040H,012H,042H,024H,044H,081H,024H,082H\r
- db 048H,000H,020H,020H,080H,000H,081H,020H\r
- db 000H,000H,000H,000H,000H,000H,000H,009H\r
- db 024H,092H,049H,024H,092H,049H,024H,092H\r
- db 049H,024H,092H,049H,024H,089H,024H,001H\r
- db 000H,004H,009H,021H,004H,092H,040H,048H\r
- db 090H,049H,022H,024H,090H,008H,002H,044H\r
- db 089H,011H,000H,000H,020H,080H,000H,001H\r
- db 024H,044H,000H,080H,092H,049H,024H,091H\r
- db 020H,041H,008H,081H,000H,004H,000H,008H\r
- db 040H,010H,000H,000H,000H,092H,002H,008H\r
- db 004H,000H,004H,000H,000H,000H,000H,001H\r
- db 002H,024H,082H,002H,048H,009H,000H,010H\r
- db 020H,048H,002H,020H,000H,000H,000H,000H\r
- db 000H,041H,000H,000H,000H,042H,008H,000H\r
- db 004H,000H,000H,002H,000H,000H,010H,000H\r
- db 000H,000H,000H,004H,001H,002H,042H,020H\r
- db 084H,000H,088H,004H,000H,004H,080H,011H\r
- db 010H,012H,004H,008H,041H,020H,020H,010H\r
- db 089H,002H,008H,000H,000H,010H,040H,004H\r
- db 081H,022H,042H,024H,020H,000H,049H,024H\r
- db 092H,048H,000H,000H,024H,000H,000H,020H\r
- db 082H,000H,000H,020H,000H,008H,024H,004H\r
- db 090H,048H,082H,044H,008H,001H,020H,044H\r
- db 000H,082H,020H,011H,000H,024H,092H,004H\r
- db 080H,024H,092H,049H,024H,092H,049H,024H\r
- db 092H,049H,024H,092H,049H,024H,092H,049H\r
- db 024H,092H,049H,024H,092H,049H,024H,092H\r
- db 049H,024H,088H,049H,024H,082H,010H,089H\r
- db 024H,090H,081H,020H,000H,001H,004H,000H\r
- db 000H,010H,001H,020H,000H,011H,020H,001H\r
- db 010H,008H,000H,000H,040H,010H,040H,080H\r
- db 020H,000H,024H,008H,024H,090H,092H,004H\r
- db 024H,090H,000H,001H,024H,020H,002H,040H\r
- db 000H,000H,009H,000H,021H,024H,009H,000H\r
- db 090H,090H,088H,008H,001H,000H,048H,004H\r
- db 002H,000H,012H,012H,040H,000H,012H,010H\r
- db 092H,004H,090H,049H,021H,000H,040H,021H\r
- db 008H,022H,009H,009H,002H,040H,000H,002H\r
- db 000H,012H,042H,040H,000H,000H,081H,000H\r
- db 049H,000H,022H,009H,000H,020H,092H,001H\r
- db 000H,010H,000H,010H,020H,004H,092H,000H\r
- db 000H,048H,000H,090H,082H,009H,000H,000H\r
- db 048H,042H,049H,024H,090H,090H,000H,092H\r
- db 000H,092H,044H,020H,000H,000H,000H,000H\r
- db 000H,000H,000H,021H,008H,048H,020H,002H\r
- db 000H,000H,024H,002H,000H,010H,000H,012H\r
- db 040H,008H,044H,002H,020H,000H,084H,080H\r
- db 048H,000H,080H,000H,090H,000H,080H,000H\r
- db 042H,000H,000H,040H,001H,002H,008H,000H\r
- db 088H,001H,024H,020H,090H,080H,024H,000H\r
- db 081H,000H,002H,040H,008H,001H,024H,048H\r
- db 048H,008H,008H,041H,008H,090H,044H,048H\r
- db 048H,001H,001H,000H,001H,020H,012H,010H\r
- db 002H,041H,020H,000H,000H,000H,000H,000H\r
- db 000H,000H,000H,004H,082H,041H,020H,008H\r
- db 009H,001H,020H,090H,048H,024H,000H,000H\r
- db 010H,040H,000H,000H,000H,000H,080H,000H\r
- db 000H,000H,004H,021H,008H,042H,010H,084H\r
- db 021H,008H,042H,010H,084H,021H,008H,042H\r
- db 010H,084H,020H,084H,021H,008H,042H,010H\r
- db 084H,021H,008H,041H,008H,042H,010H,084H\r
- db 021H,000H,000H,000H,000H,000H,000H,084H\r
- db 021H,008H,042H,010H,084H,021H,008H,042H\r
- db 008H,042H,010H,042H,010H,084H,021H,008H\r
- db 042H,024H,092H,001H,024H,080H,024H,024H\r
- db 092H,041H,024H,092H,049H,009H,009H,009H\r
- db 020H,002H,002H,040H,000H,010H,082H,048H\r
- db 049H,000H,024H,089H,009H,024H,092H,042H\r
- db 048H,000H,048H,042H,012H,000H,004H,092H\r
- db 049H,009H,024H,092H,042H,000H,000H,009H\r
- db 004H,000H,001H,000H,021H,000H,000H,010H\r
- db 012H,009H,002H,010H,004H,004H,024H,000H\r
- db 090H,084H,000H,000H,001H,004H,090H,092H\r
- db 000H,000H,000H,000H,000H,000H,000H,000H\r
- db 000H,000H,000H,000H,000H,000H,000H,000H\r
- db 000H,000H,000H,000H,000H,000H,000H,000H\r
- db 000H,000H,000H,000H,000H,000H,000H,000H\r
- db 000H,000H,000H,000H,000H,000H,000H,000H\r
- db 080H,004H,012H,041H,011H,024H,012H,004H\r
- db 021H,008H,042H,010H,084H,021H,008H,042H\r
- db 020H,080H,000H,008H,008H,042H,000H,000H\r
- db 000H,024H,020H,002H,008H,021H,002H,010H\r
- db 000H,020H,080H,040H,049H,000H,080H,048H\r
- db 009H,012H,012H,004H,084H,084H,009H,001H\r
- db 001H,022H,004H,022H,024H,088H,000H,024H\r
- db 084H,000H,000H,000H,000H,000H,000H,01AH\r
- db 004H,000H,001H,000H,021H,000H,000H,010H\r
- db 012H,009H,002H,010H,004H,004H,024H,000H\r
- db 090H,084H,000H,000H,001H,004H,090H,092H\r
- db 000H,000H,000H,000H,000H,000H,000H,000H\r
- db 000H,000H,000H,000H,000H,000H,000H,000H\r
- db 000H,000H,000H,000H,000H,000H,000H,000H\r
- db 000H,000H,000H,000H,000H,000H,000H,000H\r
- db 000H,000H,000H,000H,000H,000H,000H,000H\r
- db 080H,004H,012H,041H,011H,024H,012H,004H\r
- db 021H,008H,042H,010H,084H,021H,008H,042H\r
- db 020H,080H,000H,008H,008H,042H,000H,000H\r
- db 000H,024H,020H,002H,008H,021H,002H,010H\r
- db 000H,020H,080H,040H,049H,000H,080H,048H\r
- db 009H,012H,012H,004H,084H,084H,009H,001H\r
- db 001H,022H,004H,022H,024H,088H,000H,024H\r
- db 084H,000H,000H,000H,000H,000H,000H\r
\r
end\r