Semantic search

Jump to: navigation, search
Mnemonic (use uppercase)StatusAddressing Mode 1Addressing Mode 2CNPVHZST-StatesSummary
EXXS--------4swap(BC,BC');swap(DE,DE');swap(HL,HL')
HALTS--------4waits for interrupt
IM nSImmediate-------8Interrupt mode:=n
IN (c)URegister--0P0SS12in(BC)?
IN A, (n)SAccumulatorImmediate------11A := in(An)
IN r, (c)SRegisterRegister-0P0SS12r := in(BC)
INC (HL)SIndirect--0!SSS11HL*++
INC (IXY+d)SIndexed--0!SSS23(IXY+d)*++
INC BC/DE/HL/SPSRegister-------6rr++
INC IXYSRegister-------10rr++
INC rSRegister--0!SSS4r++
INDS--?1??!?16HL*:=in(BC); HL--; B--
INDRS--?1??1?21x+16do IND while(B>0)
INIS--?1??!?16HL*:=in(BC); HL++; B--
INIRS--?1??1?21x+16do INI while(B>0)
JP (C)ERegister-??????13PC:=PC&$C000+IN(C)<<6
JP (HL)SRegister-------4PC:=HL (not PC:=HL*)
JP (IXY)SRegister-------8PC:=IXY (not PC:=IXY*)
JP Z/NZ/NC/C/PO/PE/P/M, nnSAddress-------10if cc PC:=nn
JP nnSAddress-------10PC:=nn
JR C/NC/Z/NZ, nnSImmediate-------12 ; 7 if not ccif cc PC+=nn
JR nnSImmediate-------12PC+=nn
LD (BC/DE), ASIndirectAccumulator------7rr* := A
LD (HL), nSIndirectImmediate------10HL* := n
LD (HL),rSIndirectRegister------7HL* := r
LD (IXY+d), nSIndexedImmediate------19(IXY+d)* := n
LD (IXY+d),rSIndexedRegister------19(IXY+D)* := r
LD (nn), ASAddressAccumulator------13(nn)* := A
LD (nn), BC/DE/SP/IXYSAddressRegister------20(nn)* := rr
LD (nn), HLSAddressRegister------16(nn)* := HL
LD A, (BC/DE)SAccumulatorIndirect------7A := rr*
LD A, (nn)SAccumulatorAddress------13A := (nn)*
LD A, ISAccumulatorRegister-0!0SS9A := I; P/V:=IFF2
LD A, RSAccumulatorRegister-0!0SS9A := R; P/V:=IFF2
LD BC/DE/HL/SP, nnSRegisterImmediate------10rr := nn
LD BC/DE/SP/IXY, (nn)SRegisterAddress------20rr := (nn)*
LD HL, (nn)SRegisterAddress------16HL := (nn)*
LD I, ASRegisterAccumulator------9I := A
LD IXY, nnSRegisterImmediate------14rr := nn
LD R, ASRegisterAccumulator------9R := A
LD SP, HLSRegisterRegister------6SP := HL
LD SP, IXYSRegisterRegister------10SP := IXY
LD r, (HL)SRegisterIndirect------7r := HL*
LD r, (IXY+d)SRegisterIndexed------19r := (IXY+d)*
LD r, r'SRegisterRegister------4r := r'
LD r,nSRegisterImmediate------7r := n
LDDS---0L0--16DE*:=HL*; DE--; HL--; BC--
LDDRS---000--21x+16do LDD while(BC>0)
LDDRXE--------21/16do LDDX while(BC>0)
LDDXE--------16{if HL*!=A DE*:=HL*;} DE++; HL--; BC--
LDIS---0L0--16DE*:=HL*; DE++; HL++; BC--
LDIRS---0L0--21x+16do LDI while(BC>0)
LDIRXE--------21/16do LDIX while(BC>0)
LDIXE--------16{if HL*!=A DE*:=HL*;} DE++; HL++; BC--
LDPIRXE--------21/16do{t:=(HL&$FFF8+E&7)*; {if t!=A DE*:=t;} DE++; BC--}while(BC>0)
LDWSE---0!SSS14DE*:=HL*; INC L; INC D;
MIRROR AERegister-------8A[76543210]:=A[01234567]
MUL d,eE--------8DE:=D*E
NEGS--!1!SSS8A:=0-A
NEXTREG n, AEImmediateAccumulator------17HwNextReg_n:=A
NEXTREG n,n'EImmediateImmediate------20HwNextReg_n:=n'
NOPS--------4PC+=1
OR (HL)SIndirect-00P0SS7A := A OR HL*
OR (IXY+d)SIndexed-00P0SS19A := A OR (IXY+d)*
OR nSImmediate-00P0SS7A := A OR n
OR rSRegister-00P0SS4A := A OR r
OTDRS--?1??1?21x+16do OUTD while (B>0)
OTIRS--?1??1?21x+16do OUTI while (B>0)
OUT (c),0URegisterImmediate------12out(BC,0)
OUT (c),rSRegisterRegister------12out(BC,r)
OUT (n),ASImmediateAccumulator------11out(An,A)
OUTDS--?1??!?16B--; out(BC,HL*); HL--
OUTIS--?1??!?16B--; out(BC,HL*); HL++
OUTINBE--??????16out(BC,HL*); HL++
PIXELADE--------8HL:=$4000+((D&$C0)<<5)+((D&$07)<<8)+((D&$38)<<2)+(E>>3)
PIXELDNE--------8if(HL&$0700!=$0700) HL+=256;
else if(HL&$e0!=$e0) HL:=HL&$F8FF+$20;
else HL:=HL&$F81F+$0800
POP AFSRegister-!!!!!!10rr:=SP*; SP+=2
POP BC/DE/HLSRegister-------10rr:=SP*; SP+=2
POP IXYSRegister-------14rr:=SP*; SP+=2
PUSH BC/DE/HL/AFSRegister-------11SP-=2; SP*:=rr
PUSH IXYSRegister-------15SP-=2; SP*:=rr
PUSH nnEImmediate-------23SP-=2; SP*:=nn
RES b,(HL)SImmediateRegister------15HL*:=HL* & (~(1<<b))
RES b,(IXY+d)SImmediateIndexed------23(IXY+d)*:=(IXY+d)* & (~(1<<b))
RES b,rSImmediateRegister------8r:=r & (~(1<<b))
RES r,b,(IX+d)UImmediateIndexed------23(IX+d)*:=(IX+d)* & (~(1<<b)); r:=(IX+d)*
RETS--------10PC:=SP*; SP+=2
RET Z/NZ/C/NC/PO/PE/P/MS--------11 ; 5 if not ccif cc {PC:=SP*; SP+=2}
RETIS--------14PC:=SP*; SP+=2
RETNS--------14IFF1:=IFF2; PC:=SP*; SP+=2
RL (HL)SIndirect-!0P0SS15x:=HL*[7]; HL*:=HL*<<1; HL*[0]:=CF; CF:=x
RL (IXY+d)SIndexed-!0P0SS23x:=(IXY+d)*[7]; (IXY+d)*:=(IXY+d)*<<1; (IXY+d)*[0]:=CF; CF:=x
RL rSRegister-!0P0SS8x:=r[7]; r:=r<<1; r[0]:=CF; CF:=x
RL r,(IX+d)URegisterIndexed!0P0SS23x:=(IX+d)*[7]; (IX+d)*:=(IX+d)*<<1; (IX+d)*[0]:=CF; CF:=x; r:=(IX+d)*
RLAS--!0-0--4x:=A[7]; A:=A<<1; A[0]:=CF; CF:=x
RLC (HL)SIndirect-!0P0SS15x:=HL*[7]; HL*:=HL*<<1; HL*[0]:=x; CF:=x
RLC (IXY+d)SIndexed-!0P0SS23x:=(IXY+d)*[7]; (IXY+d)*:=(IXY+d)*<<1; (IXY+d)*[0]:=x; CF:=x
RLC rSRegister-!0P0SS8x:=r[7]; r:=r<<1; r[0]:=x; CF:=x
RLC r,(IX+d)URegisterIndexed!0P0SS23x:=(IX+d)*[7]; (IX+d)*:=(IX+d)*<<1; (IX+d)*[0]:=x; CF:=x; r:=(IX+d)*
RLCAS--!0-0--4x:=A[7]; A:=A<<1; A[0]:=x; CF:=x
RLDS---0P0SS18x=HL*; HL*[0123]:=A[0123]; HL*[7654]:=x[0123]; A[0123]:=x[7654]
RR (HL)SIndirect-!0P0SS15x:=HL*[0]; HL*:=HL*>>1; HL*[7]:=CF; CF:=x
RR (IXY+d)SIndexed-!0P0SS23x:=(IXY+d)*[0]; (IXY+d)*:=(IXY+d)*>>1; (IXY+d)*[7]:=CF; CF:=x
RR rSRegister-!0P0SS8x:=r[0]; r:=r>>1; r[7]:=CF; CF:=x
RR r,(IX+d)URegisterIndexed!0P0SS23x:=(IX+d)*[0]; (IX+d)*:=(IX+d)*>>1; (IX+d)*[7]:=CF; CF:=x; r=(IX+d)*
RRAS--!0-0--4x:=A[0]; A:=A>>1; A[7]:=CF; CF:=x
RRC (HL)SIndirect-!0P0SS15x:=HL*[0]; HL*:=HL*>>1; HL*[7]:=x; CF:=x
RRC (IXY+d)SIndexed-!0P0SS23x:=(IXY+d)*[0]; (IXY+d)*:=(IXY+d)*>>1; (IXY+d)*[7]:=x; CF:=x
RRC rSRegister-!0P0SS8x:=r[0]; r:=r>>1; r[7]:=x; CF:=x
RRC r,(IX+d)URegisterIndexed!0P0SS23x:=(IX+d)*[0]; (IX+d)*:=(IX+d)*>>1; (IX+d)*[7]:=x; CF:=x; r:=(IX+d)*
RRCAS--!0-0--4x:=A[0]; A:=A>>1; A[7]:=x; CF:=x
RRDS---0P0SS18x=HL*; HL*[7654]:=A[0123]; HL*[0123]:=x[7654]; A[0123]:=x[0123]
RST nSImmediate-------11CALL n
SBC A, (HL)SAccumulatorIndirectS1VSSS7A-=(HL*+(CF?1:0))
SBC A, (IXY+d)SAccumulatorIndexedS1VSSS19A-=((IXY+d)+(CF?1:0))
SBC A, nSAccumulatorImmediateS1VSSS7A-=(n+(CF?1:0))
SBC A, rSAccumulatorRegisterS1VSSS4A-=(r+(CF?1:0))
SBC HL, BC/DE/HL/SPSRegisterRegisterS1V!SS15HL-=(rr+(CF?1:0))
SCFS--10-0--4CF:=1
SET b,(HL)SImmediateRegister------15HL*:=HL* OR (1<<b)
SET b,(IXY+d)SImmediateIndexed------23(IXY+d)*:=(IXY+d)* OR (1<<b)
SET b,rSImmediateRegister------8r:=r OR (1<<b)
SET r,b,(IX+d)UImmediateIndexed------23(IX+d)*:=(IX+d)* OR (1<<b); r:=(IX+d)*
SETAEE--------8A:=unsigned($80)>>(E&7)
SL1 (HL)UIndirect-!0P0SS15HL*:=(HL*<<1)+1
SL1 (IXY+d)UIndexed-!0P0SS23(IXY+d)*:=((IXY+d)*<<1)+1
SL1 rURegister-!0P0SS8r:=(r<<1)+1
SL1 r,(IXY+d)URegisterIndexed!0P0SS23(IXY+d)*:=((IXY+d)*<<1)+1; r=(IXY+d)*
SLA (HL)SIndirect-!0P0SS15HL*:=HL*<<1
SLA (IXY+d)SIndexed-!0P0SS23(IXY+d)*:=(IXY+d)*<<1
SLA rSRegister-!0P0SS8r:=r<<1
SLA r,(IX+d)URegisterIndexed!0P0SS23(IX+d)*:=(IX+d)*<<1; r=(IX+d)*
SRA (HL)SIndirect-!0P0SS15HL*:=HL*>>1 OR HL*[7]
SRA (IXY+d)SIndexed-!0P0SS23(IXY+d)*:=(IXY+d)*>>1 OR (IXY+d)*[7]
SRA rSRegister-!0P0SS8r:=r>>1 OR r[7]
SRA r,(IX+d)URegisterIndexed!0P0SS23(IX+d)*:=(IX+d)*>>1 OR (IX+d)*[7]; r:=(IX+d)*
SRL (HL)SIndirect-!0P0S015HL*:=unsigned(HL*)>>1
SRL (IXY+d)SIndexed-!0P0S023(IXY+d)*:=unsigned((IXY+d)*)>>1
SRL rSRegister-!0P0S08r:=unsigned(r)>>1
SRL r,(IXY+d)URegisterIndexed!0P0S023(IXY+d)*:=unsigned((IXY+d)*)>>1; r:=(IXY+d)*
SUB (HL)SIndirect-S1VSSS7A -= HL*
SUB (IXY+d)SIndexed-S1VSSS19A -= (IXY+d)*
SUB nSImmediate-S1VSSS7A -= n
SUB rSRegister-S1VSSS4A -= r
SWAPNIBE--------8A:=A[3210]<<4 OR A[7654]>>4
TEST nEImmediate-S?PSSS11A&n?
XOR (HL)SIndirect-00P0SS7A := A ^ HL*
XOR (IXY+d)SIndexed-00P0SS19A := A ^ (IXY+d)*
XOR nSImmediate-00P0SS7A := A ^ n
XOR rSRegister-00P0SS4A := A ^ r
{{{opdesc}}}{{{ad1}}}{{{ad2}}}{{{tstates}}}