1 .text 2 .org 0 3 ;; eZ80 instructions 4 5; AND A,x group 6 and a,a 7 and a,b 8 and a,c 9 and a,d 10 and a,e 11 and a,h 12 and a,l 13 and a,(hl) 14 and a,0xaa 15 and a,(ix+5) 16 and a,(iy-5) 17; CP A,x group 18 cp a,a 19 cp a,b 20 cp a,c 21 cp a,d 22 cp a,e 23 cp a,h 24 cp a,l 25 cp a,(hl) 26 cp a,0xaa 27 cp a,(ix+5) 28 cp a,(iy-5) 29 30; OR A,x group 31 or a,a 32 or a,b 33 or a,c 34 or a,d 35 or a,e 36 or a,h 37 or a,l 38 or a,(hl) 39 or a,0xaa 40 or a,(ix+5) 41 or a,(iy-5) 42 43; SUB A,x group 44 sub a,a 45 sub a,b 46 sub a,c 47 sub a,d 48 sub a,e 49 sub a,h 50 sub a,l 51 sub a,(hl) 52 sub a,0xaa 53 sub a,(ix+5) 54 sub a,(iy-5) 55 56; TST A,x group 57 tst a,a 58 tst a,b 59 tst a,c 60 tst a,d 61 tst a,e 62 tst a,h 63 tst a,l 64 tst a,(hl) 65 tst a,0x0f 66 67; XOR A,x group 68 xor a,a 69 xor a,b 70 xor a,c 71 xor a,d 72 xor a,e 73 xor a,h 74 xor a,l 75 xor a,(hl) 76 xor a,0xaa 77 xor a,(ix+5) 78 xor a,(iy-5) 79 80; IN r,(BC) group (new naming) 81 in a,(bc) 82 in b,(bc) 83 in c,(bc) 84 in d,(bc) 85 in e,(bc) 86 in h,(bc) 87 in l,(bc) 88 89; OUT (BC),r group (new naming) 90 out (bc),a 91 out (bc),b 92 out (bc),c 93 out (bc),d 94 out (bc),e 95 out (bc),h 96 out (bc),l 97 98; LD rr,(ii+d) group 99 ld bc,(ix-7) 100 ld de,(ix-7) 101 ld hl,(ix-7) 102 ld ix,(ix-7) 103 ld iy,(ix-7) 104 105 ld bc,(iy+38) 106 ld de,(iy+38) 107 ld hl,(iy+38) 108 ld ix,(iy+38) 109 ld iy,(iy+38) 110 111; LD (ii+d),rr group 112 ld (ix+126),bc 113 ld (ix+126),de 114 ld (ix+126),hl 115 ld (ix+126),ix 116 ld (ix+126),iy 117 ld (iy-98),bc 118 ld (iy-98),de 119 ld (iy-98),hl 120 ld (iy-98),ix 121 ld (iy-98),iy 122 123; LEA rr,ii+d group 124 lea bc,ix-27 125 lea de,ix-27 126 lea hl,ix-27 127 lea ix,ix-27 128 lea iy,ix-27 129 lea bc,iy+12 130 lea de,iy+12 131 lea hl,iy+12 132 lea ix,iy+12 133 lea iy,iy+12 134 135; PEA ii+d group 136 pea ix+127 137 pea iy-128 138 139; IN0 group 140 in0 a,(0x5) 141 in0 b,(0x5) 142 in0 c,(0x5) 143 in0 d,(0x5) 144 in0 e,(0x5) 145 in0 h,(0x5) 146 in0 l,(0x5) 147 148; OUT0 group 149 out0 (0x5),a 150 out0 (0x5),b 151 out0 (0x5),c 152 out0 (0x5),d 153 out0 (0x5),e 154 out0 (0x5),h 155 out0 (0x5),l 156 157; MLT group 158 mlt bc 159 mlt de 160 mlt hl 161 mlt sp 162 163; TSTIO instruction 164 tstio 0f0h 165 166; SLP instruction 167 slp 168 169; ADLMIX flag manipulation instructions 170 stmix 171 rsmix 172 173; Additional block I/O instructions 174 inim 175 otim 176 ini2 177 indm 178 otdm 179 ind2 180 inimr 181 otimr 182 ini2r 183 indmr 184 otdmr 185 ind2r 186 outi2 187 outd2 188 oti2r 189 otd2r 190 inirx 191 otirx 192 indrx 193 otdrx 194 195; Index registers halves 196 ld a,ixh 197 ld b,ixh 198 ld c,ixh 199 ld d,ixh 200 ld e,ixh 201 ld ixh,ixh 202 ld ixl,ixh 203 ld a,ixl 204 ld b,ixl 205 ld c,ixl 206 ld d,ixl 207 ld e,ixl 208 ld ixh,ixl 209 ld ixl,ixl 210 ld a,iyh 211 ld b,iyh 212 ld c,iyh 213 ld d,iyh 214 ld e,iyh 215 ld iyh,iyh 216 ld iyl,iyh 217 ld a,iyl 218 ld b,iyl 219 ld c,iyl 220 ld d,iyl 221 ld e,iyl 222 ld iyh,iyl 223 ld iyl,iyl 224 ld ixh,a 225 ld ixh,b 226 ld ixh,c 227 ld ixh,d 228 ld ixh,e 229 ld ixh,ixh 230 ld ixh,ixl 231 ld ixh,25 232 ld ixl,a 233 ld ixl,b 234 ld ixl,c 235 ld ixl,d 236 ld ixl,e 237 ld ixl,ixh 238 ld ixl,ixl 239 ld ixl,25 240 ld iyh,a 241 ld iyh,b 242 ld iyh,c 243 ld iyh,d 244 ld iyh,e 245 ld iyh,iyh 246 ld iyh,iyl 247 ld iyh,25 248 ld iyl,a 249 ld iyl,b 250 ld iyl,c 251 ld iyl,d 252 ld iyl,e 253 ld iyl,iyh 254 ld iyl,iyl 255 ld iyl,25 256 add a,ixh 257 add a,ixl 258 add a,iyh 259 add a,iyl 260 adc a,ixh 261 adc a,ixl 262 adc a,iyh 263 adc a,iyl 264 cp a,ixh 265 cp a,ixl 266 cp a,iyh 267 cp a,iyl 268 dec ixh 269 dec ixl 270 dec iyh 271 dec iyl 272 inc ixh 273 inc ixl 274 inc iyh 275 inc iyl 276 sbc a,ixh 277 sbc a,ixl 278 sbc a,iyh 279 sbc a,iyl 280 sub a,ixh 281 sub a,ixl 282 sub a,iyh 283 sub a,iyl 284 and a,ixh 285 and a,ixl 286 and a,iyh 287 and a,iyl 288 or a,ixh 289 or a,ixl 290 or a,iyh 291 or a,iyl 292 xor a,ixh 293 xor a,ixl 294 xor a,iyh 295 xor a,iyl 296 297; Special ADL mode only instructions 298 ld i,hl 299 ld hl,i 300 ld mb,a 301 ld a,mb 302 303; Standard Z80 instructions 304 305 adc a,(hl) 306 adc a,(ix+9) 307 adc a,(iy+9) 308 adc a,3 309 adc a,a 310 adc a,b 311 adc a,c 312 adc a,d 313 adc a,e 314 adc a,h 315 adc a,l 316 adc hl,bc 317 adc hl,de 318 adc hl,hl 319 adc hl,sp 320 add a,(hl) 321 add a,(ix+9) 322 add a,(iy+9) 323 add a,3 324 add a,a 325 add a,b 326 add a,c 327 add a,d 328 add a,e 329 add a,h 330 add a,l 331 add hl,bc 332 add hl,de 333 add hl,hl 334 add hl,sp 335 add ix,bc 336 add ix,de 337 add ix,ix 338 add ix,sp 339 add iy,bc 340 add iy,de 341 add iy,iy 342 add iy,sp 343 and (hl) 344 and (ix+9) 345 and (iy+9) 346 and 3 347 and a 348 and b 349 and c 350 and d 351 and e 352 and h 353 and l 354 bit 0,(hl) 355 bit 0,(ix+9) 356 bit 0,(iy+9) 357 bit 0,a 358 bit 0,b 359 bit 0,c 360 bit 0,d 361 bit 0,e 362 bit 0,h 363 bit 0,l 364 bit 1,(hl) 365 bit 1,(ix+9) 366 bit 1,(iy+9) 367 bit 1,a 368 bit 1,b 369 bit 1,c 370 bit 1,d 371 bit 1,e 372 bit 1,h 373 bit 1,l 374 bit 2,(hl) 375 bit 2,(ix+9) 376 bit 2,(iy+9) 377 bit 2,a 378 bit 2,b 379 bit 2,c 380 bit 2,d 381 bit 2,e 382 bit 2,h 383 bit 2,l 384 bit 3,(hl) 385 bit 3,(ix+9) 386 bit 3,(iy+9) 387 bit 3,a 388 bit 3,b 389 bit 3,c 390 bit 3,d 391 bit 3,e 392 bit 3,h 393 bit 3,l 394 bit 4,(hl) 395 bit 4,(ix+9) 396 bit 4,(iy+9) 397 bit 4,a 398 bit 4,b 399 bit 4,c 400 bit 4,d 401 bit 4,e 402 bit 4,h 403 bit 4,l 404 bit 5,(hl) 405 bit 5,(ix+9) 406 bit 5,(iy+9) 407 bit 5,a 408 bit 5,b 409 bit 5,c 410 bit 5,d 411 bit 5,e 412 bit 5,h 413 bit 5,l 414 bit 6,(hl) 415 bit 6,(ix+9) 416 bit 6,(iy+9) 417 bit 6,a 418 bit 6,b 419 bit 6,c 420 bit 6,d 421 bit 6,e 422 bit 6,h 423 bit 6,l 424 bit 7,(hl) 425 bit 7,(ix+9) 426 bit 7,(iy+9) 427 bit 7,a 428 bit 7,b 429 bit 7,c 430 bit 7,d 431 bit 7,e 432 bit 7,h 433 bit 7,l 434 call 0x123456 435 call c,0x123456 436 call m,0x123456 437 call nc,0x123456 438 call nz,0x123456 439 call p,0x123456 440 call pe,0x123456 441 call po,0x123456 442 call z,0x123456 443 ccf 444 cp (hl) 445 cp (ix+9) 446 cp (iy+9) 447 cp 03 448 cp a 449 cp b 450 cp c 451 cp d 452 cp e 453 cp h 454 cp l 455 cpd 456 cpdr 457 cpi 458 cpir 459 cpl 460 daa 461 dec (hl) 462 dec (ix+9) 463 dec (iy+9) 464 dec a 465 dec b 466 dec bc 467 dec c 468 dec d 469 dec de 470 dec e 471 dec h 472 dec hl 473 dec ix 474 dec iy 475 dec l 476 dec sp 477 di 478 djnz .+7 479 ei 480 ex (sp),hl 481 ex (sp),ix 482 ex (sp),iy 483 ex af,af' ;' 484 ex de,hl 485 exx 486 halt 487 im 0 488 im 1 489 im 2 490 in a,(c) 491 in a,(3) 492 in b,(c) 493 in c,(c) 494 in d,(c) 495 in e,(c) 496 in h,(c) 497 in l,(c) 498 inc (hl) 499 inc (ix+9) 500 inc (iy+9) 501 inc a 502 inc b 503 inc bc 504 inc c 505 inc d 506 inc de 507 inc e 508 inc h 509 inc hl 510 inc ix 511 inc iy 512 inc l 513 inc sp 514 ind 515 indr 516 ini 517 inir 518 jp (hl) 519 jp (ix) 520 jp (iy) 521 jp 0x123456 522 jp c,0x123456 523 jp m,0x123456 524 jp nc,0x123456 525 jp nz,0x123456 526 jp p,0x123456 527 jp pe,0x123456 528 jp po,0x123456 529 jp z,0x123456 530 jr .+7 531 jr c,.+7 532 jr nc,.+7 533 jr nz,.+7 534 jr z,.+7 535 ld (0x123456),a 536 ld (0x123456),bc 537 ld (0x123456),de 538 ld (0x123456),hl 539 ld (0x123456),ix 540 ld (0x123456),iy 541 ld (0x123456),sp 542 ld (bc),a 543 ld (de),a 544 ld (hl),3 545 ld (hl),a 546 ld (hl),b 547 ld (hl),c 548 ld (hl),d 549 ld (hl),e 550 ld (hl),h 551 ld (hl),l 552 ld (ix+9),3 553 ld (ix+9),a 554 ld (ix+9),b 555 ld (ix+9),c 556 ld (ix+9),d 557 ld (ix+9),e 558 ld (ix+9),h 559 ld (ix+9),l 560 ld (iy+9),3 561 ld (iy+9),a 562 ld (iy+9),b 563 ld (iy+9),c 564 ld (iy+9),d 565 ld (iy+9),e 566 ld (iy+9),h 567 ld (iy+9),l 568 ld a,(0x123456) 569 ld a,(bc) 570 ld a,(de) 571 ld a,(hl) 572 ld a,(ix+9) 573 ld a,(iy+9) 574 ld a,3 575 ld a,a 576 ld a,b 577 ld a,c 578 ld a,d 579 ld a,e 580 ld a,h 581 ld a,i 582 ld a,l 583 ld a,r 584 ld b,(hl) 585 ld b,(ix+9) 586 ld b,(iy+9) 587 ld b,3 588 ld b,a 589 nop ;ld b,b 590 ld b,c 591 ld b,d 592 ld b,e 593 ld b,h 594 ld b,l 595 ld bc,(0x123456) 596 ld bc,0x123456 597 ld c,(hl) 598 ld c,(ix+9) 599 ld c,(iy+9) 600 ld c,3 601 ld c,a 602 ld c,b 603 nop ;ld c,c 604 ld c,d 605 ld c,e 606 ld c,h 607 ld c,l 608 ld d,(hl) 609 ld d,(ix+9) 610 ld d,(iy+9) 611 ld d,3 612 ld d,a 613 ld d,b 614 ld d,c 615 nop ;ld d,d 616 ld d,e 617 ld d,h 618 ld d,l 619 ld de,(0x123456) 620 ld de,0x123456 621 ld e,(hl) 622 ld e,(ix+9) 623 ld e,(iy+9) 624 ld e,3 625 ld e,a 626 ld e,b 627 ld e,c 628 ld e,d 629 nop ;ld e,e 630 ld e,h 631 ld e,l 632 ld h,(hl) 633 ld h,(ix+9) 634 ld h,(iy+9) 635 ld h,3 636 ld h,a 637 ld h,b 638 ld h,c 639 ld h,d 640 ld h,e 641 ld h,h 642 ld h,l 643 ld hl,(0x123456) 644 ld hl,0x123456 645 ld i,a 646 ld ix,(0x123456) 647 ld ix,0x123456 648 ld iy,(0x123456) 649 ld iy,0x123456 650 ld l,(hl) 651 ld l,(ix+9) 652 ld l,(iy+9) 653 ld l,3 654 ld l,a 655 ld l,b 656 ld l,c 657 ld l,d 658 ld l,e 659 ld l,h 660 ld l,l 661 ld r,a 662 ld sp,(0x123456) 663 ld sp,0x123456 664 ld sp,hl 665 ld sp,ix 666 ld sp,iy 667 ldd 668 lddr 669 ldi 670 ldir 671 neg 672 nop 673 or (hl) 674 or (ix+9) 675 or (iy+9) 676 or 3 677 or a 678 or b 679 or c 680 or d 681 or e 682 or h 683 or l 684 otdr 685 otir 686 out (c),a 687 out (c),b 688 out (c),c 689 out (c),d 690 out (c),e 691 out (c),h 692 out (c),l 693 out (3),a 694 outd 695 outi 696 pop af 697 pop bc 698 pop de 699 pop hl 700 pop ix 701 pop iy 702 push af 703 push bc 704 push de 705 push hl 706 push ix 707 push iy 708 res 0,(hl) 709 res 0,(ix+9) 710 res 0,(iy+9) 711 res 0,a 712 res 0,b 713 res 0,c 714 res 0,d 715 res 0,e 716 res 0,h 717 res 0,l 718 res 1,(hl) 719 res 1,(ix+9) 720 res 1,(iy+9) 721 res 1,a 722 res 1,b 723 res 1,c 724 res 1,d 725 res 1,e 726 res 1,h 727 res 1,l 728 res 2,(hl) 729 res 2,(ix+9) 730 res 2,(iy+9) 731 res 2,a 732 res 2,b 733 res 2,c 734 res 2,d 735 res 2,e 736 res 2,h 737 res 2,l 738 res 3,(hl) 739 res 3,(ix+9) 740 res 3,(iy+9) 741 res 3,a 742 res 3,b 743 res 3,c 744 res 3,d 745 res 3,e 746 res 3,h 747 res 3,l 748 res 4,(hl) 749 res 4,(ix+9) 750 res 4,(iy+9) 751 res 4,a 752 res 4,b 753 res 4,c 754 res 4,d 755 res 4,e 756 res 4,h 757 res 4,l 758 res 5,(hl) 759 res 5,(ix+9) 760 res 5,(iy+9) 761 res 5,a 762 res 5,b 763 res 5,c 764 res 5,d 765 res 5,e 766 res 5,h 767 res 5,l 768 res 6,(hl) 769 res 6,(ix+9) 770 res 6,(iy+9) 771 res 6,a 772 res 6,b 773 res 6,c 774 res 6,d 775 res 6,e 776 res 6,h 777 res 6,l 778 res 7,(hl) 779 res 7,(ix+9) 780 res 7,(iy+9) 781 res 7,a 782 res 7,b 783 res 7,c 784 res 7,d 785 res 7,e 786 res 7,h 787 res 7,l 788 ret 789 ret c 790 ret m 791 ret nc 792 ret nz 793 ret p 794 ret pe 795 ret po 796 ret z 797 reti 798 retn 799 rl (hl) 800 rl (ix+9) 801 rl (iy+9) 802 rl a 803 rl b 804 rl c 805 rl d 806 rl e 807 rl h 808 rl l 809 rla 810 rlc (hl) 811 rlc (ix+9) 812 rlc (iy+9) 813 rlc a 814 rlc b 815 rlc c 816 rlc d 817 rlc e 818 rlc h 819 rlc l 820 rlca 821 rld 822 rr (hl) 823 rr (ix+9) 824 rr (iy+9) 825 rr a 826 rr b 827 rr c 828 rr d 829 rr e 830 rr h 831 rr l 832 rra 833 rrc (hl) 834 rrc (ix+9) 835 rrc (iy+9) 836 rrc a 837 rrc b 838 rrc c 839 rrc d 840 rrc e 841 rrc h 842 rrc l 843 rrca 844 rrd 845 rst 0x00 846 rst 0x08 847 rst 0x10 848 rst 0x18 849 rst 0x20 850 rst 0x28 851 rst 0x30 852 rst 0x38 853 sbc a,(hl) 854 sbc a,(ix+9) 855 sbc a,(iy+9) 856 sbc a,3 857 sbc a,a 858 sbc a,b 859 sbc a,c 860 sbc a,d 861 sbc a,e 862 sbc a,h 863 sbc a,l 864 sbc hl,bc 865 sbc hl,de 866 sbc hl,hl 867 sbc hl,sp 868 scf 869 set 0,(hl) 870 set 0,(ix+9) 871 set 0,(iy+9) 872 set 0,a 873 set 0,b 874 set 0,c 875 set 0,d 876 set 0,e 877 set 0,h 878 set 0,l 879 set 1,(hl) 880 set 1,(ix+9) 881 set 1,(iy+9) 882 set 1,a 883 set 1,b 884 set 1,c 885 set 1,d 886 set 1,e 887 set 1,h 888 set 1,l 889 set 2,(hl) 890 set 2,(ix+9) 891 set 2,(iy+9) 892 set 2,a 893 set 2,b 894 set 2,c 895 set 2,d 896 set 2,e 897 set 2,h 898 set 2,l 899 set 3,(hl) 900 set 3,(ix+9) 901 set 3,(iy+9) 902 set 3,a 903 set 3,b 904 set 3,c 905 set 3,d 906 set 3,e 907 set 3,h 908 set 3,l 909 set 4,(hl) 910 set 4,(ix+9) 911 set 4,(iy+9) 912 set 4,a 913 set 4,b 914 set 4,c 915 set 4,d 916 set 4,e 917 set 4,h 918 set 4,l 919 set 5,(hl) 920 set 5,(ix+9) 921 set 5,(iy+9) 922 set 5,a 923 set 5,b 924 set 5,c 925 set 5,d 926 set 5,e 927 set 5,h 928 set 5,l 929 set 6,(hl) 930 set 6,(ix+9) 931 set 6,(iy+9) 932 set 6,a 933 set 6,b 934 set 6,c 935 set 6,d 936 set 6,e 937 set 6,h 938 set 6,l 939 set 7,(hl) 940 set 7,(ix+9) 941 set 7,(iy+9) 942 set 7,a 943 set 7,b 944 set 7,c 945 set 7,d 946 set 7,e 947 set 7,h 948 set 7,l 949 sla (hl) 950 sla (ix+9) 951 sla (iy+9) 952 sla a 953 sla b 954 sla c 955 sla d 956 sla e 957 sla h 958 sla l 959 sra (hl) 960 sra (ix+9) 961 sra (iy+9) 962 sra a 963 sra b 964 sra c 965 sra d 966 sra e 967 sra h 968 sra l 969 srl (hl) 970 srl (ix+9) 971 srl (iy+9) 972 srl a 973 srl b 974 srl c 975 srl d 976 srl e 977 srl h 978 srl l 979 sub (hl) 980 sub (ix+9) 981 sub (iy+9) 982 sub 3 983 sub a 984 sub b 985 sub c 986 sub d 987 sub e 988 sub h 989 sub l 990 xor (hl) 991 xor (ix+9) 992 xor (iy+9) 993 xor 3 994 xor a 995 xor b 996 xor c 997 xor d 998 xor e 999 xor h 1000 xor l 1001 ld bc,(hl) 1002 ld de,(hl) 1003 ld hl,(hl) 1004 ld ix,(hl) 1005 ld iy,(hl) 1006 ld (hl),bc 1007 ld (hl),de 1008 ld (hl),hl 1009 ld (hl),ix 1010 ld (hl),iy 1011