; Disassembled ddtz.com, version "DDT/Z [8101]"\r
-; with modified relocater.\r
;\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
+; Assemble with M80 or a compatible assembler\r
+; to (re)create the original .com file.\r
\r
;-------------------------------------------------------------------------------\r
; Relocation loader\r
;\r
+ ASEG\r
+ ORG 00100H\r
\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 SP,ldr_end+stack\r
LD C,BDOS_PSTR\r
+ LD DE,ldr_end+expr_buf\r
CALL BDOS\r
-\r
- LD HL,ldr_end+ddtz_size ;start of reloc bitmap\r
- ld bc,0108h ;init bit counter\r
-\r
+ LD HL,bitmap\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 ;size rounded up to next page boundary\r
- INC BC ;ddtz_size\r
- OR A\r
- SBC HL,DE ;BDOS - size\r
- LD (BDOS+1),HL ;-> new BDOS entry\r
-\r
- push hl\r
+ INC DE\r
+ INC BC\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
+ 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
EXX\r
- djnz reloc_nl\r
- ld b,c ;reload bit counter\r
- LD e,(HL) ;get next 8 relocation bits\r
+ LD A,(HL)\r
INC HL\r
-reloc_nl:\r
- sla e\r
EXX\r
- JR NC,reloc_next\r
+ EX AF,AF'\r
+A0133: EX AF,AF'\r
+ ADD A,A\r
+ JR NC,A0141\r
+ EX AF,AF'\r
DEC HL\r
LD A,(HL)\r
ADD A,E\r
LD A,(HL)\r
ADC A,D\r
LD (HL),A\r
-reloc_next:\r
- cpi\r
- jp pe,reloc_lp\r
- dec hl\r
-\r
+ EX AF,AF'\r
+A0141: EX AF,AF'\r
+ DEC BC\r
+ LD A,B\r
+ OR C\r
+ JR NZ,A0128\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-ddtz_base\r
+ LD HL,conbuf+2\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
- .dephase\r
+ .phase 0\r
;-------------------------------------------------------------------------------\r
; DDT/Z core\r
;\r
ld de,conbuf+1 ;015a 11 6b 00 . k .\r
ld a,(de) ;015d 1a .\r
ld b,a ;015e 47 G\r
- ld c,000h ;015f 0e 00 . .\r
+ ld c,0 ;015f 0e 00 . .\r
inc b ;0161 04 .\r
l0162h:\r
inc de ;0162 13 .\r
ex af,af' ;0257 08 .\r
jr c,l022dh ;0258 38 d3 8 .\r
ret ;025a c9 .\r
+\r
outquote:\r
ld a,'''' ;025b 3e 27 > '\r
outchar:\r
pop hl ;0286 e1 .\r
ret ;0287 c9 .\r
pstr:\r
- ld c,000h ;0288 0e 00 . .\r
+ ld c,0 ;0288 0e 00 . .\r
l028ah:\r
ld a,(hl) ;028a 7e ~\r
and a ;028b a7 .\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
and a ;033a a7 .\r
pop bc ;033b c1 .\r
ret ;033c c9 .\r
-sub_033dh:\r
+\r
+sel_dc_string:\r
inc b ;033d 04 .\r
l033eh:\r
dec b ;033e 05 .\r
ret z ;033f c8 .\r
call sub_0345h ;0340 cd 45 03 . E .\r
jr l033eh ;0343 18 f9 . .\r
+\r
sub_0345h:\r
ld a,(hl) ;0345 7e ~\r
and a ;0346 a7 .\r
and a ;034a a7 .\r
ret m ;034b f8 .\r
jr l0348h ;034c 18 fa . .\r
+\r
sub_034eh:\r
call get_arg_range ;034e cd 7d 03 . } .\r
push hl ;0351 e5 .\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 bc ;0437 c5 .\r
call do_factor ;0438 cd e4 04 . . .\r
pop bc ;043b c1 .\r
- ex de,hl ;043c eb .\r
- ex (sp),hl ;043d e3 .\r
+ ex de,hl ;043c eb .\r
+ ex (sp),hl ;043d e3 .\r
jr nc,l0447h ;043e 30 07 0 .\r
pop de ;0440 d1 .\r
ld a,b ;0441 78 x\r
sub '0' ;062a d6 30 . 0\r
ret ;062c c9 .\r
\r
-prnt_cpustat0:\r
+p_cpustat0:\r
call assert_eol ;062d cd d6 02 . . .\r
-prnt_cpustat:\r
- call prnt_f ;0630 cd 6e 06 . n .\r
+p_cpustat:\r
+ call p_f ;0630 cd 6e 06 . n .\r
call outbl2 ;0633 cd 9c 02 . . .\r
ld hl,b_06e9_start ;0636 21 e9 06 ! . .\r
ld de,b_0709_start ;0639 11 09 07 . . .\r
ld b,6 ;063c 06 06 . .\r
l063eh:\r
- call prnt_regs ;063e cd b2 06 . . .\r
+ call p_regs ;063e cd b2 06 . . .\r
djnz l063eh ;0641 10 fb . .\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 p_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
- call prnt_f2 ;0651 cd 81 06 . . .\r
+ call p_f2 ;0651 cd 81 06 . . .\r
call outbl2 ;0654 cd 9c 02 . . .\r
pop de ;0657 d1 .\r
pop hl ;0658 e1 .\r
ld b,7 ;0659 06 07 . .\r
l065bh:\r
- call prnt_regs ;065b cd b2 06 . . .\r
+ call p_regs ;065b cd b2 06 . . .\r
djnz l065bh ;065e 10 fb . .\r
exx ;0660 d9 .\r
ex af,af' ;0661 08 .\r
and a ;0662 a7 .\r
jr z,l066bh ;0663 28 06 ( .\r
call outbl6 ;0665 cd 96 02 . . .\r
- call prnt_offset ;0668 cd 49 19 . I .\r
+ call p_offset ;0668 cd 49 19 . I .\r
l066bh:\r
jp crlf ;066b c3 a3 02 . . .\r
\r
-prnt_f:\r
+p_f:\r
ld a,(reg.f) ;066e 3a 54 00 : T .\r
- call prnt_flags ;0671 cd 8a 06 . . .\r
+ call p_flags ;0671 cd 8a 06 . . .\r
ld a,(reg.iff) ;0674 3a 5e 00 : ^ .\r
cp 0f3h ;0677 fe f3 . .\r
jp z,outbl ;0679 ca 9f 02 . . .\r
ld a,'E' ;067c 3e 45 > E\r
jp outchar ;067e c3 5d 02 . ] .\r
-prnt_f2:\r
+p_f2:\r
ld a,(reg.f2) ;0681 3a 4c 00 : L .\r
- call prnt_flags ;0684 cd 8a 06 . . .\r
+ call p_flags ;0684 cd 8a 06 . . .\r
jp outbl ;0687 c3 9f 02 . . .\r
-prnt_flags:\r
+p_flags:\r
ld b,a ;068a 47 G\r
ld a,'S' ;068b 3e 53 > S\r
call sub_06aah ;068d cd aa 06 . . .\r
rl b ;06aa cb 10 . .\r
jp c,outchar ;06ac da 5d 02 . ] .\r
jp outbl ;06af c3 9f 02 . . .\r
-prnt_regs:\r
+\r
+p_regs:\r
push bc ;06b2 c5 .\r
push de ;06b3 d5 .\r
call pstr ;06b4 cd 88 02 . . .\r
jp z,l2151h ;08ff ca 51 21 . Q !\r
l0902h:\r
call bp_clr_temporary ;0902 cd 54 07 . T .\r
- call prnt_cpustat ;0905 cd 30 06 . 0 .\r
+ call p_cpustat ;0905 cd 30 06 . 0 .\r
jp mainloop ;0908 c3 bd 00 . . .\r
\r
l090bh:\r
ld (b_21e2_start),a ;0a26 32 e2 21 2 . !\r
ld a,(l0941h) ;0a29 3a 41 09 : A .\r
and a ;0a2c a7 .\r
- call nz,prnt_cpustat ;0a2d c4 30 06 . 0 .\r
+ call nz,p_cpustat ;0a2d c4 30 06 . 0 .\r
call sub_09a6h ;0a30 cd a6 09 . . .\r
ld c,007h ;0a33 0e 07 . .\r
jr nz,l0a41h ;0a35 20 0a .\r
\r
expr_buf:\r
db 'DDT/Z',TAB\r
- db '[8101] 001',CR,LF,'$'\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
\r
ds EXPR_BUF_SIZE - ($ - expr_buf)\r
expr_bufe:\r
cmd_X:\r
call skipbl ;0bf1 cd bf 02 . . .\r
call sub_0caeh ;0bf4 cd ae 0c . . .\r
- jp nc,prnt_cpustat0 ;0bf7 d2 2d 06 . - .\r
+ jp nc,p_cpustat0 ;0bf7 d2 2d 06 . - .\r
call assert_eol ;0bfa cd d6 02 . . .\r
ld a,b ;0bfd 78 x\r
cp 01eh ;0bfe fe 1e . .\r
jp z,ERROR ;0c08 ca 07 01 . . .\r
ex de,hl ;0c0b eb .\r
ld hl,b_0cc3_start ;0c0c 21 c3 0c ! . .\r
- call sub_033dh ;0c0f cd 3d 03 . = .\r
+ call sel_dc_string ;0c0f cd 3d 03 . = .\r
l0c12h:\r
call l0c33h ;0c12 cd 33 0c . 3 .\r
l0c15h:\r
jp out.hl.@ ;0c4c c3 a4 01 . . .\r
\r
l0c4fh:\r
- call prnt_f ;0c4f cd 6e 06 . n .\r
+ call p_f ;0c4f cd 6e 06 . n .\r
ld a,0f3h ;0c52 3e f3 > .\r
ld (reg.iff),a ;0c54 32 5e 00 2 ^ .\r
scf ;0c57 37 7\r
ld (reg.f),a ;0c5b 32 54 00 2 T .\r
ret ;0c5e c9 .\r
l0c5fh:\r
- call prnt_f2 ;0c5f cd 81 06 . . .\r
+ call p_f2 ;0c5f cd 81 06 . . .\r
and a ;0c62 a7 .\r
call sub_0c6ah ;0c63 cd 6a 0c . j .\r
ld (reg.f2),a ;0c66 32 4c 00 2 L .\r
\r
cmd_H:\r
call expr ;0e3d cd be 03 . . .\r
- jp c,prnt_max_high0 ;0e40 da 6f 11 . o .\r
+ jp c,p_max_high0 ;0e40 da 6f 11 . o .\r
call next_arg ;0e43 cd ca 02 . . .\r
push hl ;0e46 e5 .\r
call expr ;0e47 cd be 03 . . .\r
l108eh:\r
call read_sector ;108e cd 21 11 . ! .\r
pop hl ;1091 e1 .\r
- jp z,prnt_max_high ;1092 ca 72 11 . r .\r
+ jp z,p_max_high ;1092 ca 72 11 . r .\r
ld de,DMA_BUF ;1095 11 80 00 . . .\r
ld b,080h ;1098 06 80 . .\r
l109ah:\r
jr l10aeh ;10e2 18 ca . .\r
rdhex_done:\r
pop hl ;10e4 e1 .\r
- jp prnt_max_high ;10e5 c3 72 11 . r .\r
+ jp p_max_high ;10e5 c3 72 11 . r .\r
\r
read_hexchar:\r
call read_hexdigit ;10e8 cd f9 10 . . .\r
djnz strncmp ;116c 10 f9 . .\r
ret ;116e c9 .\r
\r
-prnt_max_high0:\r
+p_max_high0:\r
call assert_eol ;116f cd d6 02 . . .\r
-prnt_max_high:\r
+p_max_high:\r
ld hl,msg_high ;1172 21 8d 11 ! . .\r
call pstr ;1175 cd 88 02 . . .\r
ld hl,(high_load) ;1178 2a 9c 11 * . .\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 p_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
+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 p_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 p_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
+p_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 p_disas_instr ;193a cd 65 19 . e .\r
and a ;193d a7 .\r
ret z ;193e c8 .\r
\r
cp 16 ;1945 fe 10 . .\r
jr c,l193fh ;1947 38 f6 8 .\r
\r
-prnt_offset:\r
+p_offset:\r
ld de,(offs.@) ;1949 ed 5b 64 00 . [ d .\r
ld a,d ;194d 7a z\r
or e ;194e b3 .\r
ld a,')' ;1960 3e 29 > )\r
jp outchar ;1962 c3 5d 02 . ] .\r
\r
-sub_1965h:\r
+p_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
jr nc,l197fh ;196c 30 11 0 .\r
push bc ;196e c5 .\r
- call prnt_mnemonic ;196f cd b9 1e . . .\r
+ call p_mnemonic ;196f cd b9 1e . . .\r
ex de,hl ;1972 eb .\r
- call sub_19c1h ;1973 cd c1 19 . . .\r
+ call CALL_HL2 ;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
+CALL_HL2:\r
jp (hl) ;19c1 e9 .\r
\r
disas_pfx.DDFD:\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
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 p_arg_r_r\r
+ db 0f8h,080h,003h ;add a,r\r
+ dw p_arg_a_r\r
+ db 0f8h,088h,000h ;adc a,r\r
+ dw p_arg_a_r\r
+ db 0f8h,090h,0c9h ;sub r\r
+ dw p_arg_rs\r
+ db 0f8h,098h,0b7h ;sbc a,r\r
+ dw p_arg_a_r\r
+ db 0f8h,0a0h,006h ;and r\r
+ dw p_arg_rs\r
+ db 0f8h,0a8h,0cch ;xor r\r
+ dw p_arg_rs\r
+ db 0f8h,0b0h,06ch ;or r\r
+ dw p_arg_rs\r
+ db 0f8h,0b8h,013h ;cp r\r
+ dw p_arg_rs\r
+ db 0c7h,0c0h,08bh ;ret cc\r
+ dw p_arg_cc\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 p_arg_zz\r
+ db 0cfh,0c5h,084h ;push rr\r
+ dw p_arg_zz\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 p_arg_ex_dehl\r
+ db 0ffh,0f9h,056h ;ld sp,hl\r
+ dw l1cc1h\r
+ db 0cfh,003h,041h ;inc rr\r
+ dw p_arg_ww\r
+ db 0cfh,00bh,029h ;dec rr\r
+ dw p_arg_ww\r
+ db 0c7h,004h,041h ;inc r\r
+ dw p_arg_r\r
+ db 0c7h,005h,029h ;dec r\r
+ dw p_arg_r\r
+ db 0ffh,008h,034h ;ex af,af'\r
+ dw p_arg_ex_afaf\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 ;jp cc,mn\r
+ dw p_arg_cc_mn\r
+ db 0c7h,0c4h,00ch ;call cc,mn\r
+ dw p_arg_cc_mn\r
+ db 0cfh,001h,056h ;ld ww,mn\r
+ dw p_arg_ww_mn\r
+ db 0ffh,0c3h,052h ;jp mn\r
+ dw p_arg_mn\r
+ db 0ffh,0cdh,00ch ;call mn\r
+ dw p_arg_mn\r
+ db 0ffh,022h,056h ;ld (mn),hl\r
+ dw p_arg_addr_hl\r
+ db 0ffh,02ah,056h ;ld hl,(mn)\r
+ dw p_arg_hl_addr\r
+ db 0ffh,032h,056h ;ld (mn),a\r
+ dw p_arg_addr_a\r
+ db 0ffh,03ah,056h ;ld a,(mn)\r
+ dw p_arg_a_addr\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 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=b,c,d,e\r
+ dw p_arg_in_c ;\r
+ db 0f7h,060h,03fh ;in r,(c) ;r=h,l\r
+ dw p_arg_in_c ;\r
+ db 0ffh,078h,03fh ;in r,(c) ;r=a\r
+ dw p_arg_in_c ;\r
+ db 0e7h,041h,076h ;out (c),r ;r=b,c,d,e\r
+ dw p_arg_out_c ;\r
+ db 0f7h,061h,076h ;out (c),r ;r=h,l\r
+ dw p_arg_out_c ;\r
+ db 0ffh,079h,076h ;out (c),r ;r=a\r
+ dw p_arg_out_c ;\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 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 p_arg_addr_ww\r
+ db 0ffh,073h,056h ;ld (mn),sp\r
+ dw p_arg_addr_ww\r
+ db 0efh,04bh,056h ;ld ww,(mn) ;ww=bc,de\r
+ dw p_arg_ww_addr\r
+ db 0ffh,07bh,056h ;ld sp,(mn)\r
+ dw p_arg_ww_addr\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
-\r
-l1c88h:\r
- call l1e28h ;1c88 cd 28 1e . ( .\r
- call prnt_char_comma ;1c8b cd b4 1e . . .\r
- jp l1e30h ;1c8e c3 30 1e . 0 .\r
-l1c91h:\r
- call prnt_A_comma ;1c91 cd b1 1e . . .\r
- jp l1e30h ;1c94 c3 30 1e . 0 .\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 p_arg_bitop\r
+ db 0c0h,080h,088h ;res b,g\r
+ dw p_arg_bitop\r
+ db 0c0h,0c0h,0bdh ;set b,g\r
+ dw p_arg_bitop\r
+ db 0\r
+\r
+p_arg_r_r:\r
+ call p_arg_r ;1c88 cd 28 1e . ( .\r
+ call p_char_comma ;1c8b cd b4 1e . . .\r
+ jp p_arg_rs ;1c8e c3 30 1e . 0 .\r
+p_arg_a_r:\r
+ call p_A_comma ;1c91 cd b1 1e . . .\r
+ jp p_arg_rs ;1c94 c3 30 1e . 0 .\r
l1c97h:\r
ret ;1c97 c9 .\r
l1c98h:\r
ld a,(iy+000h) ;1c98 fd 7e 00 . ~ .\r
and 038h ;1c9b e6 38 . 8\r
jp out_hex ;1c9d c3 18 02 . . .\r
+\r
l1ca0h:\r
ld hl,b_1ca9_start ;1ca0 21 a9 1c ! . .\r
call pstr ;1ca3 cd 88 02 . . .\r
- jp l1e7eh ;1ca6 c3 7e 1e . ~ .\r
+ jp p_arg_hlixiy ;1ca6 c3 7e 1e . ~ .\r
\r
b_1ca9_start:\r
DC '(SP),'\r
+\r
l1caeh:\r
ld a,'(' ;1cae 3e 28 > (\r
call outchar ;1cb0 cd 5d 02 . ] .\r
- call l1e7eh ;1cb3 cd 7e 1e . ~ .\r
+ call p_arg_hlixiy ;1cb3 cd 7e 1e . ~ .\r
ld a,')' ;1cb6 3e 29 > )\r
jp outchar ;1cb8 c3 5d 02 . ] .\r
-l1cbbh:\r
+p_arg_ex_dehl:\r
ld hl,l1773h ;1cbb 21 73 17 ! s .\r
jp pstr ;1cbe c3 88 02 . . .\r
+\r
l1cc1h:\r
ld hl,b_1cca_start ;1cc1 21 ca 1c ! . .\r
call pstr ;1cc4 cd 88 02 . . .\r
- jp l1e7eh ;1cc7 c3 7e 1e . ~ .\r
+ jp p_arg_hlixiy ;1cc7 c3 7e 1e . ~ .\r
\r
b_1cca_start:\r
DC 'SP,'\r
-l1ccdh:\r
+\r
+p_arg_ex_afaf:\r
ld hl,b_176d_start ;1ccd 21 6d 17 ! m .\r
jp pstr ;1cd0 c3 88 02 . . .\r
+\r
l1cd3h:\r
- call l1e7eh ;1cd3 cd 7e 1e . ~ .\r
- call prnt_char_comma ;1cd6 cd b4 1e . . .\r
- jp l1e8bh ;1cd9 c3 8b 1e . . .\r
+ call p_arg_hlixiy ;1cd3 cd 7e 1e . ~ .\r
+ call p_char_comma ;1cd6 cd b4 1e . . .\r
+ jp p_arg_ww ;1cd9 c3 8b 1e . . .\r
l1cdch:\r
call sub_1ce8h ;1cdc cd e8 1c . . .\r
- call prnt_char_comma ;1cdf cd b4 1e . . .\r
- jp prnt_char_A ;1ce2 c3 3d 1d . = .\r
+ call p_char_comma ;1cdf cd b4 1e . . .\r
+ jp p_char_A ;1ce2 c3 3d 1d . = .\r
\r
l1ce5h:\r
- call prnt_A_comma ;1ce5 cd b1 1e . . .\r
+ call p_A_comma ;1ce5 cd b1 1e . . .\r
sub_1ce8h:\r
ld a,'(' ;1ce8 3e 28 > (\r
call outchar ;1cea cd 5d 02 . ] .\r
- call l1e8bh ;1ced cd 8b 1e . . .\r
+ call p_arg_ww ;1ced cd 8b 1e . . .\r
ld a,')' ;1cf0 3e 29 > )\r
jp outchar ;1cf2 c3 5d 02 . ] .\r
l1cf5h:\r
- call prnt_A_comma ;1cf5 cd b1 1e . . .\r
+ call p_A_comma ;1cf5 cd b1 1e . . .\r
jr l1d09h ;1cf8 18 0f . .\r
l1cfah:\r
- call l1e28h ;1cfa cd 28 1e . ( .\r
- call prnt_char_comma ;1cfd cd b4 1e . . .\r
+ call p_arg_r ;1cfa cd 28 1e . ( .\r
+ call p_char_comma ;1cfd cd b4 1e . . .\r
ld a,(isprefix_ixiy) ;1d00 3a f8 1f : . .\r
and a ;1d03 a7 .\r
ld a,(iy+002h) ;1d04 fd 7e 02 . ~ .\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
- call sub_1ea0h ;1d14 cd a0 1e . . .\r
- call prnt_char_comma ;1d17 cd b4 1e . . .\r
+ call p_arg_cc0 ;1d14 cd a0 1e . . .\r
+ call p_char_comma ;1d17 cd b4 1e . . .\r
l1d1ah:\r
ld c,(iy+001h) ;1d1a fd 4e 01 . N .\r
ld a,c ;1d1d 79 y\r
inc hl ;1d26 23 #\r
jr l1d4eh ;1d27 18 25 . %\r
l1d29h:\r
- call prnt_A_comma ;1d29 cd b1 1e . . .\r
+ call p_A_comma ;1d29 cd b1 1e . . .\r
sub_1d2ch:\r
ld a,'(' ;1d2c 3e 28 > (\r
call outchar ;1d2e cd 5d 02 . ] .\r
jp l1e6bh ;1d34 c3 6b 1e . k .\r
l1d37h:\r
call sub_1d2ch ;1d37 cd 2c 1d . , .\r
- call prnt_char_comma ;1d3a cd b4 1e . . .\r
-prnt_char_A:\r
+ call p_char_comma ;1d3a cd b4 1e . . .\r
+p_char_A:\r
ld a,'A' ;1d3d 3e 41 > A\r
jp outchar ;1d3f c3 5d 02 . ] .\r
\r
-l1d42h:\r
- call l1e9dh ;1d42 cd 9d 1e . . .\r
- call prnt_char_comma ;1d45 cd b4 1e . . .\r
-l1d48h:\r
+p_arg_cc_mn:\r
+ call p_arg_cc ;1d42 cd 9d 1e . . .\r
+ call p_char_comma ;1d45 cd b4 1e . . .\r
+p_arg_mn:\r
ld l,(iy+001h) ;1d48 fd 6e 01 . n .\r
ld h,(iy+002h) ;1d4b fd 66 02 . f .\r
l1d4eh:\r
ld (l1ffbh),hl ;1d53 22 fb 1f " . .\r
call out_hl ;1d56 cd 13 02 . . .\r
ret ;1d59 c9 .\r
-l1d5ah:\r
- call l1e8bh ;1d5a cd 8b 1e . . .\r
- call prnt_char_comma ;1d5d cd b4 1e . . .\r
- jr l1d48h ;1d60 18 e6 . .\r
-l1d62h:\r
+p_arg_ww_mn:\r
+ call p_arg_ww ;1d5a cd 8b 1e . . .\r
+ call p_char_comma ;1d5d cd b4 1e . . .\r
+ jr p_arg_mn ;1d60 18 e6 . .\r
+\r
+p_arg_addr_hl:\r
call sub_1e13h ;1d62 cd 13 1e . . .\r
- call prnt_char_comma ;1d65 cd b4 1e . . .\r
- jp l1e7eh ;1d68 c3 7e 1e . ~ .\r
-l1d6bh:\r
- call l1e7eh ;1d6b cd 7e 1e . ~ .\r
- call prnt_char_comma ;1d6e cd b4 1e . . .\r
+ call p_char_comma ;1d65 cd b4 1e . . .\r
+ jp p_arg_hlixiy ;1d68 c3 7e 1e . ~ .\r
+p_arg_hl_addr:\r
+ call p_arg_hlixiy ;1d6b cd 7e 1e . ~ .\r
+ call p_char_comma ;1d6e cd b4 1e . . .\r
jp sub_1e13h ;1d71 c3 13 1e . . .\r
-l1d74h:\r
+\r
+p_arg_addr_a:\r
call sub_1e13h ;1d74 cd 13 1e . . .\r
- call prnt_char_comma ;1d77 cd b4 1e . . .\r
+p_char_comma_A:\r
+ call p_char_comma ;1d77 cd b4 1e . . .\r
ld a,'A' ;1d7a 3e 41 > A\r
- jp outchar ;1d7c c3 5d 02 . ] .\r
-l1d7fh:\r
- call prnt_A_comma ;1d7f cd b1 1e . . .\r
+ jp outchar ;1d87 18 06 . .\r
+p_arg_a_addr:\r
+ call p_A_comma ;1d7f cd b1 1e . . .\r
jp sub_1e13h ;1d82 c3 13 1e . . .\r
l1d85h:\r
ld a,'0' ;1d85 3e 30 > 0\r
l1db0h:\r
DC 'A,R'\r
\r
-l1db3h:\r
- call l1e28h ;1db3 cd 28 1e . ( .\r
- call prnt_char_comma ;1db6 cd b4 1e . . .\r
+p_arg_in_c:\r
+ call p_arg_r ;1db3 cd 28 1e . ( .\r
+ call p_char_comma ;1db6 cd b4 1e . . .\r
ld hl,t__C_ ;1db9 21 f4 1f ! . .\r
jp pstr ;1dbc c3 88 02 . . .\r
-l1dbfh:\r
+\r
+p_arg_out_c:\r
ld hl,t__C_ ;1dbf 21 f4 1f ! . .\r
call pstr ;1dc2 cd 88 02 . . .\r
- call prnt_char_comma ;1dc5 cd b4 1e . . .\r
- jr l1e28h ;1dc8 18 5e . ^\r
+ call p_char_comma ;1dc5 cd b4 1e . . .\r
+ jr p_arg_r ;1dc8 18 5e . ^\r
+\r
l1dcah:\r
- call l1e7eh ;1dca cd 7e 1e . ~ .\r
- call prnt_char_comma ;1dcd cd b4 1e . . .\r
- jp l1e8bh ;1dd0 c3 8b 1e . . .\r
-l1dd3h:\r
+ call p_arg_hlixiy ;1dca cd 7e 1e . ~ .\r
+ call p_char_comma ;1dcd cd b4 1e . . .\r
+ jp p_arg_ww ;1dd0 c3 8b 1e . . .\r
+\r
+p_arg_addr_ww:\r
call sub_1e13h ;1dd3 cd 13 1e . . .\r
- call prnt_char_comma ;1dd6 cd b4 1e . . .\r
- jp l1e8bh ;1dd9 c3 8b 1e . . .\r
-l1ddch:\r
- call l1e8bh ;1ddc cd 8b 1e . . .\r
- call prnt_char_comma ;1ddf cd b4 1e . . .\r
+ call p_char_comma ;1dd6 cd b4 1e . . .\r
+ jp p_arg_ww ;1dd9 c3 8b 1e . . .\r
+\r
+p_arg_ww_addr:\r
+ call p_arg_ww ;1ddc cd 8b 1e . . .\r
+ call p_char_comma ;1ddf cd b4 1e . . .\r
jr sub_1e13h ;1de2 18 2f . /\r
-l1de4h:\r
+\r
+p_arg_bitop:\r
ld a,(isprefix_ixiy) ;1de4 3a f8 1f : . .\r
and a ;1de7 a7 .\r
jr nz,l1defh ;1de8 20 05 .\r
and 007h ;1df6 e6 07 . .\r
add a,'0' ;1df8 c6 30 . 0\r
call outchar ;1dfa cd 5d 02 . ] .\r
- call prnt_char_comma ;1dfd cd b4 1e . . .\r
+ call p_char_comma ;1dfd cd b4 1e . . .\r
pop af ;1e00 f1 .\r
- jr l1e33h ;1e01 18 30 . 0\r
+ jr p_arg_r0 ;1e01 18 30 . 0\r
+\r
l1e03h:\r
ld a,(isprefix_ixiy) ;1e03 3a f8 1f : . .\r
and a ;1e06 a7 .\r
l1e0eh:\r
ld a,(iy+002h) ;1e0e fd 7e 02 . ~ .\r
l1e11h:\r
- jr l1e33h ;1e11 18 20 .\r
+ jr p_arg_r0 ;1e11 18 20 .\r
+\r
sub_1e13h:\r
ld a,'(' ;1e13 3e 28 > (\r
call outchar ;1e15 cd 5d 02 . ] .\r
ld h,(iy+002h) ;1e1b fd 66 02 . f .\r
ld a,001h ;1e1e 3e 01 > .\r
call sub_1d50h ;1e20 cd 50 1d . P .\r
+\r
+p_char_rparen:\r
ld a,')' ;1e23 3e 29 > )\r
jp outchar ;1e25 c3 5d 02 . ] .\r
-l1e28h:\r
+\r
+p_arg_r:\r
ld a,(iy+000h) ;1e28 fd 7e 00 . ~ .\r
rra ;1e2b 1f .\r
rra ;1e2c 1f .\r
rra ;1e2d 1f .\r
- jr l1e33h ;1e2e 18 03 . .\r
-l1e30h:\r
+ jr p_arg_r0 ;1e2e 18 03 . .\r
+p_arg_rs:\r
ld a,(iy+000h) ;1e30 fd 7e 00 . ~ .\r
-l1e33h:\r
+p_arg_r0:\r
and 007h ;1e33 e6 07 . .\r
cp 006h ;1e35 fe 06 . .\r
- jr nz,l1e73h ;1e37 20 3a :\r
+ jr nz,p_arg_r1 ;1e37 20 3a :\r
ld a,(isprefix_ixiy) ;1e39 3a f8 1f : . .\r
and a ;1e3c a7 .\r
ld a,006h ;1e3d 3e 06 > .\r
- jr z,l1e73h ;1e3f 28 32 ( 2\r
+ jr z,p_arg_r1 ;1e3f 28 32 ( 2\r
ld hl,b_1e78_start ;1e41 21 78 1e ! x .\r
ld a,(isprefix_ixiy) ;1e44 3a f8 1f : . .\r
dec a ;1e47 3d =\r
call out_hex ;1e6b cd 18 02 . . .\r
ld a,')' ;1e6e 3e 29 > )\r
jp outchar ;1e70 c3 5d 02 . ] .\r
-l1e73h:\r
+\r
+p_arg_r1:\r
ld hl,t_BCDEHL_HL_A ;1e73 21 96 1f ! . .\r
- jr l1eaah ;1e76 18 32 . 2\r
+ jr p_arg ;1e76 18 32 . 2\r
\r
b_1e78_start:\r
DC '(IX'\r
l1e7bh:\r
DC '(IY'\r
-l1e7eh:\r
+\r
+p_arg_hlixiy:\r
ld a,(isprefix_ixiy) ;1e7e 3a f8 1f : . .\r
ld hl,t_HL.IX.IY ;1e81 21 c6 1f ! . .\r
- jr l1eaah ;1e84 18 24 . $\r
-l1e86h:\r
+ jr p_arg ;1e84 18 24 . $\r
+p_arg_zz:\r
ld hl,t_BC.DE.HL.AF ;1e86 21 ab 1f ! . .\r
jr l1e8eh ;1e89 18 03 . .\r
-l1e8bh:\r
+p_arg_ww:\r
ld hl,t_BC.DE.HL.SP ;1e8b 21 a2 1f ! . .\r
l1e8eh:\r
ld a,(iy+000h) ;1e8e fd 7e 00 . ~ .\r
rra ;1e94 1f .\r
and 003h ;1e95 e6 03 . .\r
cp 002h ;1e97 fe 02 . .\r
- jr z,l1e7eh ;1e99 28 e3 ( .\r
- jr l1eaah ;1e9b 18 0d . .\r
-l1e9dh:\r
+ jr z,p_arg_hlixiy ;1e99 28 e3 ( .\r
+ jr p_arg ;1e9b 18 0d . .\r
+\r
+p_arg_cc:\r
ld a,(iy+000h) ;1e9d fd 7e 00 . ~ .\r
-sub_1ea0h:\r
+p_arg_cc0:\r
rra ;1ea0 1f .\r
rra ;1ea1 1f .\r
rra ;1ea2 1f .\r
ld hl,t_tstfl_ZCPS ;1ea5 21 dc 1f ! . .\r
jr l1eaah ;1ea8 18 00 . .\r
l1eaah:\r
+p_arg:\r
ld b,a ;1eaa 47 G\r
- call sub_033dh ;1eab cd 3d 03 . = .\r
+ call sel_dc_string ;1eab cd 3d 03 . = .\r
jp pstr ;1eae c3 88 02 . . .\r
\r
-prnt_A_comma:\r
- call prnt_char_A ;1eb1 cd 3d 1d . = .\r
-prnt_char_comma:\r
+p_A_comma:\r
+ call p_char_A ;1eb1 cd 3d 1d . = .\r
+p_char_comma:\r
ld a,',' ;1eb4 3e 2c > ,\r
jp outchar ;1eb6 c3 5d 02 . ] .\r
\r
-prnt_mnemonic:\r
+p_mnemonic:\r
call pstr ;1eb9 cd 88 02 . . .\r
l1ebch:\r
call outbl ;1ebc cd 9f 02 . . .\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 ;Prefix DD\r
+ dw l20a7h\r
+ db 0ffh,0fdh,000h ;Prefix FD\r
+ dw l20ach\r
+ db 0ffh,0edh,000h ;Prefix ED\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 ;call mn\r
+ dw l2080h\r
+ db 0ffh,0c3h,000h ;jp mn\r
+ dw l208bh\r
+ db 0ffh,0e9h,000h ;jp ()\r
+ dw l20a2h\r
+ db 0ffh,0c9h,000h ;ret\r
+ dw l20dch\r
+ db 0ffh,0cfh,000h ;rst 8\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