Talk:S1C88 InstructionSet
Instruction list
This is a copy of the list on the page but deviates from it in that this is a complete list of all possible opcodes on the PM (including illegal ones). Needless to say; all the new/illegal opcodes were tested on an actual Pokemon Mini.
Hex | Mnemonic | Cycles | *3 | Notes |
---|---|---|---|---|
FF | NOP | 8 | ||
40 | MOV A, A | 4 | ||
41 | MOV A, B | 4 | ||
42 | MOV A, L | 4 | ||
43 | MOV A, H | 4 | ||
44 nn | MOV A, [N+#nn] | 12 | ||
45 | MOV A, [HL] | 8 | ||
46 | MOV A, [X] | 8 | ||
47 | MOV A, [Y] | 8 | ||
48 | MOV B, A | 4 | ||
49 | MOV B, B | 4 | ||
4A | MOV B, L | 4 | ||
4B | MOV B, H | 4 | ||
4C nn | MOV B, [N+#nn] | 12 | ||
4D | MOV B, [HL] | 8 | ||
4E | MOV B, [X] | 8 | ||
4F | MOV B, [Y] | 8 | ||
50 | MOV L, A | 4 | ||
51 | MOV L, B | 4 | ||
52 | MOV L, L | 4 | ||
53 | MOV L, H | 4 | ||
54 nn | MOV L, [N+#nn] | 12 | ||
55 | MOV L, [HL] | 8 | ||
56 | MOV L, [X] | 8 | ||
57 | MOV L, [Y] | 8 | ||
58 | MOV H, A | 4 | ||
59 | MOV H, B | 4 | ||
5A | MOV H, L | 4 | ||
5B | MOV H, H | 4 | ||
5C nn | MOV H, [N+#nn] | 12 | ||
5D | MOV H, [HL] | 8 | ||
5E | MOV H, [X] | 8 | ||
5F | MOV H, [Y] | 8 | ||
60 | MOV [X], A | 8 | ||
61 | MOV [X], B | 8 | ||
62 | MOV [X], L | 8 | ||
63 | MOV [X], H | 8 | ||
64 nn | MOV [X], [N+#nn] | 16 | ||
65 | MOV [X], [HL] | 12 | ||
66 | MOV [X], [X] | 12 | ||
67 | MOV [X], [Y] | 12 | ||
68 | MOV [HL], A | 8 | ||
69 | MOV [HL], B | 8 | ||
6A | MOV [HL], L | 8 | ||
6B | MOV [HL], H | 8 | ||
6C nn | MOV [HL], [N+#nn] | 16 | ||
6D | MOV [HL], [HL] | 12 | ||
6E | MOV [HL], [X] | 12 | ||
6F | MOV [HL], [Y] | 12 | ||
70 | MOV [Y], A | 8 | ||
71 | MOV [Y], B | 8 | ||
72 | MOV [Y], L | 8 | ||
73 | MOV [Y], H | 8 | ||
74 nn | MOV [Y], [N+#nn] | 16 | ||
75 | MOV [Y], [HL] | 12 | ||
76 | MOV [Y], [X] | 12 | ||
77 | MOV [Y], [Y] | 12 | ||
78 nn | MOV [N+#nn], A | 12 | ||
79 nn | MOV [N+#nn], B | 12 | ||
7A nn | MOV [N+#nn], L | 12 | ||
7B nn | MOV [N+#nn], H | 12 | ||
7D nn | MOV [N+#nn], [HL] | 16 | ||
7E nn | MOV [N+#nn], [X] | 16 | ||
7F nn | MOV [N+#nn], [Y] | 16 | ||
9F nn | MOV F, #nn | 12 | ||
B0 nn | MOV A, #nn | 8 | ||
B1 nn | MOV B, #nn | 8 | ||
B2 nn | MOV L, #nn | 8 | ||
B3 nn | MOV H, #nn | 8 | ||
B4 nn | MOV N, #nn | 8 | ||
B5 nn | MOV [HL], #nn | 12 | ||
B6 nn | MOV [X], #nn | 12 | ||
B7 nn | MOV [Y], #nn | 12 | ||
DD nn nn | MOV [N+#nn], #nn | 16 | ||
CE C4 nn | MOV U, #nn | 16 | ||
CE C5 nn | MOV I, #nn | 12 | ||
CE C6 nn | MOV XI, #nn | 12 | ||
CE C7 nn | MOV YI, #nn | 12 | ||
CE 40 ss | MOV A, [X+#ss] | 16 | ||
CE 41 ss | MOV A, [Y+#ss] | 16 | ||
CE 42 | MOV A, [X+L] | 16 | ||
CE 43 | MOV A, [Y+L] | 16 | ||
CE 48 ss | MOV B, [X+#ss] | 16 | ||
CE 49 ss | MOV B, [Y+#ss] | 16 | ||
CE 4A | MOV B, [X+L] | 16 | ||
CE 4B | MOV B, [Y+L] | 16 | ||
CE 50 ss | MOV L, [X+#ss] | 16 | ||
CE 51 ss | MOV L, [Y+#ss] | 16 | ||
CE 52 | MOV L, [X+L] | 16 | ||
CE 53 | MOV L, [Y+L] | 16 | ||
CE 58 ss | MOV H, [X+#ss] | 16 | ||
CE 59 ss | MOV H, [Y+#ss] | 16 | ||
CE 5A | MOV H, [X+L] | 16 | ||
CE 5B | MOV H, [Y+L] | 16 | ||
CE 44 ss | MOV [X+#ss], A | 16 | ||
CE 45 ss | MOV [Y+#ss], A | 16 | ||
CE 46 | MOV [X+L], A | 16 | ||
CE 47 | MOV [Y+L], A | 16 | ||
CE 4C ss | MOV [X+#ss], B | 16 | ||
CE 4D ss | MOV [Y+#ss], B | 16 | ||
CE 4E | MOV [X+L], B | 16 | ||
CE 4F | MOV [Y+L], B | 16 | ||
CE 54 ss | MOV [X+#ss], L | 16 | ||
CE 55 ss | MOV [Y+#ss], L | 16 | ||
CE 56 | MOV [X+L], L | 16 | ||
CE 57 | MOV [Y+L], L | 16 | ||
CE 5C ss | MOV [X+#ss], H | 16 | ||
CE 5D ss | MOV [Y+#ss], H | 16 | ||
CE 5E | MOV [X+L], H | 16 | ||
CE 5F | MOV [Y+L], H | 16 | ||
CE 60 ss | MOV [HL], [X+#ss] | 20 | ||
CE 61 ss | MOV [HL], [Y+#ss] | 20 | ||
CE 62 | MOV [HL], [X+L] | 20 | ||
CE 63 | MOV [HL], [Y+L] | 20 | ||
CE 68 ss | MOV [X], [X+#ss] | 20 | ||
CE 69 ss | MOV [X], [Y+#ss] | 20 | ||
CE 6A | MOV [X], [X+L] | 20 | ||
CE 6B | MOV [X], [Y+L] | 20 | ||
CE 78 ss | MOV [Y], [X+#ss] | 20 | ||
CE 79 ss | MOV [Y], [Y+#ss] | 20 | ||
CE 7A | MOV [Y], [X+L] | 20 | ||
CE 7B | MOV [Y], [Y+L] | 20 | ||
B8 nn nn | MOV BA, [#nnnn] | 20 | ||
B9 nn nn | MOV HL, [#nnnn] | 20 | ||
BA nn nn | MOV X, [#nnnn] | 20 | ||
BB nn nn | MOV Y, [#nnnn] | 20 | ||
CF 78 nn nn | MOV SP, [#nnnn] | 24 | ||
BC nn nn | MOV [#nnnn], BA | 20 | ||
BD nn nn | MOV [#nnnn], HL | 20 | ||
BE nn nn | MOV [#nnnn], X | 20 | ||
BF nn nn | MOV [#nnnn], Y | 20 | ||
CF 7C nn nn | MOV [#nnnn], SP | 24 | ||
C4 nn nn | MOV BA, #nnnn | 12 | ||
C5 nn nn | MOV HL, #nnnn | 12 | ||
C6 nn nn | MOV X, #nnnn | 12 | ||
C7 nn nn | MOV Y, #nnnn | 12 | ||
CF 6E nn nn | MOV SP, #nnnn | 16 | ||
CE C0 | MOV A, N | 8 | ||
CE C1 | MOV A, F | 8 | ||
CE C8 | MOV A, V | 8 | ||
CE C9 | MOV A, I | 8 | ||
CE CA | MOV A, XI | 8 | ||
CE CB | MOV A, YI | 8 | ||
CE C2 | MOV N, A | 8 | ||
CE C3 | MOV F, A | 12 | ||
CE CC | MOV U, A | 12 | ||
CE CD | MOV I, A | 8 | ||
CE CE | MOV XI, A | 8 | ||
CE CF | MOV YI, A | 8 | ||
CE D0 nn nn | MOV A, [#nnnn] | 20 | ||
CE D1 nn nn | MOV B, [#nnnn] | 20 | ||
CE D2 nn nn | MOV L, [#nnnn] | 20 | ||
CE D3 nn nn | MOV H, [#nnnn] | 20 | ||
CE D4 nn nn | MOV [#nnnn], A | 20 | ||
CE D5 nn nn | MOV [#nnnn], B | 20 | ||
CE D6 nn nn | MOV [#nnnn], L | 20 | ||
CE D7 nn nn | MOV [#nnnn], H | 20 | ||
CF 70 ss | MOV BA, [SP+#ss] | 24 | ||
CF 71 ss | MOV HL, [SP+#ss] | 24 | ||
CF 72 ss | MOV X, [SP+#ss] | 24 | ||
CF 73 ss | MOV Y, [SP+#ss] | 24 | ||
CF 74 ss | MOV [SP+#ss], BA | 24 | ||
CF 75 ss | MOV [SP+#ss], HL | 24 | ||
CF 76 ss | MOV [SP+#ss], X | 24 | ||
CF 77 ss | MOV [SP+#ss], Y | 24 | ||
CF C0 | MOV BA, [HL] | 20 | ||
CF C1 | MOV HL, [HL] | 20 | ||
CF C2 | MOV X, [HL] | 20 | ||
CF C3 | MOV Y, [HL] | 20 | ||
CF D0 | MOV BA, [X] | 20 | ||
CF D1 | MOV HL, [X] | 20 | ||
CF D2 | MOV X, [X] | 20 | ||
CF D3 | MOV Y, [X] | 20 | ||
CF D8 | MOV BA, [Y] | 20 | ||
CF D9 | MOV HL, [Y] | 20 | ||
CF DA | MOV X, [Y] | 20 | ||
CF DB | MOV Y, [Y] | 20 | ||
CF C4 | MOV [HL], BA | 20 | ||
CF C5 | MOV [HL], HL | 20 | ||
CF C6 | MOV [HL], X | 20 | ||
CF C7 | MOV [HL], Y | 20 | ||
CF D4 | MOV [X], BA | 20 | ||
CF D5 | MOV [X], HL | 20 | ||
CF D6 | MOV [X], X | 20 | ||
CF D7 | MOV [X], Y | 20 | ||
CF DC | MOV [Y], BA | 20 | ||
CF DD | MOV [Y], HL | 20 | ||
CF DE | MOV [Y], X | 20 | ||
CF DF | MOV [Y], Y | 20 | ||
CF E0 | MOV BA, BA | 8 | ||
CF E1 | MOV BA, HL | 8 | ||
CF E2 | MOV BA, X | 8 | ||
CF E3 | MOV BA, Y | 8 | ||
CF E4 | MOV HL, BA | 8 | ||
CF E5 | MOV HL, HL | 8 | ||
CF E6 | MOV HL, X | 8 | ||
CF E7 | MOV HL, Y | 8 | ||
CF E8 | MOV X, BA | 8 | ||
CF E9 | MOV X, HL | 8 | ||
CF EA | MOV X, X | 8 | ||
CF EB | MOV X, Y | 8 | ||
CF EC | MOV Y, BA | 8 | ||
CF ED | MOV Y, HL | 8 | ||
CF EE | MOV Y, X | 8 | ||
CF EF | MOV Y, Y | 8 | ||
CF F0 | MOV SP, BA | 8 | ||
CF F1 | MOV SP, HL | 8 | ||
CF F2 | MOV SP, X | 8 | ||
CF F3 | MOV SP, Y | 8 | ||
CF F4 | MOV HL, SP | 8 | ||
CF F5 | MOV HL, PC | 8 | ||
CF F8 | MOV BA, SP | 8 | ||
CF F9 | MOV BA, PC | 8 | ||
CF FA | MOV X, SP | 8 | ||
CF FE | MOV Y, SP | 8 | ||
00 | ADD A, A | 8 | ||
01 | ADD A, B | 8 | ||
02 nn | ADD A, #nn | 8 | ||
03 | ADD A, [HL] | 8 | ||
04 nn | ADD A, [N+#nn] | 12 | ||
05 nn nn | ADD A, [#nnnn] | 16 | ||
06 | ADD A, [X] | 8 | ||
07 | ADD A, [Y] | 8 | ||
C0 nn nn | ADD BA, #nnnn | 12 | ||
C1 nn nn | ADD HL, #nnnn | 12 | ||
C2 nn nn | ADD X, #nnnn | 12 | ||
C3 nn nn | ADD Y, #nnnn | 12 | ||
CF 68 nn nn | ADD SP, #nnnn | 16 | ||
CE 00 ss | ADD A, [X+#ss] | 16 | ||
CE 01 ss | ADD A, [Y+#ss] | 16 | ||
CE 02 | ADD A, [X+L] | 16 | ||
CE 03 | ADD A, [Y+L] | 16 | ||
CE 04 | ADD [HL], A | 16 | ||
CE 05 nn | ADD [HL], #nn | 20 | ||
CE 06 | ADD [HL], [X] | 20 | ||
CE 07 | ADD [HL], [Y] | 20 | ||
CF 00 | ADD BA, BA | 16 | ||
CF 01 | ADD BA, HL | 16 | ||
CF 02 | ADD BA, X | 16 | ||
CF 03 | ADD BA, Y | 16 | ||
CF 20 | ADD HL, BA | 16 | ||
CF 21 | ADD HL, HL | 16 | ||
CF 22 | ADD HL, X | 16 | ||
CF 23 | ADD HL, Y | 16 | ||
CF 40 | ADD X, BA | 16 | ||
CF 41 | ADD X, HL | 16 | ||
CF 42 | ADD Y, BA | 16 | ||
CF 43 | ADD Y, HL | 16 | ||
CF 44 | ADD SP, BA | 16 | ||
CF 45 | ADD SP, HL | 16 | ||
10 | SUB A, A | 8 | ||
11 | SUB A, B | 8 | ||
12 nn | SUB A, #nn | 8 | ||
13 | SUB A, [HL] | 8 | ||
14 nn | SUB A, [N+#nn] | 12 | ||
15 nn nn | SUB A, [#nnnn] | 16 | ||
16 | SUB A, [X] | 8 | ||
17 | SUB A, [Y] | 8 | ||
D0 nn nn | SUB BA, #nnnn | 12 | ||
D1 nn nn | SUB HL, #nnnn | 12 | ||
D2 nn nn | SUB X, #nnnn | 12 | ||
D3 nn nn | SUB Y, #nnnn | 12 | ||
CF 6A nn nn | SUB SP, #nnnn | 16 | ||
CE 10 ss | SUB A, [X+#ss] | 16 | ||
CE 11 ss | SUB A, [Y+#ss] | 16 | ||
CE 12 | SUB A, [X+L] | 16 | ||
CE 13 | SUB A, [Y+L] | 16 | ||
CE 14 | SUB [HL], A | 16 | ||
CE 15 nn | SUB [HL], #nn | 20 | ||
CE 16 | SUB [HL], [X] | 20 | ||
CE 17 | SUB [HL], [Y] | 20 | ||
CF 08 | SUB BA, BA | 16 | ||
CF 09 | SUB BA, HL | 16 | ||
CF 0A | SUB BA, X | 16 | ||
CF 0B | SUB BA, Y | 16 | ||
CF 28 | SUB HL, BA | 16 | ||
CF 29 | SUB HL, HL | 16 | ||
CF 2A | SUB HL, X | 16 | ||
CF 2B | SUB HL, Y | 16 | ||
CF 48 | SUB X, BA | 16 | ||
CF 49 | SUB X, HL | 16 | ||
CF 4A | SUB Y, BA | 16 | ||
CF 4B | SUB Y, HL | 16 | ||
CF 4C | SUB SP, BA | 16 | ||
CF 4D | SUB SP, HL | 16 | ||
08 | ADC A, A | 8 | ||
09 | ADC A, B | 8 | ||
0A nn | ADC A, #nn | 8 | ||
0B | ADC A, [HL] | 8 | ||
0C nn | ADC A, [N+#nn] | 12 | ||
0D nn nn | ADC A, [#nnnn] | 16 | ||
0E | ADC A, [X] | 8 | ||
0F | ADC A, [Y] | 8 | ||
CE 08 ss | ADC A, [X+#ss] | 16 | ||
CE 09 ss | ADC A, [Y+#ss] | 16 | ||
CE 0A | ADC A, [X+L] | 16 | ||
CE 0B | ADC A, [Y+L] | 16 | ||
CE 0C | ADC [HL], A | 16 | ||
CE 0D nn | ADC [HL], #nn | 20 | ||
CE 0E | ADC [HL], [X] | 20 | ||
CE 0F | ADC [HL], [Y] | 20 | ||
CF 04 | ADC BA, BA | 16 | ||
CF 05 | ADC BA, HL | 16 | ||
CF 06 | ADC BA, X | 16 | ||
CF 07 | ADC BA, Y | 16 | ||
CF 24 | ADC HL, BA | 16 | ||
CF 25 | ADC HL, HL | 16 | ||
CF 26 | ADC HL, X | 16 | ||
CF 27 | ADC HL, Y | 16 | ||
CF 60 nn nn | ADC BA, #nnnn | 16 | ||
CF 61 nn nn | ADC HL, #nnnn | 16 | ||
18 | SBC A, A | 8 | ||
19 | SBC A, B | 8 | ||
1A nn | SBC A, #nn | 8 | ||
1B | SBC A, [HL] | 8 | ||
1C nn | SBC A, [N+#nn] | 12 | ||
1D nn nn | SBC A, [#nnnn] | 16 | ||
1E | SBC A, [X] | 8 | ||
1F | SBC A, [Y] | 8 | ||
CE 18 ss | SBC A, [X+#ss] | 16 | ||
CE 19 ss | SBC A, [Y+#ss] | 16 | ||
CE 1A | SBC A, [X+L] | 16 | ||
CE 1B | SBC A, [Y+L] | 16 | ||
CE 1C | SBC [HL], A | 16 | ||
CE 1D nn | SBC [HL], #nn | 20 | ||
CE 1E | SBC [HL], [X] | 20 | ||
CE 1F | SBC [HL], [Y] | 20 | ||
CF 0C | SBC BA, BA | 16 | ||
CF 0D | SBC BA, HL | 16 | ||
CF 0E | SBC BA, X | 16 | ||
CF 0F | SBC BA, Y | 16 | ||
CF 2C | SBC HL, BA | 16 | ||
CF 2D | SBC HL, HL | 16 | ||
CF 2E | SBC HL, X | 16 | ||
CF 2F | SBC HL, Y | 16 | ||
CF 62 nn nn | SBC BA, #nnnn | 16 | ||
CF 63 nn nn | SBC HL, #nnnn | 16 | ||
30 | CMP A, A | 8 | ||
31 | CMP A, B | 8 | ||
32 nn | CMP A, #nn | 8 | ||
33 | CMP A, [HL] | 8 | ||
34 nn | CMP A, [N+#nn] | 12 | ||
35 nn nn | CMP A, [#nnnn] | 16 | ||
36 | CMP A, [X] | 8 | ||
37 | CMP A, [Y] | 8 | ||
D4 nn nn | CMP BA, #nnnn | 12 | ||
D5 nn nn | CMP HL, #nnnn | 12 | ||
D6 nn nn | CMP X, #nnnn | 12 | ||
D7 nn nn | CMP Y, #nnnn | 12 | ||
CF 6C nn nn | CMP SP, #nnnn | 16 | ||
DB nn nn | CMP [N+#nn], #nn | 16 | ||
CE 30 ss | CMP A, [X+#ss] | 16 | ||
CE 31 ss | CMP A, [Y+#ss] | 16 | ||
CE 32 | CMP A, [X+L] | 16 | ||
CE 33 | CMP A, [Y+L] | 16 | ||
CE 34 | CMP [HL], A | 16 | ||
CE 35 nn | CMP [HL], #nn | 20 | ||
CE 36 | CMP [HL], [X] | 20 | ||
CE 37 | CMP [HL], [Y] | 20 | ||
CE BC nn | CMP B, #nn | 12 | ||
CE BD nn | CMP L, #nn | 12 | ||
CE BE nn | CMP H, #nn | 12 | ||
CE BF nn | CMP N, #nn | 12 | ||
CF 18 | CMP BA, BA | 16 | ||
CF 19 | CMP BA, HL | 16 | ||
CF 1A | CMP BA, X | 16 | ||
CF 1B | CMP BA, Y | 16 | ||
CF 38 | CMP HL, BA | 16 | ||
CF 39 | CMP HL, HL | 16 | ||
CF 3A | CMP HL, X | 16 | ||
CF 3B | CMP HL, Y | 16 | ||
CF 5C | CMP SP, BA | 16 | ||
CF 5D | CMP SP, HL | 16 | ||
80 | INC A | 8 | ||
81 | INC B | 8 | ||
82 | INC L | 8 | ||
83 | INC H | 8 | ||
84 | INC N | 8 | ||
85 nn | INC [N+#nn] | 16 | ||
86 | INC [HL] | 12 | ||
87 | INC SP | 8 | ||
90 | INC BA | 8 | ||
91 | INC HL | 8 | ||
92 | INC X | 8 | ||
93 | INC Y | 8 | ||
88 | DEC A | 8 | ||
89 | DEC B | 8 | ||
8A | DEC L | 8 | ||
8B | DEC H | 8 | ||
8C | DEC N | 8 | ||
8D nn | DEC [N+#nn] | 16 | ||
8E | DEC [HL] | 12 | ||
8F | DEC SP | 8 | ||
98 | DEC BA | 8 | ||
99 | DEC HL | 8 | ||
9A | DEC X | 8 | ||
9B | DEC Y | 8 | ||
CE A4 | NEG A | 12 | ||
CE A5 | NEG B | 12 | ||
CE A6 | NEG [N+#nn] | 20 | ||
CE A7 | NEG [HL] | 16 | ||
CE D8 | MUL L, A | 48 | ||
CE D9 | DIV HL, A | 52 | ||
94 | TST A, B | 8 | ||
95 nn | TST [HL], #nn | 12 | ||
96 nn | TST A, #nn | 8 | ||
97 nn | TST B, #nn | 8 | ||
DC nn nn | TST [N+#nn], #nn | 16 | ||
20 | AND A, A | 8 | ||
21 | AND A, B | 8 | ||
22 nn | AND A, #nn | 8 | ||
23 | AND A, [HL] | 8 | ||
24 nn | AND A, [N+#nn] | 12 | ||
25 nn nn | AND A, [#nnnn] | 16 | ||
26 | AND A, [X] | 8 | ||
27 | AND A, [Y] | 8 | ||
9C nn | AND F, #nn | 12 | ||
CE B0 nn | AND B, #nn | 12 | ||
CE B1 nn | AND L, #nn | 12 | ||
CE B2 nn | AND H, #nn | 12 | ||
D8 nn nn | AND [N+#nn], #nn | 20 | ||
CE 20 ss | AND A, [X+#ss] | 16 | ||
CE 21 ss | AND A, [Y+#ss] | 16 | ||
CE 22 | AND A, [X+L] | 16 | ||
CE 23 | AND A, [Y+L] | 16 | ||
CE 24 | AND [HL], A | 16 | ||
CE 25 nn | AND [HL], #nn | 20 | ||
CE 26 | AND [HL], [X] | 20 | ||
CE 27 | AND [HL], [Y] | 20 | ||
28 | OR A, A | 8 | ||
29 | OR A, B | 8 | ||
2A nn | OR A, #nn | 8 | ||
2B | OR A, [HL] | 8 | ||
2C nn | OR A, [N+#nn] | 12 | ||
2D nn nn | OR A, [#nnnn] | 16 | ||
2E | OR A, [X] | 8 | ||
2F | OR A, [Y] | 8 | ||
9D nn | OR F, #nn | 12 | ||
CE B4 nn | OR B, #nn | 12 | ||
CE B5 nn | OR L, #nn | 12 | ||
CE B6 nn | OR H, #nn | 12 | ||
D9 nn nn | OR [N+#nn], #nn | 20 | ||
CE 28 ss | OR A, [X+#ss] | 16 | ||
CE 29 ss | OR A, [Y+#ss] | 16 | ||
CE 2A | OR A, [X+L] | 16 | ||
CE 2B | OR A, [Y+L] | 16 | ||
CE 2C | OR [HL], A | 16 | ||
CE 2D nn | OR [HL], #nn | 20 | ||
CE 2E | OR [HL], [X] | 20 | ||
CE 2F | OR [HL], [Y] | 20 | ||
38 | XOR A, A | 8 | ||
39 | XOR A, B | 8 | ||
3A nn | XOR A, #nn | 8 | ||
3B | XOR A, [HL] | 8 | ||
3C nn | XOR A, [N+#nn] | 12 | ||
3D nn nn | XOR A, [#nnnn] | 16 | ||
3E | XOR A, [X] | 8 | ||
3F | XOR A, [Y] | 8 | ||
9E nn | XOR F, #nn | 12 | ||
CE B8 nn | XOR B, #nn | 12 | ||
CE B9 nn | XOR L, #nn | 12 | ||
CE BA nn | XOR H, #nn | 12 | ||
DA nn nn | XOR [N+#nn], #nn | 20 | ||
CE 38 ss | XOR A, [X+#ss] | 16 | ||
CE 39 ss | XOR A, [Y+#ss] | 16 | ||
CE 3A | XOR A, [X+L] | 16 | ||
CE 3B | XOR A, [Y+L] | 16 | ||
CE 3C | XOR [HL], A | 16 | ||
CE 3D nn | XOR [HL], #nn | 20 | ||
CE 3E | XOR [HL], [X] | 20 | ||
CE 3F | XOR [HL], [Y] | 20 | ||
CE A0 | NOT A | 12 | ||
CE A1 | NOT B | 12 | ||
CE A2 | NOT [N+#nn] | 20 | ||
CE A3 | NOT [HL] | 16 | ||
CE 84 | SHL A | 12 | ||
CE 85 | SHL B | 12 | ||
CE 86 | SHL [N+#nn] | 20 | ||
CE 87 | SHL [HL] | 16 | ||
CE 80 | SAL A | 12 | ||
CE 81 | SAL B | 12 | ||
CE 82 | SAL [N+#nn] | 20 | ||
CE 83 | SAL [HL] | 16 | ||
CE 8C | SHR A | 12 | ||
CE 8D | SHR B | 12 | ||
CE 8E | SHR [N+#nn] | 20 | ||
CE 8F | SHR [HL] | 16 | ||
CE 88 | SAR A | 12 | ||
CE 89 | SAR B | 12 | ||
CE 8A | SAR [N+#nn] | 20 | ||
CE 8B | SAR [HL] | 16 | ||
CE 94 | ROL A | 12 | ||
CE 95 | ROL B | 12 | ||
CE 96 | ROL [N+#nn] | 20 | ||
CE 97 | ROL [HL] | 16 | ||
CE 90 | ROLC A | 12 | ||
CE 91 | ROLC B | 12 | ||
CE 92 | ROLC [N+#nn] | 20 | ||
CE 93 | ROLC [HL] | 16 | ||
CE 9C | ROR A | 12 | ||
CE 9D | ROR B | 12 | ||
CE 9E | ROR [N+#nn] | 20 | ||
CE 9F | ROR [HL] | 16 | ||
CE 98 | RORC A | 12 | ||
CE 99 | RORC B | 12 | ||
CE 9A | RORC [N+#nn] | 20 | ||
CE 9B | RORC [HL] | 16 | ||
C8 | XCHG BA, HL | 12 | ||
C9 | XCHG BA, X | 12 | ||
CA | XCHG BA, Y | 12 | ||
CB | XCHG BA, SP | 12 | ||
CC | XCHG A, B | 8 | ||
CD | XCHG A, [HL] | 12 | ||
DE | PACK | 8 | ||
DF | UNPACK | 8 | ||
F6 | SWAP A | 8 | ||
F7 | SWAP [HL] | 12 | ||
CE A8 | EX BA, A | 12 | ||
A0 | PUSH BA | 16 | ||
A1 | PUSH HL | 16 | ||
A2 | PUSH X | 16 | ||
A3 | PUSH Y | 16 | ||
A4 | PUSH N | 12 | ||
A5 | PUSH I | 12 | ||
A6 | PUSHX | 16 | ||
A7 | PUSH F | 12 | ||
CF B0 | PUSH A | 12 | ||
CF B1 | PUSH B | 12 | ||
CF B2 | PUSH L | 12 | ||
CF B3 | PUSH H | 12 | ||
CF B8 | PUSHA | 48 | ||
CF B9 | PUSHAX | 60 | ||
A8 | POP BA | 12 | ||
A9 | POP HL | 12 | ||
AA | POP X | 12 | ||
AB | POP Y | 12 | ||
AC | POP N | 8 | ||
AD | POP I | 8 | ||
AE | POPX | 12 | ||
AF | POP F | 8 | ||
CF B4 | POP A | 12 | ||
CF B5 | POP B | 12 | ||
CF B6 | POP L | 12 | ||
CF B7 | POP H | 12 | ||
CF BC | POPA | 32 | ||
CF BD | POPAX | 40 | ||
E0 ss | CALLC #ss | 20 / 8 (Not met) | ||
E1 ss | CALLNC #ss | 20 / 8 (Not met) | ||
E2 ss | CALLZ #ss | 20 / 8 (Not met) | ||
E3 ss | CALLNZ #ss | 20 / 8 (Not met) | ||
E8 ss ss | CALLCW #ssss | 24 / 12 (Not met) | ||
E9 ss ss | CALLNCW #ssss | 24 / 12 (Not met) | ||
EA ss ss | CALLZW #ssss | 24 / 12 (Not met) | ||
EB ss ss | CALLNZW #ssss | 24 / 12 (Not met) | ||
F0 ss | CALL #ss | 20 | ||
F2 ss ss | CALLW #ssss | 24 | ||
FB nn nn | CALL [#nnnn] | 20 | ||
FC nn | CINT #nn | 20 | ||
CE F0 ss | CALLL #ss | 24 / 12 (Not met) | ||
CE F1 ss | CALLLE #ss | 24 / 12 (Not met) | ||
CE F2 ss | CALLG #ss | 24 / 12 (Not met) | ||
CE F3 ss | CALLGE #ss | 24 / 12 (Not met) | ||
CE F4 ss | CALLO #ss | 24 / 12 (Not met) | ||
CE F5 ss | CALLNO #ss | 24 / 12 (Not met) | ||
CE F6 ss | CALLNS #ss | 24 / 12 (Not met) | ||
CE F7 ss | CALLS #ss | 24 / 12 (Not met) | ||
CE F8 ss | CALLNX0 #ss | 24 / 12 (Not met) | ||
CE F9 ss | CALLNX1 #ss | 24 / 12 (Not met) | ||
CE FA ss | CALLNX2 #ss | 24 / 12 (Not met) | ||
CE FB ss | CALLNX3 #ss | 24 / 12 (Not met) | ||
CE FC ss | CALLX0 #ss | 24 / 12 (Not met) | ||
CE FD ss | CALLX1 #ss | 24 / 12 (Not met) | ||
CE FE ss | CALLX2 #ss | 24 / 12 (Not met) | ||
CE FF ss | CALLX3 #ss | 24 / 12 (Not met) | ||
E4 ss | JC #ss | 8 | ||
E5 ss | JNC #ss | 8 | ||
E6 ss | JZ #ss | 8 | ||
E7 ss | JNZ #ss | 8 | ||
EC ss ss | JCW #ssss | 12 | ||
ED ss ss | JNCW #ssss | 12 | ||
EE ss ss | JZW #ssss | 12 | ||
EF ss ss | JNZW #ssss | 12 | ||
F1 ss | JMP #ss | 8 | ||
F3 ss ss | JMPW #ssss | 12 | ||
F4 | JMP HL | 8 | ||
F5 ss | JDBNZ #ss | 16 | ||
FD nn | JINT #nn | 8 | ||
CE E0 ss | JL #ss | 12 | ||
CE E1 ss | JLE #ss | 12 | ||
CE E2 ss | JG #ss | 12 | ||
CE E3 ss | JGE #ss | 12 | ||
CE E4 ss | JO #ss | 12 | ||
CE E5 ss | JNO #ss | 12 | ||
CE E6 ss | JNS #ss | 12 | ||
CE E7 ss | JS #ss | 12 | ||
CE E8 ss | JNX0 #ss | 12 | ||
CE E9 ss | JNX1 #ss | 12 | ||
CE EA ss | JNX2 #ss | 12 | ||
CE EB ss | JNX3 #ss | 12 | ||
CE EC ss | JX0 #ss | 12 | ||
CE ED ss | JX1 #ss | 12 | ||
CE EE ss | JX2 #ss | 12 | ||
CE EF ss | JX3 #ss | 12 | ||
F8 | RET | 8 | ||
F9 | RETI | 8 | ||
FA | RETSKIP | 8 | ||
CE AE | HALT | 8 | ||
CE AF | STOP | 8 | ||
7C nn | 64 | X | Nothing!? *2 No flags affected | |
CE B3 | MOV H, V | 12 | X | Sets H to V |
CE B7 | 12 | X | Sets high byte of X to V | |
CE BB | 12 | X | Sets high byte of Y to V | |
CE 64 nn nn | *ADC BA, #nnnn | 16 | X | Seems to have the same behavior as "CF 60 nn nn" |
CE 65 nn nn | *ADC HL, #nnnn | 16 | X | Seems to have the same behavior as "CF 61 nn nn" |
CE 66 nn | Weird 16bit adder. | 24 | X | Some kind of very weird adder: increments B with nn, increments A with the value in L. When B overflows, A is incremented by 1. |
CE 67 nn | ??? | 24 | X | HL += (nn << 8) + L + Carry Set all flags |
CE 6C nn nn | *ADD SP, #nnnn | 16 | X | Seems to have the same behavior as "CF 68 nn nn" |
CE 6D nn | ??? | 40 | X | HL = Y + ((#nn >> 4) * 3) + ((#nn AND 0x0F) >> 3) Set all flags |
CE 6E nn | ??? | 16 | X | SP += (nn << 8) + L *1
Set all flags |
CE 6F | ??? | 40 | X | HL = Y + ((L >> 4) * 3) + ((L AND 0x0F) >> 3) Set all flags |
CE 70 nn | ??? | 64 | X | Nothing!? *2 No flags affected |
CE 71 nn | ??? | 64 | X | Nothing!? *2 No flags affected |
CE 72 | ??? | 64 | X | Nothing!? *2 No flags affected |
CE 73 | ??? | 64 | X | Nothing!? *2 No flags affected |
CE 74 ss | *MOV A, [X+#ss] | 64 | X | Seems to have the same behavior as "CE 40 ss" but running 4 times slower |
CE 75 ss | *MOV L, [Y+#ss] | 64 | X | Seems to have the same behavior as "CE 51 ss" but running 4 times slower |
CE 76 | *MOV A, [X+L] | 64 | X | Seems to have the same behavior as "CE 42" but running 4 times slower |
CE 77 | *MOV L, [Y+L] | 64 | X | Seems to have the same behavior as "CE 53" but running 4 times slower |
CE 7C nn | ??? | 20 | X | Nothing!? *2 No flags affected |
CE 7D nn | ??? | 16 | X | Nothing!? *2 No flags affected |
CE 7E | ??? | 20 | X | Nothing!? *2 No flags affected |
CE 7F | ??? | 16 | X | Nothing!? *2 No flags affected |
CE A9 | ??? | 8 | X | Nothing!? *2 No flags affected |
CE AA | ??? | 12 | X | Nothing!? *2 No flags affected |
CE AB | ??? | ??? | X | Crash the tester... must modify N, I, XI, YI or HALT |
CE AC | ??? | ??? | X | Crash the tester... must modify N, I, XI, YI or HALT |
CE AD | ??? | ??? | X | Crash the tester... must modify N, I, XI, YI or HALT |
CE DA nn | ??? | 16 | X | Cause weird stuff to happen and/or crashes Register A may increment or decrement by 1 |
CE DB nn | ??? | 16, 20? | X | Cause weird stuff to happen and/or crashes Register A may increment or decrement by 1 |
CE DC | ??? | ??? | X | Crash the tester... must modify N, I, XI, YI or HALT |
CE DD | 16 | X | Does nothing No flags affected | |
CE DE nn | ??? | 16, 20? | X | Cause weird stuff to happen and/or crashes Register A may increment or decrement by 1 |
CE DF nn | ??? | 16, 20? | X | Cause weird stuff to happen and/or crashes Register A may increment or decrement by 1 |
CF 10 | *ADD BA, BA | 16 | X | Seems to be a mirror of "CF 00". |
CF 11 | *ADD BA, HL | 16 | X | Seems to be a mirror of "CF 01". |
CF 12 | *ADD BA, X | 16 | X | Seems to be a mirror of "CF 02". |
CF 13 | *ADD BA, Y | 16 | X | Seems to be a mirror of "CF 03". |
CF 14 | *ADC BA, BA | 16 | X | Seems to be a mirror of "CF 04". |
CF 15 | *ADC BA, HL | 16 | X | Seems to be a mirror of "CF 05". |
CF 16 | *ADC BA, X | 16 | X | Seems to be a mirror of "CF 06". |
CF 17 | *ADC BA, Y | 16 | X | Seems to be a mirror of "CF 07". |
CF 1C | *SBC BA, BA | 16 | X | Seems to be a mirror of "CF 0C". |
CF 1D | *SBC BA, HL | 16 | X | Seems to be a mirror of "CF 0D". |
CF 1E | *SBC BA, X | 16 | X | Seems to be a mirror of "CF 0E". |
CF 1F | *SBC BA, Y | 16 | X | Seems to be a mirror of "CF 0F". |
CF 30 | *ADD HL, BA | 16 | X | Seems to be a mirror of "CF 20". |
CF 31 | *ADD HL, HL | 16 | X | Seems to be a mirror of "CF 21". |
CF 32 | *ADD HL, X | 16 | X | Seems to be a mirror of "CF 22". |
CF 33 | *ADD HL, Y | 16 | X | Seems to be a mirror of "CF 23". |
CF 34 | *ADC HL, BA | 16 | X | Seems to be a mirror of "CF 24". |
CF 35 | *ADC HL, HL | 16 | X | Seems to be a mirror of "CF 25". |
CF 36 | *ADC HL, X | 16 | X | Seems to be a mirror of "CF 26". |
CF 37 | *ADC HL, Y | 16 | X | Seems to be a mirror of "CF 27". |
CF 3C | *SBC HL, BA | 16 | X | Seems to be a mirror of "CF 2C". |
CF 3D | *SBC HL, HL | 16 | X | Seems to be a mirror of "CF 2D". |
CF 3E | *SBC HL, X | 16 | X | Seems to be a mirror of "CF 2E". |
CF 3F | *SBC HL, Y | 16 | X | Seems to be a mirror of "CF 2F". |
CF 46 | ??? | 16 | X | Could be "ADD PC, BA" but PC seems to gets corrupted in the progress. |
CF 47 | ??? | 16 | X | Could be "ADD PC, HL" but PC seems to gets corrupted in the progress. |
CF 4E | ??? | 16 | X | Could be "SUB PC, BA" but PC seems to gets corrupted in the progress. |
CF 4F | ??? | 16 | X | Could be "SUB PC, HL" but PC seems to gets corrupted in the progress. |
CF 50 | *ADD X, BA | 16 | X | Seems to be a mirror of "CF 40". |
CF 51 | *ADD X, HL | 16 | X | Seems to be a mirror of "CF 41". |
CF 52 | *ADD Y, BA | 16 | X | Seems to be a mirror of "CF 42". |
CF 53 | *ADD Y, HL | 16 | X | Seems to be a mirror of "CF 43". |
CF 54 | *ADD SP, BA | 16 | X | Seems to be a mirror of "CF 44". |
CF 55 | *ADD SP, HL | 16 | X | Seems to be a mirror of "CF 45". |
CF 56 | ??? | 16 | X | Seems to be a mirror of "CF 46". |
CF 57 | ??? | 16 | X | Seems to be a mirror of "CF 47". |
CF 58 | *SUB X, BA | 16 | X | Seems to be a mirror of "CF 48". |
CF 59 | *SUB X, HL | 16 | X | Seems to be a mirror of "CF 49". |
CF 5A | *SUB Y, BA | 16 | X | Seems to be a mirror of "CF 4A". |
CF 5B | *SUB Y, HL | 16 | X | Seems to be a mirror of "CF 4B". |
CF 5E | ??? | 16 | X | Seems to be a mirror of "CF 4E". |
CF 5F | ??? | 16 | X | Seems to be a mirror of "CF 4F". |
CF 64 | ??? | ??? | X | Unstable |
CF 65 | ??? | ??? | X | Unstable |
CF 66 | ??? | ??? | X | Unstable |
CF 67 | ??? | ??? | X | Unstable |
CF 69 | ??? | ??? | X | Unstable |
CF 6B | ??? | ??? | X | Unstable |
CF 6D | ??? | ??? | X | Unstable |
CF 6F | ??? | ??? | X | Unstable |
CF 79 nn nn | ??? | ** | X | Special complex instruction |
CF 7A nn nn | ??? | ** | X | Special complex instruction |
CF 7B nn nn | ??? | ** | X | Special complex instruction |
CF 7D nn ... |
??? | ** | X | Special complex instruction |
CF BA nn nn | ??? | * | X | Special complex instruction |
CF BB nn nn | ??? | * | X | Special complex instruction |
CF BE nn nn | ??? | * | X | Special complex instruction |
CF BF nn nn | ??? | * | X | Special complex instruction |
CF C8 CF C9 |
MOV B, V | 12 | X | Sets B to V |
CF F6 | 12 | X | Sets high byte of X to V | |
CF F7 | 12 | X | Sets high byte of Y to V | |
CF FB | 12 | X | Absolutely nothing.*2 | |
CF FC | 12 | X | Absolutely nothing.*2 | |
CF FD | MOV A, 0x1F ?? *1 | 12 | X | Moves 0x1F into A, maybe it's related to Exceptions register? Needs more thorough testing. |
CF FF | ??? | 64 | X | Absolutely nothing.*2 |
FE | ??? | ??? | X | Cause crash? |
Legend
nn = Unsigned byte
ss = Signed byte
*1 = Instruction wasn't fully tested.
*2 = Instruction was probed on a Pokemon Mini but returned no meaningful result (doesn't mean it can't still be hiding something, though).
*3 = Undocumented instruction
Special complex instruction
yy = 79, 7A, 7B, 7D to AF, BA, BB, BE or BF.
Arithmetic
Hex | Cycles | Notes |
---|---|---|
CF yy 00-03 | 16 | Decrement BA |
CF yy 04-07 | 16 | Decrement BA if Carry=0 |
CF yy 08-0B | 16 | Increment BA |
CF yy 0C-0F | 16 | Increment BA if Carry=0 |
CF yy 10-13 | 16 | Decrement BA |
CF yy 14-17 | 16 | Decrement BA if Carry=0 |
CF yy 18-1B | 16 | Increment BA (Doesn't save result!! -- Some type of special CMP?) |
CF yy 1C-1F | 16 | Increment BA if Carry=0 |
CF yy 20-23 | 16 | Decrement HL |
CF yy 24-27 | 16 | Decrement HL if Carry=0 |
CF yy 28-2B | 16 | Increment HL |
CF yy 2C-2F | 16 | Increment HL if Carry=0 |
CF yy 30-33 | 16 | Decrement HL |
CF yy 34-37 | 16 | Decrement HL if Carry=0 |
CF yy 38-3B | 16 | Increment HL (Doesn't save result!! -- Some type of special CMP?) |
CF yy 3C-3F | 16 | Increment HL if Carry=0 |
CF yy 40-41 | 16 | Decrement X |
CF yy 42-43 | 16 | Decrement Y |
CF yy 44-45 | 16 | Decrement SP |
CF yy 46-47 | 16 | Decrement PC *1 |
CF yy 48-49 | 16 | Increment X |
CF yy 4A-4B | 16 | Increment Y |
CF yy 4C-4D | 16 | Increment SP |
CF yy 4E-4F | 16 | Increment PC *1 |
CF yy 50-51 | 16 | Decrement X |
CF yy 52-53 | 16 | Decrement Y |
CF yy 54-55 | 16 | Decrement SP |
CF yy 56-57 | 16 | Decrement PC *1 |
CF yy 58-59 | 16 | Increment X |
CF yy 4A-5B | 16 | Increment Y |
CF yy 5C-5D | 16 | Increment SP |
CF yy 5E-5F | 16 | Increment PC *1 |
CF yy 60-6F | 16 | Crash *2 |
*1 = Cause crash.
*2 = Probably handle N, I, XI and/or YI ?
All flags set as an INC/DEC instruction
Weird ones
Hex | Cycles | Notes |
---|---|---|
CF yy 70 | 24 | BA = (0x4D << 8) + V |
CF yy 71 | 24 | HL = (0x4D << 8) + V |
CF yy 72 | 24 | X = (0x4D << 8) + V |
CF yy 73 | 24 | Y = (0x4D << 8) + V |
CF yy 74-77 | 24 | Nothing!? |
CF yy 78-AF | ?? | Crash |
CF yy B0-B3 | 12 | Nothing!? |
CF yy B4-BF | ?? | Crash/Freeze |
CF yy C0 | 20 | BA = (0x20 << 8) + V |
CF yy C1 | 20 | HL = (0x20 << 8) + V |
CF yy C2 | 20 | X = (0x20 << 8) + V |
CF yy C3 | 20 | Y = (0x20 << 8) + V |
CF yy C4-C7 | 20 | Nothing!? |
CF yy C8-CF | ?? | Crash |
CF yy D0 | 20 | BA = (0x20 << 8) + V |
CF yy D1 | 20 | HL = (0x20 << 8) + V |
CF yy D2 | 20 | X = (0x20 << 8) + V |
CF yy D3 | 20 | Y = (0x00 << 8) + V (EH!?) |
CF yy D4-D7 | 20 | Nothing!? |
CF yy D8 | 20 | BA = (0x20 << 8) + V |
CF yy D9 | 20 | HL = (0x20 << 8) + V |
CF yy DA | 20 | X = (0x20 << 8) + V |
CF yy DB | 20 | Y = (0x20 << 8) + V |
CF yy DC-DF | 20 | Nothing!? |
CF yy E0-FF | ?? | Crash |
No flags set