-as.LD:\r
- call arg.r_HL_A ;1352 cd 2e 18 . . .\r
- jr c,l13d4h ;1355 38 7d 8 }\r
- call arg.IDX_displcmnt ;1357 cd 55 18 . U .\r
- jp c,l1471h ;135a da 71 14 . q .\r
- call arg.ww ;135d cd 1b 18 . . .\r
- jp c,l149ch ;1360 da 9c 14 . . .\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
- jp z,l1511h ;136c ca 11 15 . . .\r
- cp 'R' ;136f fe 52 . R\r
- jp z,l1519h ;1371 ca 19 15 . . .\r
- cp '(' ;1374 fe 28 . (\r
- jp nz,ERROR ;1376 c2 07 01 . . .\r
- inc de ;1379 13 .\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 arg.ww ;1389 cd 1b 18 . . .\r
- jr c,l13c2h ;138c 38 34 8 4\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
- call assert_eol ;1395 cd d6 02 . . .\r
- ld a,(prefix_ixiy) ;1398 3a cc 18 : . .\r
-l139bh:\r
- ld (iy+000h),a ;139b fd 77 00 . w .\r
- ld (iy+001h),b ;139e fd 70 01 . p .\r
- ld (iy+002h),l ;13a1 fd 75 02 . u .\r
- ld (iy+003h),h ;13a4 fd 74 03 . t .\r
- ld c,004h ;13a7 0e 04 . .\r
- ret ;13a9 c9 .\r
-l13aah:\r
- ld a,(de) ;13aa 1a .\r
- cp 'A' ;13ab fe 41 . A\r
- jp nz,ERROR ;13ad c2 07 01 . . .\r
- inc de ;13b0 13 .\r
- ld b,032h ;13b1 06 32 . 2\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
- ld (iy+002h),h ;13bc fd 74 02 . t .\r
- ld c,003h ;13bf 0e 03 . .\r
- ret ;13c1 c9 .\r
-l13c2h:\r
- cp 020h ;13c2 fe 20 .\r
- jr z,l13d0h ;13c4 28 0a ( .\r
- add a,043h ;13c6 c6 43 . C\r
- ld b,a ;13c8 47 G\r
-l13c9h:\r
- call assert_eol ;13c9 cd d6 02 . . .\r
- ld a,0edh ;13cc 3e ed > .\r
- jr l139bh ;13ce 18 cb . .\r
-l13d0h:\r
- ld b,022h ;13d0 06 22 . "\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 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
- rlca ;13df 07 .\r
- rlca ;13e0 07 .\r
- rlca ;13e1 07 .\r
- ld b,a ;13e2 47 G\r
- pop af ;13e3 f1 .\r
- add a,b ;13e4 80 .\r
- add a,040h ;13e5 c6 40 . @\r
- cp 076h ;13e7 fe 76 . v\r
- jp z,ERROR ;13e9 ca 07 01 . . .\r
-l13ech:\r
- ld b,a ;13ec 47 G\r
- jp as.opc.noarg ;13ed c3 3b 15 . ; .\r
-l13f0h:\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
- rlca ;13f7 07 .\r
- rlca ;13f8 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 (iy+001h),b ;1404 fd 70 01 . p .\r
- ld (iy+002h),c ;1407 fd 71 02 . q .\r
- ld a,(prefix_ixiy) ;140a 3a cc 18 : . .\r
- ld (iy+000h),a ;140d fd 77 00 . w .\r
- ld c,003h ;1410 0e 03 . .\r
- ret ;1412 c9 .\r
-l1413h:\r
- ld a,(de) ;1413 1a .\r
- cp 'I' ;1414 fe 49 . I\r
- jr z,l1426h ;1416 28 0e ( .\r
- cp 'R' ;1418 fe 52 . R\r
- jr nz,l1432h ;141a 20 16 .\r
- ld a,b ;141c 78 x\r
- cp 007h ;141d fe 07 . .\r
- jp nz,ERROR ;141f c2 07 01 . . .\r
- ld b,05fh ;1422 06 5f . _\r
- jr l142eh ;1424 18 08 . .\r
-l1426h:\r
- ld a,b ;1426 78 x\r
- cp 007h ;1427 fe 07 . .\r
- jp nz,ERROR ;1429 c2 07 01 . . .\r
- ld b,057h ;142c 06 57 . W\r
-l142eh:\r
- inc de ;142e 13 .\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 arg.imm_8bit ;1436 cd ff 17 . . .\r
- ld a,b ;1439 78 x\r
- rlca ;143a 07 .\r
- rlca ;143b 07 .\r
- rlca ;143c 07 .\r
- add a,006h ;143d c6 06 . .\r
-l143fh:\r
- ld b,a ;143f 47 G\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 c,002h ;1449 0e 02 . .\r
- ret ;144b c9 .\r
-l144ch:\r
- inc de ;144c 13 .\r
- ld a,b ;144d 78 x\r
- cp 007h ;144e fe 07 . .\r
- jp nz,ERROR ;1450 c2 07 01 . . .\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 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 as.store_3 ;146e c3 b3 13 . . .\r
-\r
-l1471h:\r
- call assert_comma ;1471 cd be 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 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 (iy+001h),036h ;148f fd 36 01 36 . 6 . 6\r
- ld (iy+002h),c ;1493 fd 71 02 . q .\r
- ld (iy+003h),l ;1496 fd 75 03 . u .\r
- ld c,004h ;1499 0e 04 . .\r
- ret ;149b c9 .\r
-l149ch:\r
- ld b,a ;149c 47 G\r
- call assert_comma ;149d cd be 18 . . .\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 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
- jr nz,error6 ;14b0 20 73 s\r
- ld b,0f9h ;14b2 06 f9 . .\r
-l14b4h:\r
- call assert_eol ;14b4 cd d6 02 . . .\r
- ld a,(prefix_ixiy) ;14b7 3a cc 18 : . .\r
- ld (iy+000h),a ;14ba fd 77 00 . w .\r
- ld (iy+001h),b ;14bd fd 70 01 . p .\r
- ld c,002h ;14c0 0e 02 . .\r
- ret ;14c2 c9 .\r
-l14c3h:\r
- ld a,b ;14c3 78 x\r
- cp 030h ;14c4 fe 30 . 0\r
- jr nz,error6 ;14c6 20 5d ]\r
- ld b,0f9h ;14c8 06 f9 . .\r
- jr as.opc.noarg ;14ca 18 6f . o\r
-l14cch:\r
- ld a,(de) ;14cc 1a .\r
- cp '(' ;14cd fe 28 . (\r
- jr nz,l14e8h ;14cf 20 17 .\r
- inc de ;14d1 13 .\r
- call test_expr ;14d2 cd 09 18 . . .\r
- call test_paren_close ;14d5 cd c5 18 . . .\r
- ld a,b ;14d8 78 x\r
- cp 020h ;14d9 fe 20 .\r
- jr z,l14e3h ;14db 28 06 ( .\r
- add a,04bh ;14dd c6 4b . K\r
- ld b,a ;14df 47 G\r
- jp l13c9h ;14e0 c3 c9 13 . . .\r
-l14e3h:\r
- ld b,02ah ;14e3 06 2a . *\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 as.store_3 ;14f2 c3 b3 13 . . .\r
-l14f5h:\r
- call assert_comma ;14f5 cd be 18 . . .\r
- ld a,(de) ;14f8 1a .\r
- cp '(' ;14f9 fe 28 . (\r
- jr nz,l1509h ;14fb 20 0c .\r
- inc de ;14fd 13 .\r
- call test_expr ;14fe cd 09 18 . . .\r
- call test_paren_close ;1501 cd c5 18 . . .\r
- ld b,02ah ;1504 06 2a . *\r
- jp l1395h ;1506 c3 95 13 . . .\r
-l1509h:\r
- call test_expr ;1509 cd 09 18 . . .\r
- ld b,021h ;150c 06 21 . !\r
- jp l1395h ;150e c3 95 13 . . .\r
-l1511h:\r
- inc de ;1511 13 .\r
- call assert_comma ;1512 cd be 18 . . .\r
- ld b,047h ;1515 06 47 . G\r
- jr l151fh ;1517 18 06 . .\r
-l1519h:\r
- inc de ;1519 13 .\r
- call assert_comma ;151a cd be 18 . . .\r
- ld b,04fh ;151d 06 4f . O\r
-l151fh:\r
- ld a,(de) ;151f 1a .\r
- inc de ;1520 13 .\r
- cp 'A' ;1521 fe 41 . A\r
- jr z,gen.opc.ED2 ;1523 28 1f ( .\r
-error6:\r
- jp ERROR ;1525 c3 07 01 . . .\r
-\r
-l1528h:\r
- cp 020h ;1528 fe 20 .\r
- jr nc,error6 ;152a 30 f9 0 .\r
- add a,002h ;152c c6 02 . .\r
- ld b,a ;152e 47 G\r
- call test_paren_close ;152f cd c5 18 . . .\r
- call assert_comma ;1532 cd be 18 . . .\r
- ld a,(de) ;1535 1a .\r
- cp 'A' ;1536 fe 41 . A\r
- jr nz,error6 ;1538 20 eb .\r
- inc de ;153a 13 .\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
-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
-as.ADC_SBC:\r
- ld hl,t_HL.AF ;1551 21 af 1f ! . .\r
- call sub_0318h ;1554 cd 18 03 . . .\r
- jr nc,as.AND_CP_OR_SUB_XOR ;1557 30 4f 0 O\r
- call assert_comma ;1559 cd be 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
- cp 088h ;1564 fe 88 . .\r
- ld b,04ah ;1566 06 4a . J\r
- jr z,l156ch ;1568 28 02 ( .\r
- ld b,042h ;156a 06 42 . B\r
-l156ch:\r
- pop af ;156c f1 .\r
- add a,b ;156d 80 .\r
-l156eh:\r
- ld b,a ;156e 47 G\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 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
- cp 0fdh ;1587 fe fd . .\r
- jr nz,l158eh ;1589 20 03 .\r
- ld hl,t_BC.DE.IY.SP ;158b 21 b4 1f ! . .\r
-l158eh:\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
- ld b,a ;1596 47 G\r
- jp l14b4h ;1597 c3 b4 14 . . .\r
-l159ah:\r
- call assert_comma ;159a cd be 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
-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
- push de ;15ad d5 .\r
- inc de ;15ae 13 .\r
- call next_arg ;15af cd ca 02 . . .\r
- jr z,l15b7h ;15b2 28 03 ( .\r
- pop de ;15b4 d1 .\r
- jr l15b8h ;15b5 18 01 . .\r
-l15b7h:\r
- pop af ;15b7 f1 .\r
-l15b8h:\r
- call arg.r_HL_A ;15b8 cd 2e 18 . . .\r
- jr c,l15cbh ;15bb 38 0e 8 .\r
- call arg.IDX_displcmnt ;15bd cd 55 18 . U .\r
- jr c,l15cfh ;15c0 38 0d 8 .\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
-l15cbh:\r
- add a,b ;15cb 80 .\r
- jp l13ech ;15cc c3 ec 13 . . .\r
-l15cfh:\r
- ld a,b ;15cf 78 x\r
- add a,006h ;15d0 c6 06 . .\r
- jp l1400h ;15d2 c3 00 14 . . .\r
-\r
-as.SHIFTOP:\r
- call arg.r_HL_A ;15d5 cd 2e 18 . . .\r
- jr c,l15fah ;15d8 38 20 8\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 b,a ;15e3 47 G\r
-l15e4h:\r
- call assert_eol ;15e4 cd d6 02 . . .\r
- ld a,(prefix_ixiy) ;15e7 3a cc 18 : . .\r
- ld (iy+000h),a ;15ea fd 77 00 . w .\r
- ld (iy+001h),0cbh ;15ed fd 36 01 cb . 6 . .\r
- ld (iy+002h),c ;15f1 fd 71 02 . q .\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 b,a ;15fb 47 G\r
- call assert_eol ;15fc cd d6 02 . . .\r
- ld (iy+001h),b ;15ff fd 70 01 . p .\r
- ld (iy+000h),0cbh ;1602 fd 36 00 cb . 6 . .\r
- ld c,002h ;1606 0e 02 . .\r
- ret ;1608 c9 .\r
-\r
-as.BITOP:\r
- call arg.bit ;1609 cd d3 17 . . .\r
- call assert_comma ;160c cd be 18 . . .\r
- call arg.r_HL_A ;160f cd 2e 18 . . .\r
- jr c,l1624h ;1612 38 10 8 .\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 ;161c 07 .\r
- rlca ;161d 07 .\r
- add a,006h ;161e c6 06 . .\r
- add a,b ;1620 80 .\r
- ld b,a ;1621 47 G\r
- jr l15e4h ;1622 18 c0 . .\r
-l1624h:\r
- add a,b ;1624 80 .\r
- ld b,a ;1625 47 G\r
- ld a,l ;1626 7d }\r
- rlca ;1627 07 .\r
- rlca ;1628 07 .\r
- rlca ;1629 07 .\r
- add a,b ;162a 80 .\r
- jr l15fbh ;162b 18 ce . .\r
-\r
-as.CALL:\r
- push de ;162d d5 .\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
- call next_arg ;1635 cd ca 02 . . .\r
- jr z,l163eh ;1638 28 04 ( .\r
- pop de ;163a d1 .\r
- push de ;163b d5 .\r
-l163ch:\r
- ld b,0cdh ;163c 06 cd . .\r
-l163eh:\r
- pop af ;163e f1 .\r
- call test_expr ;163f cd 09 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
- jr l1650h ;164c 18 02 . .\r
-l164eh:\r
- ld b,0c9h ;164e 06 c9 . .\r
-l1650h:\r
- jp as.opc.noarg ;1650 c3 3b 15 . ; .\r
-\r
-as.JP:\r
- push de ;1653 d5 .\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
- ld hl,l168ch ;165a 21 8c 16 ! . .\r
- call sub_030ah ;165d cd 0a 03 . . .\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
- call next_arg ;1668 cd ca 02 . . .\r
- jr nz,l1659h ;166b 20 ec .\r
- pop af ;166d f1 .\r
-l166eh:\r
- call test_expr ;166e cd 09 18 . . .\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 as.opc.noarg ;167d c3 3b 15 . ; .\r
-l1680h:\r
- ld b,0ddh ;1680 06 dd . .\r
- dec a ;1682 3d =\r
- jr z,l1687h ;1683 28 02 ( .\r
- ld b,0fdh ;1685 06 fd . .\r
-l1687h:\r
- ld l,0e9h ;1687 2e e9 . .\r
- jp as.store_2 ;1689 c3 40 14 . @ .\r
-\r
-l168ch:\r
- DC '(HL)'\r
- DC '(IX)'\r
- DC '(IY)'\r
- DB 0\r
-\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
-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
-l16a9h:\r
- add a,b ;16a9 80 .\r
- ld b,a ;16aa 47 G\r
- call assert_comma ;16ab cd be 18 . . .\r
-l16aeh:\r
- call arg.j_displ ;16ae cd dc 17 . . .\r
- jp as.store_2 ;16b1 c3 40 14 . @ .\r
-\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
- and a ;16bc a7 .\r
- jr z,l16c7h ;16bd 28 08 ( .\r
- ld b,056h ;16bf 06 56 . V\r
- cp 001h ;16c1 fe 01 . .\r
- jr z,l16c7h ;16c3 28 02 ( .\r
- ld b,05eh ;16c5 06 5e . ^\r
-l16c7h:\r
- jp gen.opc.ED2 ;16c7 c3 44 15 . D .\r
-\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
- ld b,a ;16d0 47 G\r
- pop af ;16d1 f1 .\r
- and 0c7h ;16d2 e6 c7 . .\r
- jr nz,error2 ;16d4 20 42 B\r
- jp as.opc.noarg ;16d6 c3 3b 15 . ; .\r
-\r
-as.POP_PUSH:\r
- call arg.IX_IY ;16d9 cd 3d 18 . = .\r
- jr c,l16e7h ;16dc 38 09 8 .\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
-l16e7h:\r
- ld a,b ;16e7 78 x\r
- add a,020h ;16e8 c6 20 .\r
- jp l1596h ;16ea c3 96 15 . . .\r
-\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
- rlca ;16f6 07 .\r
- rlca ;16f7 07 .\r
- rlca ;16f8 07 .\r
- add a,b ;16f9 80 .\r
- ld b,a ;16fa 47 G\r
- cp 078h ;16fb fe 78 . x\r
- jr nz,l170fh ;16fd 20 10 .\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 arg.addr_8bit ;1707 cd f3 17 . . .\r
- ld b,0dbh ;170a 06 db . .\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,gen.opc.ED2 ;1715 da 44 15 . D .\r
-error2:\r
- jp ERROR ;1718 c3 07 01 . . .\r
-\r
-sub_171bh:\r
- ld hl,t__C_ ;171b 21 f4 1f ! . .\r
- jp sub_0318h ;171e c3 18 03 . . .\r
-\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 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
- rlca ;1732 07 .\r
- rlca ;1733 07 .\r
- rlca ;1734 07 .\r
- add a,b ;1735 80 .\r
- jp l156eh ;1736 c3 6e 15 . n .\r
-\r
-l1739h:\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 as.store_2 ;1746 c3 40 14 . @ .\r
-\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
- ld c,b ;1752 48 H\r
- call assert_eol ;1753 cd d6 02 . . .\r
- ld b,000h ;1756 06 00 . .\r
- ld hl,l178eh ;1758 21 8e 17 ! . .\r
- add hl,bc ;175b 09 .\r
- add hl,bc ;175c 09 .\r
- ld a,(hl) ;175d 7e ~\r
- ld (iy+000h),a ;175e fd 77 00 . w .\r
- ld c,001h ;1761 0e 01 . .\r
- inc hl ;1763 23 #\r
- ld a,(hl) ;1764 7e ~\r
- and a ;1765 a7 .\r
- ret z ;1766 c8 .\r
- ld (iy+001h),a ;1767 fd 77 01 . w .\r
- ld c,002h ;176a 0e 02 . .\r
- ret ;176c c9 .\r
-\r
-b_176d_start:\r
- DC 'AF,AF'''\r
-l1773h:\r
- DC 'DE,HL'\r
- DC '(SP),HL'\r
- DC '(SP),IX'\r
- DC '(SP),IY'\r
- db 0\r
-l178eh:\r
- db 008h,000h ;178e 08 .\r
- db 0ebh,000h ;1790 eb .\r
- db 0e3h,000h ;1792 e3 .\r
- db 0ddh,0e3h ;1794 dd .\r
- db 0fdh,0e3h ;1796 fd .\r
-\r
-as.DEC_INC:\r
- call arg.IX_IY ;1798 cd 3d 18 . = .\r
- jr c,l17b3h ;179b 38 16 8 .\r
- call arg.ww ;179d cd 1b 18 . . .\r
- jr c,l17bfh ;17a0 38 1d 8 .\r
- call arg.r_HL_A ;17a2 cd 2e 18 . . .\r
- jr c,l17cch ;17a5 38 25 8 %\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
- jp l1400h ;17b0 c3 00 14 . . .\r
-l17b3h:\r
- ld a,b ;17b3 78 x\r
- ld b,023h ;17b4 06 23 . #\r
- cp 004h ;17b6 fe 04 . .\r
- jr z,l17bch ;17b8 28 02 ( .\r
- ld b,02bh ;17ba 06 2b . +\r
-l17bch:\r
- jp l14b4h ;17bc c3 b4 14 . . .\r
-l17bfh:\r
- push af ;17bf f5 .\r
- ld a,b ;17c0 78 x\r
- ld b,003h ;17c1 06 03 . .\r
- cp 004h ;17c3 fe 04 . .\r
- jr z,l17c9h ;17c5 28 02 ( .\r
- ld b,00bh ;17c7 06 0b . .\r
-l17c9h:\r
- pop af ;17c9 f1 .\r
- jr l17cfh ;17ca 18 03 . .\r
-l17cch:\r
- rlca ;17cc 07 .\r
- rlca ;17cd 07 .\r
- rlca ;17ce 07 .\r
-l17cfh:\r
- add a,b ;17cf 80 .\r
- jp l13ech ;17d0 c3 ec 13 . . .\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
-\r
-arg.j_displ:\r
- call test_expr ;17dc cd 09 18 . . .\r
- push bc ;17df c5 .\r
- push iy ;17e0 fd e5 . .\r
- pop bc ;17e2 c1 .\r
- and a ;17e3 a7 .\r
- sbc hl,bc ;17e4 ed 42 . B\r
- dec hl ;17e6 2b +\r
- dec hl ;17e7 2b +\r
- pop bc ;17e8 c1 .\r
- call sub_1802h ;17e9 cd 02 18 . . .\r
- ld a,h ;17ec 7c |\r
- xor l ;17ed ad .\r
- bit 7,a ;17ee cb 7f . \7f\r
- jr nz,error3 ;17f0 20 1d .\r
- ret ;17f2 c9 .\r
-\r
-arg.addr_8bit:\r
- ld a,(de) ;17f3 1a .\r
- cp '(' ;17f4 fe 28 . (\r
- jr nz,arg.imm_8bit ;17f6 20 07 .\r
- inc de ;17f8 13 .\r
- call arg.imm_8bit ;17f9 cd ff 17 . . .\r
- jp test_paren_close ;17fc c3 c5 18 . . .\r
-\r
-arg.imm_8bit:\r
- call test_expr ;17ff cd 09 18 . . .\r
-sub_1802h:\r
- ld a,h ;1802 7c |\r
- and a ;1803 a7 .\r
- ret z ;1804 c8 .\r
- inc a ;1805 3c <\r
- ret z ;1806 c8 .\r
- jr error3 ;1807 18 06 . .\r
-\r
-test_expr:\r
- push bc ;1809 c5 .\r
- call expr ;180a cd be 03 . . .\r
- pop bc ;180d c1 .\r
- ret nc ;180e d0 .\r
-error3:\r
- jp ERROR ;180f c3 07 01 . . .\r
-\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
-arg.reg_16bit:\r
- push hl ;1818 e5 .\r
- jr l181fh ;1819 18 04 . .\r
-\r
-arg.ww:\r
- push hl ;181b e5 .\r
- ld hl,t_BC.DE.HL.SP ;181c 21 a2 1f ! . .\r
-l181fh:\r
- push bc ;181f c5 .\r
- call sub_030ah ;1820 cd 0a 03 . . .\r
- jr nc,l182bh ;1823 30 06 0 .\r
- ld a,b ;1825 78 x\r
- rlca ;1826 07 .\r
- rlca ;1827 07 .\r
- rlca ;1828 07 .\r
- rlca ;1829 07 .\r
- scf ;182a 37 7\r
-l182bh:\r
- pop bc ;182b c1 .\r
- pop hl ;182c e1 .\r
- ret ;182d c9 .\r
-\r
-arg.r_HL_A:\r
- call skipbl ;182e cd bf 02 . . .\r
- push bc ;1831 c5 .\r
- push hl ;1832 e5 .\r
- ld hl,t_BCDEHL_HL_A ;1833 21 96 1f ! . .\r
- call sub_030ah ;1836 cd 0a 03 . . .\r
- ld a,b ;1839 78 x\r
- pop hl ;183a e1 .\r
- pop bc ;183b c1 .\r
- ret ;183c c9 .\r
-\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
- call sub_030ah ;1842 cd 0a 03 . . .\r
- jr nc,l1852h ;1845 30 0b 0 .\r
- ld a,0ddh ;1847 3e dd > .\r
- dec b ;1849 05 .\r
- jr nz,l184eh ;184a 20 02 .\r
- ld a,0fdh ;184c 3e fd > .\r
-l184eh:\r
- ld (prefix_ixiy),a ;184e 32 cc 18 2 . .\r
- scf ;1851 37 7\r
-l1852h:\r
- pop bc ;1852 c1 .\r
- pop hl ;1853 e1 .\r
- ret ;1854 c9 .\r
-\r
-arg.IDX_displcmnt:\r
- push hl ;1855 e5 .\r
- push bc ;1856 c5 .\r
- ld a,(de) ;1857 1a .\r
- cp '(' ;1858 fe 28 . (\r
- jr nz,l18a1h ;185a 20 45 E\r
- push de ;185c d5 .\r
- inc de ;185d 13 .\r
- ld hl,t_IX.IY ;185e 21 c8 1f ! . .\r
- call sub_030ah ;1861 cd 0a 03 . . .\r
- jr nc,l18a0h ;1864 30 3a 0 :\r
- pop af ;1866 f1 .\r
- ld a,0ddh ;1867 3e dd > .\r
- dec b ;1869 05 .\r
- jr nz,l186eh ;186a 20 02 .\r
- ld a,0fdh ;186c 3e fd > .\r
-l186eh:\r
- ld (prefix_ixiy),a ;186e 32 cc 18 2 . .\r
- ld a,(de) ;1871 1a .\r
- cp '+' ;1872 fe 2b . +\r
- jr z,l1882h ;1874 28 0c ( .\r
- cp ')' ;1876 fe 29 . )\r
- ld hl,0 ;1878 21 00 00 ! . .\r
- jr z,l189ah ;187b 28 1d ( .\r
- cp '-' ;187d fe 2d . -\r
- jp nz,ERROR ;187f c2 07 01 . . .\r
-l1882h:\r
- push af ;1882 f5 .\r
- inc de ;1883 13 .\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
- ld b,h ;188c 44 D\r
- ld c,l ;188d 4d M\r
- ld hl,0 ;188e 21 00 00 ! . .\r
- and a ;1891 a7 .\r
- sbc hl,bc ;1892 ed 42 . B\r
-l1894h:\r
- ld a,(de) ;1894 1a .\r
- cp ')' ;1895 fe 29 . )\r
- jp nz,ERROR ;1897 c2 07 01 . . .\r
-l189ah:\r
- inc de ;189a 13 .\r
- pop bc ;189b c1 .\r
- ld c,l ;189c 4d M\r
- pop hl ;189d e1 .\r
- scf ;189e 37 7\r
- ret ;189f c9 .\r
-l18a0h:\r
- pop de ;18a0 d1 .\r
-l18a1h:\r
- pop bc ;18a1 c1 .\r
- pop hl ;18a2 e1 .\r
- and a ;18a3 a7 .\r
- ret ;18a4 c9 .\r
-\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
-arg.cc_ZC:\r
- ld hl,t_tstfl_ZC ;18ac 21 cd 1f ! . .\r
- ld c,003h ;18af 0e 03 . .\r
-l18b1h:\r
- push bc ;18b1 c5 .\r
- call sub_030ah ;18b2 cd 0a 03 . . .\r
- ld a,b ;18b5 78 x\r
- pop bc ;18b6 c1 .\r
- ret nc ;18b7 d0 .\r
- and c ;18b8 a1 .\r
- rlca ;18b9 07 .\r
- rlca ;18ba 07 .\r
- rlca ;18bb 07 .\r
- scf ;18bc 37 7\r
- ret ;18bd c9 .\r
-\r
-assert_comma:\r
- call next_arg ;18be cd ca 02 . . .\r
- ret z ;18c1 c8 .\r
-l18c2h:\r
- jp ERROR ;18c2 c3 07 01 . . .\r
-\r
-test_paren_close:\r
- ld a,(de) ;18c5 1a .\r
- cp ')' ;18c6 fe 29 . )\r
- jr nz,l18c2h ;18c8 20 f8 .\r
- inc de ;18ca 13 .\r
- ret ;18cb c9 .\r