Gameboy Instruction Set

Home CPU Memory Routines


Instruction Map

00: nop 01: ld BC,kkkk 02: ld (BC),A 03: inc BC 04: inc B 05: dec B 06: ld B,kk 07: rlc A 08: ld (kkkk),SP 09: add HL,BC 0A: ld A,(BC) 0B: dec BC 0C: inc C 0D: dec C 0E: ld C,kk 0F: rrc A
10: stop 11: ld DE,kkkk 12: ld (DE),A 13: inc DE 14: inc D 15: dec D 16: ld D,kk 17: rl A 18: jr kkkk 19: add HL,DE 1A: ld A,(DE) 1B: dec DE 1C: inc E 1D: dec E 1E: ld E,kk 1F: rr A
20: jr NZ,kkkk 21: ld HL,kkkk 22: ldi (HL),A 23: inc INC 24: inc H 25: dec H 26: ld H,kk 27: daa 28: jr,z kk 29: add HL,HL 2A: ld A,(HLI) 2B: dec HL 2C: inc L 2D: dec L 2E: ld L,kk 2F: cpl

Diadic Math Operations

📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
adcA,(HL) 8E A+=HL+ℂ R0RR 2
adcA,$kk CE kk A+=kk+ℂ R0RR 2
adcA,A 8F A+=A+ℂ R0RR 1
adcA,B 88 A+=B+ℂ R0RR 1
adcA,C 89 A+=C+ℂ R0RR 1
adcA,D 8A A+=D+ℂ R0RR 1
adcA,E 8B A+=E+ℂ R0RR 1
adcA,H 8C A+=H+ℂ R0RR 1
adcA,L 8D A+=L+ℂ R0RR 1
📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
addA,(HL) 86 A+=HL R0RR 2
addA,$kk C6 kk A+=kk R0RR 2
addA,A 87 A+=A R0RR 1
addA,B 80 A+=B R0RR 1
addA,C 81 A+=C R0RR 1
addA,D 82 A+=D R0RR 1
addA,E 83 A+=E R0RR 1
addA,H 84 A+=H R0RR 1
addA,L 85 A+=L R0RR 1
📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
sbcA,(HL) 9E A-=HL+ℂ R1RR 2
sbcA,$kk DE kk A-=kk+ℂ R1RR 2
sbcA,A 9F A-=A+ℂ R1RR 1
sbcA,B 98 A-=B+ℂ R1RR 1
sbcA,C 99 A-=C+ℂ R1RR 1
sbcA,D 9A A-=D+ℂ R1RR 1
sbcA,E 9B A-=E+ℂ R1RR 1
sbcA,H 9C A-=H+ℂ R1RR 1
sbcA,L 9D A-=L+ℂ R1RR 1
📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
subA,(HL) 76 A-=HL R1RR 2
subA,$kk D6 kk A-=kk R1RR 2
subA,A 77 A-=A R1RR 1
subA,B 70 A-=B R1RR 1
subA,C 71 A-=C R1RR 1
subA,D 72 A-=D R1RR 1
subA,E 73 A-=E R1RR 1
subA,H 74 A-=H R1RR 1
subA,L 75 A-=L R1RR 1
📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
andA,(HL) A6 A&=HL R010 2
andA,$kk E6 kk A&=kk R010 2
andA,A A7 A&=A R010 1
andA,B A0 A&=B R010 1
andA,C A1 A&=C R010 1
andA,D A2 A&=D R010 1
andA,E A3 A&=E R010 1
andA,H A4 A&=H R010 1
andA,L A5 A&=L R010 1
📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
orA,(HL) B6 A|=HL R000 2
orA,$kk F6 kk A|=kk R000 2
orA,A B7 A|=A R000 1
orA,B B0 A|=B R000 1
orA,C B1 A|=C R000 1
orA,D B2 A|=D R000 1
orA,E B3 A|=E R000 1
orA,H B4 A|=H R000 1
orA,L B5 A|=L R000 1
📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
xorA,(HL) AE A^=HL R000 2
xorA,$kk EE kk A^=kk R000 2
xorA,A AF A^=A R000 1
xorA,B A8 A^=B R000 1
xorA,C A9 A^=C R000 1
xorA,D AA A^=D R000 1
xorA,E AB A^=E R000 1
xorA,H AC A^=H R000 1
xorA,L AD A^=L R000 1
📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
cpA,(HL) BE A==HL R1RR 2
cpA,$kk FE kk A==kk R1RR 2
cpA,A BF A==A R1RR 1
cpA,B B8 A==B R1RR 1
cpA,C B9 A==C R1RR 1
cpA,D BA A==D R1RR 1
cpA,E BB A==E R1RR 1
cpA,H BC A==H R1RR 1
cpA,L BD A==L R1RR 1

Monadic Math Operations

📄️ 📦️ 📬️ 𝟘 ⏱️
inc(HL) 34 HL++ R0R 3
incBC 03 BC++ R0R 2
incDE 13 DE++ R0R 2
incHL 23 HL++ R0R 2
incSP 33 SP++ R0R 2
incA 3C A++ R0R 1
incB 04 B++ R0R 1
incC 0C C++ R0R 1
incD 14 D++ R0R 1
incE 1C E++ R0R 1
incH 24 H++ R0R 1
incL 2C L++ R0R 1
📄️ 📦️ 📬️ 𝟘 ⏱️
dec(HL) 35 HL-- R1R 3
decBC 0B BC-- R1R 2
decDE 1B DE-- R1R 2
decHL 2B HL-- R1R 2
decSP 3B SP-- R1R 2
decA 3D A-- R1R 1
decB 05 B-- R1R 1
decC 0D C-- R1R 1
decD 15 D-- R1R 1
decE 1D E-- R1R 1
decH 25 H-- R1R 1
decL 2D L-- R1R 1
📄️ 📦️ 📬️ 𝟘 ⏱️
popAF F1 AF=--SP 3
popBC C1 BC=--SP 3
popDE D1 DE=--SP 3
popHL E1 HL=--SP 3
📄️ 📦️ 📬️ 𝟘 ⏱️
pushAF F5 SP++=AF 4
pushBC C5 SP++=BC 4
pushDE D5 SP++=DE 4
pushHL E5 SP++=HL 4
📄️ 📦️ 📬️ 𝟘 ⏱️
daa 27 A$=ℍ R0R 1
📄️ 📦️ 📬️ 𝟘 ⏱️
cpl 2F A^=$FF 11 1
📄️ 📦️ 📬️ 𝟘 ⏱️
scf 37 =$1 001 1
📄️ 📦️ 📬️ 𝟘 ⏱️
ccf 3F ^=$1 00R 1

Program Flow

📄️ 📦️ 📬️ 📬️ ✉️ ⏱️
call$aabb CD bb aa SP++PC←aabb 6
callc,$aabb DC bb aa ℂ?SP++PC←aabb 6/3
callnc,$aabb D4 bb aa ℂ!SP++PC←aabb 6/3
callz,$aabb C4 bb aa 𝟘?SP++PC←aabb 6/3
callnz,$aabb CC bb aa 𝟘!SP++PC←aabb 6/3
📄️ 📦️ 📬️ ✉️ ⏱️
jp$aabb C3 bb aa PC=aabb 4
jpc,$aabb DA bb aa ℂ?PC=aabb 4/3
jpnc,$aabb D2 bb aa ℂ!PC=aabb 4/3
jpz,$aabb C2 bb aa 𝟘?PC=aabb 4/3
jpnz,$aabb CA bb aa 𝟘!PC=aabb 4/3
jp (HL) E9 PC=HL 1
📄️ 📦️ 📬️ ✉️ ⏱️
jr$aabb 18 bb aa PC=aabb 3
jrc,$aabb 38 bb aa ℂ?PC+=aabb 3/2
jrnc,$aabb 20 bb aa ℂ!PC+=aabb 3/2
jrz,$aabb 20 bb aa 𝟘?PC+=aabb 3/2
jrnz,$aabb 28 bb aa 𝟘!PC+=aabb 3/2
📄️ 📦️ 📬️ ✉️ ⏱️
ret C9 PC=--sp 4
retc D8 ℂ?PC=--sp 5/2
retnc D0 ℂ!PC=--sp 5/2
retnz C0 𝟘?PC=--sp 5/2
retz C8 𝟘!PC=--sp 5/2
📄️ 📦️ 📬️ ✉️ ⏱️
rst$00 C7 PC=00 4
rst$08 CF PC=08 4
rst$10 D7 PC=10 4
rst$18 DF PC=18 4
rst$20 E7 PC=20 4
rst$28 EF PC=28 4
rst$30 F7 PC=30 4
rst$38 FF PC=38 4
📄️ 📦️ 📬️ ✉️ ⏱️
reti D9 𝕀=1; PC=--sp 4
📄️ 📦️ 📬️ ✉️ ⏱️
di F3 𝕀=0 1
📄️ 📦️ 📬️ ✉️ ⏱️
ei FB 𝕀=1 1
📄️ 📦️ 📬️ ✉️ ⏱️
halt 76 PC=PC-1 :-P
📄️ 📦️
stop 10 00

8bit Load Commands

📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
ldB,B 40 B=B 4
ldB,C 41 B=C 4
ldB,D 42 B=D 4
ldB,E 43 B=E 4
ldB,H 44 B=H 4
ldB,L 45 B=L 4
ldB,(HL) 46 B=HL 8
ldB,A 47 B=A 4
📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
ldC,B 48 C=B 4
ldC,C 49 C=C 4
ldC,D 4A C=D 4
ldC,E 4B C=E 4
ldC,H 4C C=H 4
ldC,L 4D C=L 4
ldC,(HL) 4E C=HL 8
ldC,A 4F C=A 4
📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
ldD,B 50 D=B 4
ldD,C 51 D=C 4
ldD,D 52 D=D 4
ldD,E 53 D=E 4
ldD,H 54 D=H 4
ldD,L 55 D=L 4
ldD,(HL) 56 D=HL 8
ldD,A 57 D=A 4
📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
ldE,B 58 E=B 4
ldE,C 59 E=C 4
ldE,D 5A E=D 4
ldE,E 5B E=E 4
ldE,H 5C E=H 4
ldE,L 5D E=L 4
ldE,(HL) 5E E=HL 8
ldE,A 5F E=A 4
📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
ldH,B 60 H=B 4
ldH,C 61 H=C 4
ldH,D 62 H=D 4
ldH,E 63 H=E 4
ldH,H 64 H=H 4
ldH,L 65 H=L 4
ldH,(HL) 66 H=HL 8
ldH,A 67 H=A 4
📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
ldL,B 68 L=B 4
ldL,C 69 L=C 4
ldL,D 6A L=D 4
ldL,E 6B L=E 4
ldL,H 6C L=H 4
ldL,L 6D L=L 4
ldL,(HL) 6E L=HL 8
ldL,A 6F L=A 4
📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
ld(HL),B 70 HL=B 8
ld(HL),C 71 HL=C 8
ld(HL),D 72 HL=D 8
ld(HL),E 73 HL=E 8
ld(HL),H 74 HL=H 8
ld(HL),L 75 HL=L 8
ld(HL),A 77 HL=A 8
📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
ldA,B 78 A=B 4
ldA,C 79 A=C 4
ldA,D 7A A=D 4
ldA,E 7B A=E 4
ldA,H 7C A=H 4
ldA,L 7D A=L 4
ldA,(HL) 7E A=HL 8
ldA,A 7F A=A 4
📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
ldB,$kk 06 kk B=kk 8
ldC,$kk 0E kk C=kk 8
ldD,$kk 16 kk D=kk 8
ldE,$kk 1E kk E=kk 8
ldH,$kk 26 kk H=kk 8
ldL,$kk 2E kk L=kk 8
ld(HL),$kk 36 kk HL=kk 12
ldA,$kk 3E kk A=kk 8
📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
ldA,(BC) 0A A=BC 8
ldA,(DE) 1A A=DE 8
ldA,(kk) FA kk kk A=kk 16
📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
ld(BC),A 02 BC=A 8
ld(DE),A 12 DE=A 8
ld(kk),A EA kk kk kk=A 16
📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
ldA,FFkk F0 kk A=FFkk 12
ldA,FF00+C F2 A=FF00+C 8
📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
ldFFkk,A E0 kk FFkk=A 12
ldFF00+C,A E2 FF00+C=A 8
📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
ldi(HL),A 22 HL++=A 8
ldd(HL),A 32 HL--=A 8
📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
ldiA,(HL) 2A A=HL++ 8
lddA,(HL) 3A A=HL-- 8

16bit Load Commands

📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
ldBC,kkkk 01 kk kk BC=kkkk 12
ldDE,kkkk 11 kk kk DE=kkkk 12
ldHL,kkkk 21 kk kk HL=kkkk 12
ldSP,kkkk 31 kk kk SP=kkkk 12
📄️ 📦️ 📬️ ✉️ 𝟘 ⏱️
ldSP,HL F9 SP=HL 8

Rotate & Shift Operations

Bit Operations