-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