| 1 | unit Z80Instructions;
|
|---|
| 2 |
|
|---|
| 3 | interface
|
|---|
| 4 |
|
|---|
| 5 | uses
|
|---|
| 6 | Classes, SysUtils, Base;
|
|---|
| 7 |
|
|---|
| 8 | type
|
|---|
| 9 | TInstructionTable = (itBase, itCB, itDD, itED, itFD, itDDCB, itFDCB);
|
|---|
| 10 |
|
|---|
| 11 | TInstruction = (
|
|---|
| 12 | in_NOP = $00,
|
|---|
| 13 | in_LD_BC_NN = $01,
|
|---|
| 14 | in_LD_BC_Indirect_A = $02,
|
|---|
| 15 | in_INC_BC = $03,
|
|---|
| 16 | in_INC_B = $04,
|
|---|
| 17 | in_DEC_B = $05,
|
|---|
| 18 | in_LD_B_N = $06,
|
|---|
| 19 | in_RLCA = $07,
|
|---|
| 20 | in_EX_AF_AF_Pair = $08,
|
|---|
| 21 | in_ADD_HL_BC = $09,
|
|---|
| 22 | in_LD_A_BC_Indirect = $0A,
|
|---|
| 23 | in_DEC_BC = $0B,
|
|---|
| 24 | in_INC_C = $0C,
|
|---|
| 25 | in_DEC_C = $0D,
|
|---|
| 26 | in_LD_C_N = $0E,
|
|---|
| 27 | in_RRCA = $0F,
|
|---|
| 28 | in_DJNZ_D = $10,
|
|---|
| 29 | in_LD_DE_NN = $11,
|
|---|
| 30 | in_LD_DE_Indirect_A = $12,
|
|---|
| 31 | in_INC_DE = $13,
|
|---|
| 32 | in_INC_D = $14,
|
|---|
| 33 | in_DEC_D = $15,
|
|---|
| 34 | in_LD_D_N = $16,
|
|---|
| 35 | in_RLA = $17,
|
|---|
| 36 | in_JR_D = $18,
|
|---|
| 37 | in_ADD_HL_DE = $19,
|
|---|
| 38 | in_LD_A_DE_Indirect = $1A,
|
|---|
| 39 | in_DEC_DE = $1B,
|
|---|
| 40 | in_INC_E = $1C,
|
|---|
| 41 | in_DEC_E = $1D,
|
|---|
| 42 | in_LD_E_N = $1E,
|
|---|
| 43 | in_RRA = $1F,
|
|---|
| 44 | in_JR_NZ_D = $20,
|
|---|
| 45 | in_LD_HL_NN = $21,
|
|---|
| 46 | in_LD_NN_Indirect_HL = $22,
|
|---|
| 47 | in_INC_HL = $23,
|
|---|
| 48 | in_INC_H = $24,
|
|---|
| 49 | in_DEC_H = $25,
|
|---|
| 50 | in_LD_H_N = $26,
|
|---|
| 51 | in_DAA = $27,
|
|---|
| 52 | in_JR_Z_D = $28,
|
|---|
| 53 | in_ADD_HL_HL = $29,
|
|---|
| 54 | in_LD_HL_NN_Indirect = $2A,
|
|---|
| 55 | in_DEC_HL = $2B,
|
|---|
| 56 | in_INC_L = $2C,
|
|---|
| 57 | in_DEC_L = $2D,
|
|---|
| 58 | in_LD_L_N = $2E,
|
|---|
| 59 | in_CPL = $2F,
|
|---|
| 60 | in_JR_NC_D = $30,
|
|---|
| 61 | in_LD_SP_NN = $31,
|
|---|
| 62 | in_LD_NN_Indirect_A = $32,
|
|---|
| 63 | in_INC_SP = $33,
|
|---|
| 64 | in_INC_HL_Indirect = $34,
|
|---|
| 65 | in_DEC_HL_Indirect = $35,
|
|---|
| 66 | in_LD_HL_Indirect_N = $36,
|
|---|
| 67 | in_SCF = $37,
|
|---|
| 68 | in_JR_C_D = $38,
|
|---|
| 69 | in_ADD_HL_SP = $39,
|
|---|
| 70 | in_LD_A_NN_Indirect = $3A,
|
|---|
| 71 | in_DEC_SP = $3B,
|
|---|
| 72 | in_INC_A = $3C,
|
|---|
| 73 | in_DEC_A = $3D,
|
|---|
| 74 | in_LD_A_N = $3E,
|
|---|
| 75 | in_CCF = $3F,
|
|---|
| 76 | in_LD_B_B = $40,
|
|---|
| 77 | in_LD_B_C = $41,
|
|---|
| 78 | in_LD_B_D = $42,
|
|---|
| 79 | in_LD_B_E = $43,
|
|---|
| 80 | in_LD_B_H = $44,
|
|---|
| 81 | in_LD_B_L = $45,
|
|---|
| 82 | in_LD_B_HL_Indirect = $46,
|
|---|
| 83 | in_LD_B_A = $47,
|
|---|
| 84 | in_LD_C_B = $48,
|
|---|
| 85 | in_LD_C_C = $49,
|
|---|
| 86 | in_LD_C_D = $4A,
|
|---|
| 87 | in_LD_C_E = $4B,
|
|---|
| 88 | in_LD_C_H = $4C,
|
|---|
| 89 | in_LD_C_L = $4D,
|
|---|
| 90 | in_LD_C_HL_Indirect = $4E,
|
|---|
| 91 | in_LD_C_A = $4F,
|
|---|
| 92 | in_LD_D_B = $50,
|
|---|
| 93 | in_LD_D_C = $51,
|
|---|
| 94 | in_LD_D_D = $52,
|
|---|
| 95 | in_LD_D_E = $53,
|
|---|
| 96 | in_LD_D_H = $54,
|
|---|
| 97 | in_LD_D_L = $55,
|
|---|
| 98 | in_LD_D_HL_Indirect = $56,
|
|---|
| 99 | in_LD_D_A = $57,
|
|---|
| 100 | in_LD_E_B = $58,
|
|---|
| 101 | in_LD_E_C = $59,
|
|---|
| 102 | in_LD_E_D = $5A,
|
|---|
| 103 | in_LD_E_E = $5B,
|
|---|
| 104 | in_LD_E_H = $5C,
|
|---|
| 105 | in_LD_E_L = $5D,
|
|---|
| 106 | in_LD_E_HL_Indirect = $5E,
|
|---|
| 107 | in_LD_E_A = $5F,
|
|---|
| 108 | in_LD_H_B = $60,
|
|---|
| 109 | in_LD_H_C = $61,
|
|---|
| 110 | in_LD_H_D = $62,
|
|---|
| 111 | in_LD_H_E = $63,
|
|---|
| 112 | in_LD_H_H = $64,
|
|---|
| 113 | in_LD_H_L = $65,
|
|---|
| 114 | in_LD_H_HL_Indirect = $66,
|
|---|
| 115 | in_LD_H_A = $67,
|
|---|
| 116 | in_LD_L_B = $68,
|
|---|
| 117 | in_LD_L_C = $69,
|
|---|
| 118 | in_LD_L_D = $6A,
|
|---|
| 119 | in_LD_L_E = $6B,
|
|---|
| 120 | in_LD_L_H = $6C,
|
|---|
| 121 | in_LD_L_L = $6D,
|
|---|
| 122 | in_LD_L_HL_Indirect = $6E,
|
|---|
| 123 | in_LD_L_A = $6F,
|
|---|
| 124 | in_LD_HL_Indirect_B = $70,
|
|---|
| 125 | in_LD_HL_Indirect_C = $71,
|
|---|
| 126 | in_LD_HL_Indirect_D = $72,
|
|---|
| 127 | in_LD_HL_Indirect_E = $73,
|
|---|
| 128 | in_LD_HL_Indirect_H = $74,
|
|---|
| 129 | in_LD_HL_Indirect_L = $75,
|
|---|
| 130 | in_HALT = $76,
|
|---|
| 131 | in_LD_HL_Indirect_A = $77,
|
|---|
| 132 | in_LD_A_B = $78,
|
|---|
| 133 | in_LD_A_C = $79,
|
|---|
| 134 | in_LD_A_D = $7A,
|
|---|
| 135 | in_LD_A_E = $7B,
|
|---|
| 136 | in_LD_A_H = $7C,
|
|---|
| 137 | in_LD_A_L = $7D,
|
|---|
| 138 | in_LD_A_HL_Indirect = $7E,
|
|---|
| 139 | in_LD_A_A = $7F,
|
|---|
| 140 | in_ADD_A_B = $80,
|
|---|
| 141 | in_ADD_A_C = $81,
|
|---|
| 142 | in_ADD_A_D = $82,
|
|---|
| 143 | in_ADD_A_E = $83,
|
|---|
| 144 | in_ADD_A_H = $84,
|
|---|
| 145 | in_ADD_A_L = $85,
|
|---|
| 146 | in_ADD_A_HL_Indirect = $86,
|
|---|
| 147 | in_ADD_A_A = $87,
|
|---|
| 148 | in_ADC_A_B = $88,
|
|---|
| 149 | in_ADC_A_C = $89,
|
|---|
| 150 | in_ADC_A_D = $8A,
|
|---|
| 151 | in_ADC_A_E = $8B,
|
|---|
| 152 | in_ADC_A_H = $8C,
|
|---|
| 153 | in_ADC_A_L = $8D,
|
|---|
| 154 | in_ADC_A_HL_Indirect = $8E,
|
|---|
| 155 | in_ADC_A_A = $8F,
|
|---|
| 156 | in_SUB_B = $90,
|
|---|
| 157 | in_SUB_C = $91,
|
|---|
| 158 | in_SUB_D = $92,
|
|---|
| 159 | in_SUB_E = $93,
|
|---|
| 160 | in_SUB_H = $94,
|
|---|
| 161 | in_SUB_L = $95,
|
|---|
| 162 | in_SUB_HL_Indirect = $96,
|
|---|
| 163 | in_SUB_A = $97,
|
|---|
| 164 | in_SBC_A_B = $98,
|
|---|
| 165 | in_SBC_A_C = $99,
|
|---|
| 166 | in_SBC_A_D = $9A,
|
|---|
| 167 | in_SBC_A_E = $9B,
|
|---|
| 168 | in_SBC_A_H = $9C,
|
|---|
| 169 | in_SBC_A_L = $9D,
|
|---|
| 170 | in_SBC_A_HL_Indirect = $9E,
|
|---|
| 171 | in_SBC_A_A = $9F,
|
|---|
| 172 | in_AND_B = $A0,
|
|---|
| 173 | in_AND_C = $A1,
|
|---|
| 174 | in_AND_D = $A2,
|
|---|
| 175 | in_AND_E = $A3,
|
|---|
| 176 | in_AND_H = $A4,
|
|---|
| 177 | in_AND_L = $A5,
|
|---|
| 178 | in_AND_HL_Indirect = $A6,
|
|---|
| 179 | in_AND_A = $A7,
|
|---|
| 180 | in_XOR_B = $A8,
|
|---|
| 181 | in_XOR_C = $A9,
|
|---|
| 182 | in_XOR_D = $AA,
|
|---|
| 183 | in_XOR_E = $AB,
|
|---|
| 184 | in_XOR_H = $AC,
|
|---|
| 185 | in_XOR_L = $AD,
|
|---|
| 186 | in_XOR_HL_Indirect = $AE,
|
|---|
| 187 | in_XOR_A = $AF,
|
|---|
| 188 | in_OR_B = $B0,
|
|---|
| 189 | in_OR_C = $B1,
|
|---|
| 190 | in_OR_D = $B2,
|
|---|
| 191 | in_OR_E = $B3,
|
|---|
| 192 | in_OR_H = $B4,
|
|---|
| 193 | in_OR_L = $B5,
|
|---|
| 194 | in_OR_HL_Indirect = $B6,
|
|---|
| 195 | in_OR_A = $B7,
|
|---|
| 196 | in_CP_B = $B8,
|
|---|
| 197 | in_CP_C = $B9,
|
|---|
| 198 | in_CP_D = $BA,
|
|---|
| 199 | in_CP_E = $BB,
|
|---|
| 200 | in_CP_H = $BC,
|
|---|
| 201 | in_CP_L = $BD,
|
|---|
| 202 | in_CP_HL_Indirect = $BE,
|
|---|
| 203 | in_CP_A = $BF,
|
|---|
| 204 | in_RET_NZ = $C0,
|
|---|
| 205 | in_POP_BC = $C1,
|
|---|
| 206 | in_JP_NZ_NN = $C2,
|
|---|
| 207 | in_JP_NN = $C3,
|
|---|
| 208 | in_CALL_NZ_NN = $C4,
|
|---|
| 209 | in_PUSH_BC = $C5,
|
|---|
| 210 | in_ADD_A_N = $C6,
|
|---|
| 211 | in_RST_00H = $C7,
|
|---|
| 212 | in_RET_Z = $C8,
|
|---|
| 213 | in_RET = $C9,
|
|---|
| 214 | in_JP_Z_NN = $CA,
|
|---|
| 215 | in_CALL_Z_NN = $CC,
|
|---|
| 216 | in_CALL_NN = $CD,
|
|---|
| 217 | in_ADC_A_N = $CE,
|
|---|
| 218 | in_RST_08H = $CF,
|
|---|
| 219 | in_RET_NC = $D0,
|
|---|
| 220 | in_POP_DE = $D1,
|
|---|
| 221 | in_JP_NC_NN = $D2,
|
|---|
| 222 | in_OUT_N_Indirect_A = $D3,
|
|---|
| 223 | in_CALL_NC_NN = $D4,
|
|---|
| 224 | in_PUSH_DE = $D5,
|
|---|
| 225 | in_SUB_N = $D6,
|
|---|
| 226 | in_RST_10H = $D7,
|
|---|
| 227 | in_RET_C = $D8,
|
|---|
| 228 | in_EXX = $D9,
|
|---|
| 229 | in_JP_C_NN = $DA,
|
|---|
| 230 | in_IN_A_N_Indirect = $DB,
|
|---|
| 231 | in_CALL_C_NN = $DC,
|
|---|
| 232 | in_SBC_A_N = $DE,
|
|---|
| 233 | in_RST_18H = $DF,
|
|---|
| 234 | in_RET_PO = $E0,
|
|---|
| 235 | in_POP_HL = $E1,
|
|---|
| 236 | in_JP_PO_NN = $E2,
|
|---|
| 237 | in_EX_SP_Indirect_HL = $E3,
|
|---|
| 238 | in_CALL_PO_NN = $E4,
|
|---|
| 239 | in_PUSH_HL = $E5,
|
|---|
| 240 | in_AND_N = $E6,
|
|---|
| 241 | in_RST_20H = $E7,
|
|---|
| 242 | in_RET_PE = $E8,
|
|---|
| 243 | in_JP_HL_Indirect = $E9,
|
|---|
| 244 | in_JP_PE_NN = $EA,
|
|---|
| 245 | in_EX_DE_HL = $EB,
|
|---|
| 246 | in_CALL_PE_NN = $EC,
|
|---|
| 247 | in_XOR_N = $EE,
|
|---|
| 248 | in_RST_28H = $EF,
|
|---|
| 249 | in_RET_P = $F0,
|
|---|
| 250 | in_POP_AF = $F1,
|
|---|
| 251 | in_JP_P_NN = $F2,
|
|---|
| 252 | in_DI = $F3,
|
|---|
| 253 | in_CALL_P_NN = $F4,
|
|---|
| 254 | in_PUSH_AF = $F5,
|
|---|
| 255 | in_OR_N = $F6,
|
|---|
| 256 | in_RST_30H = $F7,
|
|---|
| 257 | in_RET_M = $F8,
|
|---|
| 258 | in_LD_SP_HL = $F9,
|
|---|
| 259 | in_JP_M_NN = $FA,
|
|---|
| 260 | in_EI = $FB,
|
|---|
| 261 | in_CALL_M_NN = $FC,
|
|---|
| 262 | in_CP_N = $FE,
|
|---|
| 263 | in_RST_38H = $FF,
|
|---|
| 264 | in_IN_B_C_Indirect = $340,
|
|---|
| 265 | in_OUT_C_Indirect_B = $341,
|
|---|
| 266 | in_SBC_HL_BC = $342,
|
|---|
| 267 | in_LD_NN_Indirect_BC = $343,
|
|---|
| 268 | in_NEG = $344,
|
|---|
| 269 | in_RETN = $345,
|
|---|
| 270 | in_IM_0 = $346,
|
|---|
| 271 | in_LD_I_A = $347,
|
|---|
| 272 | in_IN_C_C_Indirect = $348,
|
|---|
| 273 | in_OUT_C_Indirect_C = $349,
|
|---|
| 274 | in_ADC_HL_BC = $34A,
|
|---|
| 275 | in_LD_BC_NN_Indirect = $34B,
|
|---|
| 276 | in_RETI = $34D,
|
|---|
| 277 | in_LD_R_A = $34F,
|
|---|
| 278 | in_IN_D_C_Indirect = $350,
|
|---|
| 279 | in_OUT_C_Indirect_D = $351,
|
|---|
| 280 | in_SBC_HL_DE = $352,
|
|---|
| 281 | in_LD_NN_Indirect_DE = $353,
|
|---|
| 282 | in_IM_1 = $356,
|
|---|
| 283 | in_LD_A_I = $357,
|
|---|
| 284 | in_IN_E_C_Indirect = $358,
|
|---|
| 285 | in_OUT_C_Indirect_E = $359,
|
|---|
| 286 | in_ADC_HL_DE = $35A,
|
|---|
| 287 | in_LD_DE_NN_Indirect = $35B,
|
|---|
| 288 | in_IM_2 = $35E,
|
|---|
| 289 | in_LD_A_R = $35F,
|
|---|
| 290 | in_IN_H_C_Indirect = $360,
|
|---|
| 291 | in_OUT_C_Indirect_H = $361,
|
|---|
| 292 | in_SBC_HL_HL = $362,
|
|---|
| 293 | in_RRD = $367,
|
|---|
| 294 | in_IN_L_C_Indirect = $368,
|
|---|
| 295 | in_OUT_C_Indirect_L = $369,
|
|---|
| 296 | in_ADC_HL_HL = $36A,
|
|---|
| 297 | in_RLD = $36F,
|
|---|
| 298 | in_SBC_HL_SP = $372,
|
|---|
| 299 | in_LD_NN_Indirect_SP = $373,
|
|---|
| 300 | in_IN_A_C_Indirect = $378,
|
|---|
| 301 | in_OUT_C_Indirect_A = $379,
|
|---|
| 302 | in_ADC_HL_SP = $37A,
|
|---|
| 303 | in_LD_SP_NN_Indirect = $37B,
|
|---|
| 304 | in_LDI = $3A0,
|
|---|
| 305 | in_CPI = $3A1,
|
|---|
| 306 | in_INI = $3A2,
|
|---|
| 307 | in_OUTI = $3A3,
|
|---|
| 308 | in_LDD = $3A8,
|
|---|
| 309 | in_CPD = $3A9,
|
|---|
| 310 | in_IND = $3AA,
|
|---|
| 311 | in_OUTD = $3AB,
|
|---|
| 312 | in_LDIR = $3B0,
|
|---|
| 313 | in_CPIR = $3B1,
|
|---|
| 314 | in_INIR = $3B2,
|
|---|
| 315 | in_OTIR = $3B3,
|
|---|
| 316 | in_LDDR = $3B8,
|
|---|
| 317 | in_CPDR = $3B9,
|
|---|
| 318 | in_INDR = $3BA,
|
|---|
| 319 | in_OTDR = $3BB,
|
|---|
| 320 | in_RLC_B = $100,
|
|---|
| 321 | in_RLC_C = $101,
|
|---|
| 322 | in_RLC_D = $102,
|
|---|
| 323 | in_RLC_E = $103,
|
|---|
| 324 | in_RLC_H = $104,
|
|---|
| 325 | in_RLC_L = $105,
|
|---|
| 326 | in_RLC_HL_Indirect = $106,
|
|---|
| 327 | in_RLC_A = $107,
|
|---|
| 328 | in_RRC_B = $108,
|
|---|
| 329 | in_RRC_C = $109,
|
|---|
| 330 | in_RRC_D = $10A,
|
|---|
| 331 | in_RRC_E = $10B,
|
|---|
| 332 | in_RRC_H = $10C,
|
|---|
| 333 | in_RRC_L = $10D,
|
|---|
| 334 | in_RRC_HL_Indirect = $10E,
|
|---|
| 335 | in_RRC_A = $10F,
|
|---|
| 336 | in_RL_B = $110,
|
|---|
| 337 | in_RL_C = $111,
|
|---|
| 338 | in_RL_D = $112,
|
|---|
| 339 | in_RL_E = $113,
|
|---|
| 340 | in_RL_H = $114,
|
|---|
| 341 | in_RL_L = $115,
|
|---|
| 342 | in_RL_HL_Indirect = $116,
|
|---|
| 343 | in_RL_A = $117,
|
|---|
| 344 | in_RR_B = $118,
|
|---|
| 345 | in_RR_C = $119,
|
|---|
| 346 | in_RR_D = $11A,
|
|---|
| 347 | in_RR_E = $11B,
|
|---|
| 348 | in_RR_H = $11C,
|
|---|
| 349 | in_RR_L = $11D,
|
|---|
| 350 | in_RR_HL_Indirect = $11E,
|
|---|
| 351 | in_RR_A = $11F,
|
|---|
| 352 | in_SLA_B = $120,
|
|---|
| 353 | in_SLA_C = $121,
|
|---|
| 354 | in_SLA_D = $122,
|
|---|
| 355 | in_SLA_E = $123,
|
|---|
| 356 | in_SLA_H = $124,
|
|---|
| 357 | in_SLA_L = $125,
|
|---|
| 358 | in_SLA_HL_Indirect = $126,
|
|---|
| 359 | in_SLA_A = $127,
|
|---|
| 360 | in_SRA_B = $128,
|
|---|
| 361 | in_SRA_C = $129,
|
|---|
| 362 | in_SRA_D = $12A,
|
|---|
| 363 | in_SRA_E = $12B,
|
|---|
| 364 | in_SRA_H = $12C,
|
|---|
| 365 | in_SRA_L = $12D,
|
|---|
| 366 | in_SRA_HL_Indirect = $12E,
|
|---|
| 367 | in_SRA_A = $12F,
|
|---|
| 368 | in_SRL_B = $138,
|
|---|
| 369 | in_SRL_C = $139,
|
|---|
| 370 | in_SRL_D = $13A,
|
|---|
| 371 | in_SRL_E = $13B,
|
|---|
| 372 | in_SRL_H = $13C,
|
|---|
| 373 | in_SRL_L = $13D,
|
|---|
| 374 | in_SRL_HL_Indirect = $13E,
|
|---|
| 375 | in_SRL_A = $13F,
|
|---|
| 376 | in_BIT_0_B = $140,
|
|---|
| 377 | in_BIT_0_C = $141,
|
|---|
| 378 | in_BIT_0_D = $142,
|
|---|
| 379 | in_BIT_0_E = $143,
|
|---|
| 380 | in_BIT_0_H = $144,
|
|---|
| 381 | in_BIT_0_L = $145,
|
|---|
| 382 | in_BIT_0_HL_Indirect = $146,
|
|---|
| 383 | in_BIT_0_A = $147,
|
|---|
| 384 | in_BIT_1_B = $148,
|
|---|
| 385 | in_BIT_1_C = $149,
|
|---|
| 386 | in_BIT_1_D = $14A,
|
|---|
| 387 | in_BIT_1_E = $14B,
|
|---|
| 388 | in_BIT_1_H = $14C,
|
|---|
| 389 | in_BIT_1_L = $14D,
|
|---|
| 390 | in_BIT_1_HL_Indirect = $14E,
|
|---|
| 391 | in_BIT_1_A = $14F,
|
|---|
| 392 | in_BIT_2_B = $150,
|
|---|
| 393 | in_BIT_2_C = $151,
|
|---|
| 394 | in_BIT_2_D = $152,
|
|---|
| 395 | in_BIT_2_E = $153,
|
|---|
| 396 | in_BIT_2_H = $154,
|
|---|
| 397 | in_BIT_2_L = $155,
|
|---|
| 398 | in_BIT_2_HL_Indirect = $156,
|
|---|
| 399 | in_BIT_2_A = $157,
|
|---|
| 400 | in_BIT_3_B = $158,
|
|---|
| 401 | in_BIT_3_C = $159,
|
|---|
| 402 | in_BIT_3_D = $15A,
|
|---|
| 403 | in_BIT_3_E = $15B,
|
|---|
| 404 | in_BIT_3_H = $15C,
|
|---|
| 405 | in_BIT_3_L = $15D,
|
|---|
| 406 | in_BIT_3_HL_Indirect = $15E,
|
|---|
| 407 | in_BIT_3_A = $15F,
|
|---|
| 408 | in_BIT_4_B = $160,
|
|---|
| 409 | in_BIT_4_C = $161,
|
|---|
| 410 | in_BIT_4_D = $162,
|
|---|
| 411 | in_BIT_4_E = $163,
|
|---|
| 412 | in_BIT_4_H = $164,
|
|---|
| 413 | in_BIT_4_L = $165,
|
|---|
| 414 | in_BIT_4_HL_Indirect = $166,
|
|---|
| 415 | in_BIT_4_A = $167,
|
|---|
| 416 | in_BIT_5_B = $168,
|
|---|
| 417 | in_BIT_5_C = $169,
|
|---|
| 418 | in_BIT_5_D = $16A,
|
|---|
| 419 | in_BIT_5_E = $16B,
|
|---|
| 420 | in_BIT_5_H = $16C,
|
|---|
| 421 | in_BIT_5_L = $16D,
|
|---|
| 422 | in_BIT_5_HL_Indirect = $16E,
|
|---|
| 423 | in_BIT_5_A = $16F,
|
|---|
| 424 | in_BIT_6_B = $170,
|
|---|
| 425 | in_BIT_6_C = $171,
|
|---|
| 426 | in_BIT_6_D = $172,
|
|---|
| 427 | in_BIT_6_E = $173,
|
|---|
| 428 | in_BIT_6_H = $174,
|
|---|
| 429 | in_BIT_6_L = $175,
|
|---|
| 430 | in_BIT_6_HL_Indirect = $176,
|
|---|
| 431 | in_BIT_6_A = $177,
|
|---|
| 432 | in_BIT_7_B = $178,
|
|---|
| 433 | in_BIT_7_C = $179,
|
|---|
| 434 | in_BIT_7_D = $17A,
|
|---|
| 435 | in_BIT_7_E = $17B,
|
|---|
| 436 | in_BIT_7_H = $17C,
|
|---|
| 437 | in_BIT_7_L = $17D,
|
|---|
| 438 | in_BIT_7_HL_Indirect = $17E,
|
|---|
| 439 | in_BIT_7_A = $17F,
|
|---|
| 440 | in_RES_0_B = $180,
|
|---|
| 441 | in_RES_0_C = $181,
|
|---|
| 442 | in_RES_0_D = $182,
|
|---|
| 443 | in_RES_0_E = $183,
|
|---|
| 444 | in_RES_0_H = $184,
|
|---|
| 445 | in_RES_0_L = $185,
|
|---|
| 446 | in_RES_0_HL_Indirect = $186,
|
|---|
| 447 | in_RES_0_A = $187,
|
|---|
| 448 | in_RES_1_B = $188,
|
|---|
| 449 | in_RES_1_C = $189,
|
|---|
| 450 | in_RES_1_D = $18A,
|
|---|
| 451 | in_RES_1_E = $18B,
|
|---|
| 452 | in_RES_1_H = $18C,
|
|---|
| 453 | in_RES_1_L = $18D,
|
|---|
| 454 | in_RES_1_HL_Indirect = $18E,
|
|---|
| 455 | in_RES_1_A = $18F,
|
|---|
| 456 | in_RES_2_B = $190,
|
|---|
| 457 | in_RES_2_C = $191,
|
|---|
| 458 | in_RES_2_D = $192,
|
|---|
| 459 | in_RES_2_E = $193,
|
|---|
| 460 | in_RES_2_H = $194,
|
|---|
| 461 | in_RES_2_L = $195,
|
|---|
| 462 | in_RES_2_HL_Indirect = $196,
|
|---|
| 463 | in_RES_2_A = $197,
|
|---|
| 464 | in_RES_3_B = $198,
|
|---|
| 465 | in_RES_3_C = $199,
|
|---|
| 466 | in_RES_3_D = $19A,
|
|---|
| 467 | in_RES_3_E = $19B,
|
|---|
| 468 | in_RES_3_H = $19C,
|
|---|
| 469 | in_RES_3_L = $19D,
|
|---|
| 470 | in_RES_3_HL_Indirect = $19E,
|
|---|
| 471 | in_RES_3_A = $19F,
|
|---|
| 472 | in_RES_4_B = $1A0,
|
|---|
| 473 | in_RES_4_C = $1A1,
|
|---|
| 474 | in_RES_4_D = $1A2,
|
|---|
| 475 | in_RES_4_E = $1A3,
|
|---|
| 476 | in_RES_4_H = $1A4,
|
|---|
| 477 | in_RES_4_L = $1A5,
|
|---|
| 478 | in_RES_4_HL_Indirect = $1A6,
|
|---|
| 479 | in_RES_4_A = $1A7,
|
|---|
| 480 | in_RES_5_B = $1A8,
|
|---|
| 481 | in_RES_5_C = $1A9,
|
|---|
| 482 | in_RES_5_D = $1AA,
|
|---|
| 483 | in_RES_5_E = $1AB,
|
|---|
| 484 | in_RES_5_H = $1AC,
|
|---|
| 485 | in_RES_5_L = $1AD,
|
|---|
| 486 | in_RES_5_HL_Indirect = $1AE,
|
|---|
| 487 | in_RES_5_A = $1AF,
|
|---|
| 488 | in_RES_6_B = $1B0,
|
|---|
| 489 | in_RES_6_C = $1B1,
|
|---|
| 490 | in_RES_6_D = $1B2,
|
|---|
| 491 | in_RES_6_E = $1B3,
|
|---|
| 492 | in_RES_6_H = $1B4,
|
|---|
| 493 | in_RES_6_L = $1B5,
|
|---|
| 494 | in_RES_6_HL_Indirect = $1B6,
|
|---|
| 495 | in_RES_6_A = $1B7,
|
|---|
| 496 | in_RES_7_B = $1B8,
|
|---|
| 497 | in_RES_7_C = $1B9,
|
|---|
| 498 | in_RES_7_D = $1BA,
|
|---|
| 499 | in_RES_7_E = $1BB,
|
|---|
| 500 | in_RES_7_H = $1BC,
|
|---|
| 501 | in_RES_7_L = $1BD,
|
|---|
| 502 | in_RES_7_HL_Indirect = $1BE,
|
|---|
| 503 | in_RES_7_A = $1BF,
|
|---|
| 504 | in_SET_0_B = $1C0,
|
|---|
| 505 | in_SET_0_C = $1C1,
|
|---|
| 506 | in_SET_0_D = $1C2,
|
|---|
| 507 | in_SET_0_E = $1C3,
|
|---|
| 508 | in_SET_0_H = $1C4,
|
|---|
| 509 | in_SET_0_L = $1C5,
|
|---|
| 510 | in_SET_0_HL_Indirect = $1C6,
|
|---|
| 511 | in_SET_0_A = $1C7,
|
|---|
| 512 | in_SET_1_B = $1C8,
|
|---|
| 513 | in_SET_1_C = $1C9,
|
|---|
| 514 | in_SET_1_D = $1CA,
|
|---|
| 515 | in_SET_1_E = $1CB,
|
|---|
| 516 | in_SET_1_H = $1CC,
|
|---|
| 517 | in_SET_1_L = $1CD,
|
|---|
| 518 | in_SET_1_HL_Indirect = $1CE,
|
|---|
| 519 | in_SET_1_A = $1CF,
|
|---|
| 520 | in_SET_2_B = $1D0,
|
|---|
| 521 | in_SET_2_C = $1D1,
|
|---|
| 522 | in_SET_2_D = $1D2,
|
|---|
| 523 | in_SET_2_E = $1D3,
|
|---|
| 524 | in_SET_2_H = $1D4,
|
|---|
| 525 | in_SET_2_L = $1D5,
|
|---|
| 526 | in_SET_2_HL_Indirect = $1D6,
|
|---|
| 527 | in_SET_2_A = $1D7,
|
|---|
| 528 | in_SET_3_B = $1D8,
|
|---|
| 529 | in_SET_3_C = $1D9,
|
|---|
| 530 | in_SET_3_D = $1DA,
|
|---|
| 531 | in_SET_3_E = $1DB,
|
|---|
| 532 | in_SET_3_H = $1DC,
|
|---|
| 533 | in_SET_3_L = $1DD,
|
|---|
| 534 | in_SET_3_HL_Indirect = $1DE,
|
|---|
| 535 | in_SET_3_A = $1DF,
|
|---|
| 536 | in_SET_4_B = $1E0,
|
|---|
| 537 | in_SET_4_C = $1E1,
|
|---|
| 538 | in_SET_4_D = $1E2,
|
|---|
| 539 | in_SET_4_E = $1E3,
|
|---|
| 540 | in_SET_4_H = $1E4,
|
|---|
| 541 | in_SET_4_L = $1E5,
|
|---|
| 542 | in_SET_4_HL_Indirect = $1E6,
|
|---|
| 543 | in_SET_4_A = $1E7,
|
|---|
| 544 | in_SET_5_B = $1E8,
|
|---|
| 545 | in_SET_5_C = $1E9,
|
|---|
| 546 | in_SET_5_D = $1EA,
|
|---|
| 547 | in_SET_5_E = $1EB,
|
|---|
| 548 | in_SET_5_H = $1EC,
|
|---|
| 549 | in_SET_5_L = $1ED,
|
|---|
| 550 | in_SET_5_HL_Indirect = $1EE,
|
|---|
| 551 | in_SET_5_A = $1EF,
|
|---|
| 552 | in_SET_6_B = $1F0,
|
|---|
| 553 | in_SET_6_C = $1F1,
|
|---|
| 554 | in_SET_6_D = $1F2,
|
|---|
| 555 | in_SET_6_E = $1F3,
|
|---|
| 556 | in_SET_6_H = $1F4,
|
|---|
| 557 | in_SET_6_L = $1F5,
|
|---|
| 558 | in_SET_6_HL_Indirect = $1F6,
|
|---|
| 559 | in_SET_6_A = $1F7,
|
|---|
| 560 | in_SET_7_B = $1F8,
|
|---|
| 561 | in_SET_7_C = $1F9,
|
|---|
| 562 | in_SET_7_D = $1FA,
|
|---|
| 563 | in_SET_7_E = $1FB,
|
|---|
| 564 | in_SET_7_H = $1FC,
|
|---|
| 565 | in_SET_7_L = $1FD,
|
|---|
| 566 | in_SET_7_HL_Indirect = $1FE,
|
|---|
| 567 | in_SET_7_A = $1FF,
|
|---|
| 568 | in_ADD_IX_BC = $209,
|
|---|
| 569 | in_ADD_IX_DE = $219,
|
|---|
| 570 | in_LD_IX_NN = $221,
|
|---|
| 571 | in_LD_NN_Indirect_IX = $222,
|
|---|
| 572 | in_INC_IX = $223,
|
|---|
| 573 | in_ADD_IX_IX = $229,
|
|---|
| 574 | in_LD_IX_NN_Indirect = $22A,
|
|---|
| 575 | in_DEC_IX = $22B,
|
|---|
| 576 | in_INC_IX_Plus_D_Indirect = $234,
|
|---|
| 577 | in_DEC_IX_Plus_D_Indirect = $235,
|
|---|
| 578 | in_LD_IX_Plus_D_Indirect_N = $236,
|
|---|
| 579 | in_ADD_IX_SP = $239,
|
|---|
| 580 | in_LD_B_IX_Plus_D_Indirect = $246,
|
|---|
| 581 | in_LD_C_IX_Plus_D_Indirect = $24E,
|
|---|
| 582 | in_LD_D_IX_Plus_D_Indirect = $256,
|
|---|
| 583 | in_LD_E_IX_Plus_D_Indirect = $25E,
|
|---|
| 584 | in_LD_H_IX_Plus_D_Indirect = $266,
|
|---|
| 585 | in_LD_L_IX_Plus_D_Indirect = $26E,
|
|---|
| 586 | in_LD_IX_Plus_D_Indirect_B = $270,
|
|---|
| 587 | in_LD_IX_Plus_D_Indirect_C = $271,
|
|---|
| 588 | in_LD_IX_Plus_D_Indirect_D = $272,
|
|---|
| 589 | in_LD_IX_Plus_D_Indirect_E = $273,
|
|---|
| 590 | in_LD_IX_Plus_D_Indirect_H = $274,
|
|---|
| 591 | in_LD_IX_Plus_D_Indirect_L = $275,
|
|---|
| 592 | in_LD_IX_Plus_D_Indirect_A = $277,
|
|---|
| 593 | in_LD_A_IX_Plus_D_Indirect = $27E,
|
|---|
| 594 | in_ADD_A_IX_Plus_D_Indirect = $286,
|
|---|
| 595 | in_ADC_A_IX_Plus_D_Indirect = $28E,
|
|---|
| 596 | in_SUB_IX_Plus_D_Indirect = $296,
|
|---|
| 597 | in_SBC_A_IX_Plus_D_Indirect = $29E,
|
|---|
| 598 | in_AND_IX_Plus_D_Indirect = $2A6,
|
|---|
| 599 | in_XOR_IX_Plus_D_Indirect = $2AE,
|
|---|
| 600 | in_OR_IX_Plus_D_Indirect = $2B6,
|
|---|
| 601 | in_CP_IX_Plus_D_Indirect = $2BE,
|
|---|
| 602 | in_POP_IX = $2E1,
|
|---|
| 603 | in_EX_SP_Indirect_IX = $2E3,
|
|---|
| 604 | in_PUSH_IX = $2E5,
|
|---|
| 605 | in_JP_IX_Indirect = $2E9,
|
|---|
| 606 | in_LD_SP_IX = $2F9,
|
|---|
| 607 | in_RLC_IX_Plus_D_Indirect = $2CB,
|
|---|
| 608 | in_RRC_IX_Plus_D_Indirect = $2CB,
|
|---|
| 609 | in_RL_IX_Plus_D_Indirect = $2CB,
|
|---|
| 610 | in_RR_IX_Plus_D_Indirect = $2CB,
|
|---|
| 611 | in_SLA_IX_Plus_D_Indirect = $2CB,
|
|---|
| 612 | in_SRA_IX_Plus_D_Indirect = $2CB,
|
|---|
| 613 | in_SRL_IX_Plus_D_Indirect = $2CB,
|
|---|
| 614 | in_BIT_0_IX_Plus_D_Indirect = $2CB,
|
|---|
| 615 | in_BIT_1_IX_Plus_D_Indirect = $2CB,
|
|---|
| 616 | in_BIT_2_IX_Plus_D_Indirect = $2CB,
|
|---|
| 617 | in_BIT_3_IX_Plus_D_Indirect = $2CB,
|
|---|
| 618 | in_BIT_4_IX_Plus_D_Indirect = $2CB,
|
|---|
| 619 | in_BIT_5_IX_Plus_D_Indirect = $2CB,
|
|---|
| 620 | in_BIT_6_IX_Plus_D_Indirect = $2CB,
|
|---|
| 621 | in_BIT_7_IX_Plus_D_Indirect = $2CB,
|
|---|
| 622 | in_RES_0_IX_Plus_D_Indirect = $2CB,
|
|---|
| 623 | in_RES_1_IX_Plus_D_Indirect = $2CB,
|
|---|
| 624 | in_RES_2_IX_Plus_D_Indirect = $2CB,
|
|---|
| 625 | in_RES_3_IX_Plus_D_Indirect = $2CB,
|
|---|
| 626 | in_RES_4_IX_Plus_D_Indirect = $2CB,
|
|---|
| 627 | in_RES_5_IX_Plus_D_Indirect = $2CB,
|
|---|
| 628 | in_RES_6_IX_Plus_D_Indirect = $2CB,
|
|---|
| 629 | in_RES_7_IX_Plus_D_Indirect = $2CB,
|
|---|
| 630 | in_SET_0_IX_Plus_D_Indirect = $2CB,
|
|---|
| 631 | in_SET_1_IX_Plus_D_Indirect = $2CB,
|
|---|
| 632 | in_SET_2_IX_Plus_D_Indirect = $2CB,
|
|---|
| 633 | in_SET_3_IX_Plus_D_Indirect = $2CB,
|
|---|
| 634 | in_SET_4_IX_Plus_D_Indirect = $2CB,
|
|---|
| 635 | in_SET_5_IX_Plus_D_Indirect = $2CB,
|
|---|
| 636 | in_SET_6_IX_Plus_D_Indirect = $2CB,
|
|---|
| 637 | in_SET_7_IX_Plus_D_Indirect = $2CB,
|
|---|
| 638 | in_ADD_IY_BC = $409,
|
|---|
| 639 | in_ADD_IY_DE = $419,
|
|---|
| 640 | in_LD_IY_NN = $421,
|
|---|
| 641 | in_LD_NN_Indirect_IY = $422,
|
|---|
| 642 | in_INC_IY = $423,
|
|---|
| 643 | in_ADD_IY_IY = $429,
|
|---|
| 644 | in_LD_IY_NN_Indirect = $42A,
|
|---|
| 645 | in_DEC_IY = $42B,
|
|---|
| 646 | in_INC_IY_Plus_D_Indirect = $434,
|
|---|
| 647 | in_DEC_IY_Plus_D_Indirect = $435,
|
|---|
| 648 | in_LD_IY_Plus_D_Indirect_N = $436,
|
|---|
| 649 | in_ADD_IY_SP = $439,
|
|---|
| 650 | in_LD_B_IY_Plus_D_Indirect = $446,
|
|---|
| 651 | in_LD_C_IY_Plus_D_Indirect = $44E,
|
|---|
| 652 | in_LD_D_IY_Plus_D_Indirect = $456,
|
|---|
| 653 | in_LD_E_IY_Plus_D_Indirect = $45E,
|
|---|
| 654 | in_LD_H_IY_Plus_D_Indirect = $466,
|
|---|
| 655 | in_LD_L_IY_Plus_D_Indirect = $46E,
|
|---|
| 656 | in_LD_IY_Plus_D_Indirect_B = $470,
|
|---|
| 657 | in_LD_IY_Plus_D_Indirect_C = $471,
|
|---|
| 658 | in_LD_IY_Plus_D_Indirect_D = $472,
|
|---|
| 659 | in_LD_IY_Plus_D_Indirect_E = $473,
|
|---|
| 660 | in_LD_IY_Plus_D_Indirect_H = $474,
|
|---|
| 661 | in_LD_IY_Plus_D_Indirect_L = $475,
|
|---|
| 662 | in_LD_IY_Plus_D_Indirect_A = $477,
|
|---|
| 663 | in_LD_A_IY_Plus_D_Indirect = $47E,
|
|---|
| 664 | in_ADD_A_IY_Plus_D_Indirect = $486,
|
|---|
| 665 | in_ADC_A_IY_Plus_D_Indirect = $48E,
|
|---|
| 666 | in_SUB_IY_Plus_D_Indirect = $496,
|
|---|
| 667 | in_SBC_A_IY_Plus_D_Indirect = $49E,
|
|---|
| 668 | in_AND_IY_Plus_D_Indirect = $4A6,
|
|---|
| 669 | in_XOR_IY_Plus_D_Indirect = $4AE,
|
|---|
| 670 | in_OR_IY_Plus_D_Indirect = $4B6,
|
|---|
| 671 | in_CP_IY_Plus_D_Indirect = $4BE,
|
|---|
| 672 | in_POP_IY = $4E1,
|
|---|
| 673 | in_EX_SP_Indirect_IY = $4E3,
|
|---|
| 674 | in_PUSH_IY = $4E5,
|
|---|
| 675 | in_JP_IY_Indirect = $4E9,
|
|---|
| 676 | in_LD_SP_IY = $4F9,
|
|---|
| 677 | in_RLC_IY_Plus_D_Indirect = $4CB,
|
|---|
| 678 | in_RRC_IY_Plus_D_Indirect = $4CB,
|
|---|
| 679 | in_RL_IY_Plus_D_Indirect = $4CB,
|
|---|
| 680 | in_RR_IY_Plus_D_Indirect = $4CB,
|
|---|
| 681 | in_SLA_IY_Plus_D_Indirect = $4CB,
|
|---|
| 682 | in_SRA_IY_Plus_D_Indirect = $4CB,
|
|---|
| 683 | in_SRL_IY_Plus_D_Indirect = $4CB,
|
|---|
| 684 | in_BIT_0_IY_Plus_D_Indirect = $4CB,
|
|---|
| 685 | in_BIT_1_IY_Plus_D_Indirect = $4CB,
|
|---|
| 686 | in_BIT_2_IY_Plus_D_Indirect = $4CB,
|
|---|
| 687 | in_BIT_3_IY_Plus_D_Indirect = $4CB,
|
|---|
| 688 | in_BIT_4_IY_Plus_D_Indirect = $4CB,
|
|---|
| 689 | in_BIT_5_IY_Plus_D_Indirect = $4CB,
|
|---|
| 690 | in_BIT_6_IY_Plus_D_Indirect = $4CB,
|
|---|
| 691 | in_BIT_7_IY_Plus_D_Indirect = $4CB,
|
|---|
| 692 | in_RES_0_IY_Plus_D_Indirect = $4CB,
|
|---|
| 693 | in_RES_1_IY_Plus_D_Indirect = $4CB,
|
|---|
| 694 | in_RES_2_IY_Plus_D_Indirect = $4CB,
|
|---|
| 695 | in_RES_3_IY_Plus_D_Indirect = $4CB,
|
|---|
| 696 | in_RES_4_IY_Plus_D_Indirect = $4CB,
|
|---|
| 697 | in_RES_5_IY_Plus_D_Indirect = $4CB,
|
|---|
| 698 | in_RES_6_IY_Plus_D_Indirect = $4CB,
|
|---|
| 699 | in_RES_7_IY_Plus_D_Indirect = $4CB,
|
|---|
| 700 | in_SET_0_IY_Plus_D_Indirect = $4CB,
|
|---|
| 701 | in_SET_1_IY_Plus_D_Indirect = $4CB,
|
|---|
| 702 | in_SET_2_IY_Plus_D_Indirect = $4CB,
|
|---|
| 703 | in_SET_3_IY_Plus_D_Indirect = $4CB,
|
|---|
| 704 | in_SET_4_IY_Plus_D_Indirect = $4CB,
|
|---|
| 705 | in_SET_5_IY_Plus_D_Indirect = $4CB,
|
|---|
| 706 | in_SET_6_IY_Plus_D_Indirect = $4CB,
|
|---|
| 707 | in_SET_7_IY_Plus_D_Indirect = $4CB
|
|---|
| 708 | );
|
|---|
| 709 |
|
|---|
| 710 | TInstructionMethods = array[TInstruction] of TBaseEvent;
|
|---|
| 711 |
|
|---|
| 712 |
|
|---|
| 713 | implementation
|
|---|
| 714 |
|
|---|
| 715 | end.
|
|---|
| 716 |
|
|---|