Repository navigation
Expand file tree
/
Copy pathcpu.h
More file actions
248 lines (247 loc) · 7.47 KB
/
Copy pathcpu.h
File metadata and controls
248 lines (247 loc) · 7.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
// Function Declarations for Opcodes.
// Main cpu functions are in main.
void NOP(); // 0x0
void LD_BC_d16(); // 0x1
void LD_BCp_A(); // 0x2
void INC_BC(); // 0x3
void INC_B(); // 0x4
void DEC_B(); // 0x5
void LD_B_d8(); // 0x6
void RLCA(); // 0x7
void LD_a16p_SP(); // 0x8
void ADD_HL_BC(); // 0x9
void LD_A_BCp(); // 0xa
void DEC_BC(); // 0xb
void INC_C(); // 0xc
void DEC_C(); // 0xd
void LD_C_d8(); // 0xe
void RRCA(); // 0xf
void STOP_0(); // 0x10
void LD_DE_d16(); // 0x11
void LD_DEp_A(); // 0x12
void INC_DE(); // 0x13
void INC_D(); // 0x14
void DEC_D(); // 0x15
void LD_D_d8(); // 0x16
void RLA(); // 0x17
void JR_r8(); // 0x18
void ADD_HL_DE(); // 0x19
void LD_A_DEp(); // 0x1a
void DEC_DE(); // 0x1b
void INC_E(); // 0x1c
void DEC_E(); // 0x1d
void LD_E_d8(); // 0x1e
void RRA(); // 0x1f
void JR_NZ_r8(); // 0x20
void LD_HL_d16(); // 0x21
void LD_HLIp_A(); // 0x22
void INC_HL(); // 0x23
void INC_H(); // 0x24
void DEC_H(); // 0x25
void LD_H_d8(); // 0x26
void DAA(); // 0x27
void JR_Z_r8(); // 0x28
void ADD_HL_HL(); // 0x29
void LD_A_HLIp(); // 0x2a
void DEC_HL(); // 0x2b
void INC_L(); // 0x2c
void DEC_L(); // 0x2d
void LD_L_d8(); // 0x2e
void CPL(); // 0x2f
void JR_NC_r8(); // 0x30
void LD_SP_d16(); // 0x31
void LD_HLdp_A(); // 0x32
void INC_SP(); // 0x33
void INC_HLp(); // 0x34
void DEC_HLp(); // 0x35
void LD_HLp_d8(); // 0x36
void SCF(); // 0x37
void JR_C_r8(); // 0x38
void ADD_HL_SP(); // 0x39
void LD_A_HLdp(); // 0x3a
void DEC_SP(); // 0x3b
void INC_A(); // 0x3c
void DEC_A(); // 0x3d
void LD_A_d8(); // 0x3e
void CCF(); // 0x3f
void LD_B_B(); // 0x40
void LD_B_C(); // 0x41
void LD_B_D(); // 0x42
void LD_B_E(); // 0x43
void LD_B_H(); // 0x44
void LD_B_L(); // 0x45
void LD_B_HLp(); // 0x46
void LD_B_A(); // 0x47
void LD_C_B(); // 0x48
void LD_C_C(); // 0x49
void LD_C_D(); // 0x4a
void LD_C_E(); // 0x4b
void LD_C_H(); // 0x4c
void LD_C_L(); // 0x4d
void LD_C_HLp(); // 0x4e
void LD_C_A(); // 0x4f
void LD_D_B(); // 0x50
void LD_D_C(); // 0x51
void LD_D_D(); // 0x52
void LD_D_E(); // 0x53
void LD_D_H(); // 0x54
void LD_D_L(); // 0x55
void LD_D_HLp(); // 0x56
void LD_D_A(); // 0x57
void LD_E_B(); // 0x58
void LD_E_C(); // 0x59
void LD_E_D(); // 0x5a
void LD_E_E(); // 0x5b
void LD_E_H(); // 0x5c
void LD_E_L(); // 0x5d
void LD_E_HLp(); // 0x5e
void LD_E_A(); // 0x5f
void LD_H_B(); // 0x60
void LD_H_C(); // 0x61
void LD_H_D(); // 0x62
void LD_H_E(); // 0x63
void LD_H_H(); // 0x64
void LD_H_L(); // 0x65
void LD_H_HLp(); // 0x66
void LD_H_A(); // 0x67
void LD_L_B(); // 0x68
void LD_L_C(); // 0x69
void LD_L_D(); // 0x6a
void LD_L_E(); // 0x6b
void LD_L_H(); // 0x6c
void LD_L_L(); // 0x6d
void LD_L_HLp(); // 0x6e
void LD_L_A(); // 0x6f
void LD_HLp_B(); // 0x70
void LD_HLp_C(); // 0x71
void LD_HLp_D(); // 0x72
void LD_HLp_E(); // 0x73
void LD_HLp_H(); // 0x74
void LD_HLp_L(); // 0x75
void HALT(); // 0x76
void LD_HLp_A(); // 0x77
void LD_A_B(); // 0x78
void LD_A_C(); // 0x79
void LD_A_D(); // 0x7a
void LD_A_E(); // 0x7b
void LD_A_H(); // 0x7c
void LD_A_L(); // 0x7d
void LD_A_HLp(); // 0x7e
void LD_A_A(); // 0x7f
void ADD_A_B(); // 0x80
void ADD_A_C(); // 0x81
void ADD_A_D(); // 0x82
void ADD_A_E(); // 0x83
void ADD_A_H(); // 0x84
void ADD_A_L(); // 0x85
void ADD_A_HLp(); // 0x86
void ADD_A_A(); // 0x87
void ADC_A_B(); // 0x88
void ADC_A_C(); // 0x89
void ADC_A_D(); // 0x8a
void ADC_A_E(); // 0x8b
void ADC_A_H(); // 0x8c
void ADC_A_L(); // 0x8d
void ADC_A_HLp(); // 0x8e
void ADC_A_A(); // 0x8f
void SUB_B(); // 0x90
void SUB_C(); // 0x91
void SUB_D(); // 0x92
void SUB_E(); // 0x93
void SUB_H(); // 0x94
void SUB_L(); // 0x95
void SUB_HLp(); // 0x96
void SUB_A(); // 0x97
void SBC_A_B(); // 0x98
void SBC_A_C(); // 0x99
void SBC_A_D(); // 0x9a
void SBC_A_E(); // 0x9b
void SBC_A_H(); // 0x9c
void SBC_A_L(); // 0x9d
void SBC_A_HLp(); // 0x9e
void SBC_A_A(); // 0x9f
void AND_B(); // 0xa0
void AND_C(); // 0xa1
void AND_D(); // 0xa2
void AND_E(); // 0xa3
void AND_H(); // 0xa4
void AND_L(); // 0xa5
void AND_HLp(); // 0xa6
void AND_A(); // 0xa7
void XOR_B(); // 0xa8
void XOR_C(); // 0xa9
void XOR_D(); // 0xaa
void XOR_E(); // 0xab
void XOR_H(); // 0xac
void XOR_L(); // 0xad
void XOR_HLp(); // 0xae
void XOR_A(); // 0xaf
void OR_B(); // 0xb0
void OR_C(); // 0xb1
void OR_D(); // 0xb2
void OR_E(); // 0xb3
void OR_H(); // 0xb4
void OR_L(); // 0xb5
void OR_HLp(); // 0xb6
void OR_A(); // 0xb7
void CP_B(); // 0xb8
void CP_C(); // 0xb9
void CP_D(); // 0xba
void CP_E(); // 0xbb
void CP_H(); // 0xbc
void CP_L(); // 0xbd
void CP_HLp(); // 0xbe
void CP_A(); // 0xbf
void RET_NZ(); // 0xc0
void POP_BC(); // 0xc1
void JP_NZ_a16(); // 0xc2
void JP_a16(); // 0xc3
void CALL_NZ_a16(); // 0xc4
void PUSH_BC(); // 0xc5
void ADD_A_d8(); // 0xc6
void RST_00H(); // 0xc7
void RET_Z(); // 0xc8
void RET(); // 0xc9
void JP_Z_a16(); // 0xca
void PREFIX_CB(); // 0xcb
void CALL_Z_a16(); // 0xcc
void CALL_a16(); // 0xcd
void ADC_A_d8(); // 0xce
void RST_08H(); // 0xcf
void RET_NC(); // 0xd0
void POP_DE(); // 0xd1
void JP_NC_a16(); // 0xd2
void CALL_NC_a16(); // 0xd4
void PUSH_DE(); // 0xd5
void SUB_d8(); // 0xd6
void RST_10H(); // 0xd7
void RET_C(); // 0xd8
void RETI(); // 0xd9
void JP_C_a16(); // 0xda
void CALL_C_a16(); // 0xdc
void SBC_A_d8(); // 0xde
void RST_18H(); // 0xdf
void LDH_a8p_A(); // 0xe0
void POP_HL(); // 0xe1
void LD_Cp_A(); // 0xe2
void PUSH_HL(); // 0xe5
void AND_d8(); // 0xe6
void RST_20H(); // 0xe7
void ADD_SP_r8(); // 0xe8
void JP_HLp(); // 0xe9
void LD_a16p_A(); // 0xea
void XOR_d8(); // 0xee
void RST_28H(); // 0xef
void LDH_A_a8p(); // 0xf0
void POP_AF(); // 0xf1
void LD_A_Cp(); // 0xf2
void DI(); // 0xf3
void PUSH_AF(); // 0xf5
void OR_d8(); // 0xf6
void RST_30H(); // 0xf7
void LD_HL_SPr8(); // 0xf8
void LD_SP_HL(); // 0xf9
void LD_A_a16p(); // 0xfa
void EI(); // 0xfb
void CP_d8(); // 0xfe
void RST_38H(); // 0xff