; Test of assembling of z80 instructions. LIST org $0 des equ $05 n equ $20 nn equ $0584 ; Documented instructions ; ADC adc a,(hl) adc a,(ix + des) adc a,(iy + des) adc a,a adc a,b adc a,c adc a,d adc a,e adc a,h adc a,l adc a,n adc hl,bc adc hl,de adc hl,hl adc hl,sp ; ADD add a,(hl) add a,(ix + des) add a,(iy + des) add a,a add a,b add a,c add a,d add a,e add a,h add a,l add a,n add hl,bc add hl,de add hl,hl add hl,sp add ix,bc add ix,de add ix,ix add ix,sp add iy,bc add iy,de add iy,iy add iy,sp ; AND and (hl) and (ix + des) and (iy + des) and a and b and c and d and e and h and l and n ; BIT bit 0,(hl) bit 0,(ix + des) bit 0,(iy + des) bit 0,a bit 0,b bit 0,c bit 0,d bit 0,e bit 0,h bit 0,l bit 1,(hl) bit 1,(ix + des) bit 1,(iy + des) bit 1,a bit 1,b bit 1,c bit 1,d bit 1,e bit 1,h bit 1,l bit 2,(hl) bit 2,(ix + des) bit 2,(iy + des) bit 2,a bit 2,b bit 2,c bit 2,d bit 2,e bit 2,h bit 2,l bit 3,(hl) bit 3,(ix + des) bit 3,(iy + des) bit 3,a bit 3,b bit 3,c bit 3,d bit 3,e bit 3,h bit 3,l bit 4,(hl) bit 4,(ix + des) bit 4,(iy + des) bit 4,a bit 4,b bit 4,c bit 4,d bit 4,e bit 4,h bit 4,l bit 5,(hl) bit 5,(ix + des) bit 5,(iy + des) bit 5,a bit 5,b bit 5,c bit 5,d bit 5,e bit 5,h bit 5,l bit 6,(hl) bit 6,(ix + des) bit 6,(iy + des) bit 6,a bit 6,b bit 6,c bit 6,d bit 6,e bit 6,h bit 6,l bit 7,(hl) bit 7,(ix + des) bit 7,(iy + des) bit 7,a bit 7,b bit 7,c bit 7,d bit 7,e bit 7,h bit 7,l ; CALL call nn call nz,nn call z,nn call nc,nn call c,nn call po,nn call pe,nn call p,nn call m,nn ; CCF ccf ; CP cp (hl) cp (ix + des) cp (iy + des) cp a cp b cp c cp d cp e cp h cp l cp n cpd cpdr cpir cpi ; CPL cpl ; DAA daa ; DEC dec (hl) dec (ix + des) dec (iy + des) dec a dec b dec c dec d dec e dec h dec l dec bc dec de dec hl dec ix dec iy dec sp ; DI di ; DJNZ l1 djnz l1 ; EI ei ; EX ex af,af' ex de,hl ex (sp),hl ex (sp),ix ex (sp),iy exx ; HALT halt ; IM im 0 im 1 im 2 ; IN in a,(c) in b,(c) in c,(c) in d,(c) in e,(c) in h,(c) in l,(c) in a,(n) ind indr ini inir ; INC inc (hl) inc (ix + des) inc (iy + des) inc a inc b inc c inc d inc e inc h inc l inc bc inc de inc hl inc ix inc iy inc sp ; JP jp nn jp (hl) jp (ix) jp (iy) jp nz,nn jp z,nn jp nc,nn jp c,nn jp po,nn jp pe,nn jp p,nn jp m,nn ; JR jr $ + $22 jr nz,$ + $22 jr z,$ + $22 jr nc,$ + $22 jr c,$ + $22 ; LD ld (bc),a ld (de),a ld (hl),a ld (hl),b ld (hl),c ld (hl),d ld (hl),e ld (hl),h ld (hl),l ld (hl),n ld (ix + des),a ld (ix + des),b ld (ix + des),c ld (ix + des),d ld (ix + des),e ld (ix + des),h ld (ix + des),l ld (ix + des),n ld (iy + des),a ld (iy + des),b ld (iy + des),c ld (iy + des),d ld (iy + des),e ld (iy + des),h ld (iy + des),l ld (iy + des),n ld (nn),a ld (nn),bc ld (nn),de ld (nn),hl ld (nn),ix ld (nn),iy ld (nn),sp ld a,(bc) ld a,(de) ld a,(hl) ld a,(ix + des) ld a,(iy + des) ld a,(nn) ld a,a ld a,b ld a,c ld a,d ld a,e ld a,h ld a,l ld a,n ld b,(hl) ld b,(ix + des) ld b,(iy + des) ld b,a ld b,b ld b,c ld b,d ld b,e ld b,h ld b,l ld b,n ld c,(hl) ld c,(ix + des) ld c,(iy + des) ld c,a ld c,b ld c,c ld c,d ld c,e ld c,h ld c,l ld c,n ld d,(hl) ld d,(ix + des) ld d,(iy + des) ld d,a ld d,b ld d,c ld d,d ld d,e ld d,h ld d,l ld d,n ld e,(hl) ld e,(ix + des) ld e,(iy + des) ld e,a ld e,b ld e,c ld e,d ld e,e ld e,h ld e,l ld e,n ld h,(hl) ld h,(ix + des) ld h,(iy + des) ld h,a ld h,b ld h,c ld h,d ld h,e ld h,h ld h,l ld h,n ld l,(hl) ld l,(ix + des) ld l,(iy + des) ld l,a ld l,b ld l,c ld l,d ld l,e ld l,h ld l,l ld l,n ld a,i ld i,a ld a,r ld r,a ld bc,(nn) ld de,(nn) ld hl,(nn) ld ix,(nn) ld iy,(nn) ld sp,(nn) ld bc,nn ld de,nn ld hl,nn ld ix,nn ld iy,nn ld sp,hl ld sp,ix ld sp,iy ld sp,nn ldd lddr ldi ldir ; NEG neg ; NOP nop ; OR or (hl) or (ix + des) or (iy + des) or a or b or c or d or e or h or l or n ; OUT out (c),a out (c),b out (c),c out (c),d out (c),e out (c),h out (c),l out (n),a outd otdr outi otir ; POP pop af pop bc pop de pop hl pop ix pop iy ; PUSH push af push bc push de push hl push ix push iy ; RES res 0,(hl) res 0,(ix + des) res 0,(iy + des) res 0,a res 0,b res 0,c res 0,d res 0,e res 0,h res 0,l res 1,(hl) res 1,(ix + des) res 1,(iy + des) res 1,a res 1,b res 1,c res 1,d res 1,e res 1,h res 1,l res 2,(hl) res 2,(ix + des) res 2,(iy + des) res 2,a res 2,b res 2,c res 2,d res 2,e res 2,h res 2,l res 3,(hl) res 3,(ix + des) res 3,(iy + des) res 3,a res 3,b res 3,c res 3,d res 3,e res 3,h res 3,l res 4,(hl) res 4,(ix + des) res 4,(iy + des) res 4,a res 4,b res 4,c res 4,d res 4,e res 4,h res 4,l res 5,(hl) res 5,(ix + des) res 5,(iy + des) res 5,a res 5,b res 5,c res 5,d res 5,e res 5,h res 5,l res 6,(hl) res 6,(ix + des) res 6,(iy + des) res 6,a res 6,b res 6,c res 6,d res 6,e res 6,h res 6,l res 7,(hl) res 7,(ix + des) res 7,(iy + des) res 7,a res 7,b res 7,c res 7,d res 7,e res 7,h res 7,l ; RET ret ret z ret nz ret c ret nc ret po ret pe ret p ret m reti retn ; RL rl (hl) rl (ix + des) rl (iy + des) rl a rl b rl c rl d rl e rl h rl l ; RLA rla ; RLC rlc (hl) rlc (ix + des) rlc (iy + des) rlc a rlc b rlc c rlc d rlc e rlc h rlc l ; RLCA rlca ; RLD rld ; RR rr (hl) rr (ix + des) rr (iy + des) rr a rr b rr c rr d rr e rr h rr l ; RRA rra ; RRC rrc (hl) rrc (ix + des) rrc (iy + des) rrc a rrc b rrc c rrc d rrc e rrc h rrc l ; RRCA rrca ; RRD rrd ; RST rst $00 rst $08 rst $10 rst $18 rst $20 rst $28 rst $30 rst $38 ; SBC sbc a,(hl) sbc a,(ix + des) sbc a,(iy + des) sbc a,a sbc a,b sbc a,c sbc a,d sbc a,e sbc a,h sbc a,l sbc a,n sbc hl,bc sbc hl,de sbc hl,hl sbc hl,sp ; SCF scf ; SET label set 0,(hl) set 0,(ix + des) set 0,(iy + des) set 0,a set 0,b set 0,c set 0,d set 0,e set 0,h set 0,l set 1,(hl) set 1,(ix + des) set 1,(iy + des) set 1,a set 1,b set 1,c set 1,d set 1,e set 1,h set 1,l set 2,(hl) set 2,(ix + des) set 2,(iy + des) set 2,a set 2,b set 2,c set 2,d set 2,e set 2,h set 2,l set 3,(hl) set 3,(ix + des) set 3,(iy + des) set 3,a set 3,b set 3,c set 3,d set 3,e set 3,h set 3,l set 4,(hl) set 4,(ix + des) set 4,(iy + des) set 4,a set 4,b set 4,c set 4,d set 4,e set 4,h set 4,l set 5,(hl) set 5,(ix + des) set 5,(iy + des) set 5,a set 5,b set 5,c set 5,d set 5,e set 5,h set 5,l set 6,(hl) set 6,(ix + des) set 6,(iy + des) set 6,a set 6,b set 6,c set 6,d set 6,e set 6,h set 6,l set 7,(hl) set 7,(ix + des) set 7,(iy + des) set 7,a set 7,b set 7,c set 7,d set 7,e set 7,h set 7,l ; SLA sla (hl) sla (ix + des) sla (iy + des) sla a sla b sla c sla d sla e sla h sla l ; SRA sra (hl) sra (ix + des) sra (iy + des) sra a sra b sra c sra d sra e sra h sra l ; SRL srl (hl) srl (ix + des) srl (iy + des) srl a srl b srl c srl d srl e srl h srl l ; SUB sub (hl) sub (ix + des) sub (iy + des) sub a sub b sub c sub d sub e sub h sub l sub n ; XOR xor (hl) xor (ix + des) xor (iy + des) xor a xor b xor c xor d xor e xor h xor l xor n ; Undocumented instructions ; IN in (c) ; DEFB $ED,$70 in f,(c) ; DEFB $ED,$70 ; OUT out (c) ; DEFB $ED,$71 out (c),f ; DEFB $ED,$71 ; SLL sll (hl) sll (ix+des) sll (iy+des) sll a sll b sll c sll d sll e sll h sll l ; IX and IY 8 bits halfs add a,ixh add a,ixl add a,iyh add a,iyl adc a,ixh adc a,ixl adc a,iyh adc a,iyl and ixh and ixl and iyh and iyl cp ixh cp ixl cp iyh cp iyl dec ixh dec ixl dec iyh dec iyl inc ixh inc ixl inc iyh inc iyl ld a,ixh ld b,ixh ld c,ixh ld d,ixh ld e,ixh ld h,ixh ld l,ixh ld a,ixl ld b,ixl ld c,ixl ld d,ixl ld e,ixl ld h,ixl ld l,ixl ld a,iyh ld b,iyh ld c,iyh ld d,iyh ld e,iyh ld h,iyh ld l,iyh ld a,iyl ld b,iyl ld c,iyl ld d,iyl ld e,iyl ld h,iyl ld l,iyl ld ixh,a ld ixh,b ld ixh,c ld ixh,d ld ixh,e ld ixh,ixh ld ixh,ixl ld ixh,n ld ixl,a ld ixl,b ld ixl,c ld ixl,d ld ixl,e ld ixl,ixh ld ixl,ixl ld ixl,n ld iyh,a ld iyh,b ld iyh,c ld iyh,d ld iyh,e ld iyh,iyh ld iyh,iyl ld iyh,n ld iyl,a ld iyl,b ld iyl,c ld iyl,d ld iyl,e ld iyl,iyh ld iyl,iyl ld iyl,n or ixh or ixl or iyh or iyl sbc a,ixh sbc a,ixl sbc a,iyh sbc a,iyl sub ixh sub ixl sub iyh sub iyl xor ixh xor ixl xor iyh xor iyl end