forked from KolibriOS/kolibrios
830 lines
23 KiB
C
830 lines
23 KiB
C
|
/*=====================================================================
|
||
|
tables.h -> Header file containing the defines for Z80 opcodes.
|
||
|
|
||
|
This program is free software; you can redistribute it and/or modify
|
||
|
it under the terms of the GNU General Public License as published by
|
||
|
the Free Software Foundation; either version 2 of the License, or
|
||
|
(at your option) any later version.
|
||
|
|
||
|
This program is distributed in the hope that it will be useful,
|
||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
GNU General Public License for more details.
|
||
|
|
||
|
You should have received a copy of the GNU General Public License
|
||
|
along with this program; if not, write to the Free Software
|
||
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||
|
|
||
|
Copyright (c) 2000 Santiago Romero Iglesias.
|
||
|
Email: sromero@escomposlinux.org
|
||
|
======================================================================*/
|
||
|
|
||
|
#ifndef TABLES_H
|
||
|
#define TABLES_H
|
||
|
|
||
|
/*--- One byte opcodes: ----------------------------------------------*/
|
||
|
#define NOP 0
|
||
|
#define LD_BC_NN 1
|
||
|
#define LD_xBC_A 2
|
||
|
#define INC_BC 3
|
||
|
#define INC_B 4
|
||
|
#define DEC_B 5
|
||
|
#define LD_B_N 6
|
||
|
#define RLCA 7
|
||
|
#define EX_AF_AF 8
|
||
|
#define ADD_HL_BC 9
|
||
|
#define LD_A_xBC 10
|
||
|
#define DEC_BC 11
|
||
|
#define INC_C 12
|
||
|
#define DEC_C 13
|
||
|
#define LD_C_N 14
|
||
|
#define RRCA 15
|
||
|
#define DJNZ 16
|
||
|
#define LD_DE_NN 17
|
||
|
#define LD_xDE_A 18
|
||
|
#define INC_DE 19
|
||
|
#define INC_D 20
|
||
|
#define DEC_D 21
|
||
|
#define LD_D_N 22
|
||
|
#define RLA 23
|
||
|
#define JR 24
|
||
|
#define ADD_HL_DE 25
|
||
|
#define LD_A_xDE 26
|
||
|
#define DEC_DE 27
|
||
|
#define INC_E 28
|
||
|
#define DEC_E 29
|
||
|
#define LD_E_N 30
|
||
|
#define RRA 31
|
||
|
#define JR_NZ 32
|
||
|
#define LD_HL_NN 33
|
||
|
#define LD_xNN_HL 34
|
||
|
#define INC_HL 35
|
||
|
#define INC_H 36
|
||
|
#define DEC_H 37
|
||
|
#define LD_H_N 38
|
||
|
#define DAA 39
|
||
|
#define JR_Z 40
|
||
|
#define ADD_HL_HL 41
|
||
|
#define LD_HL_xNN 42
|
||
|
#define DEC_HL 43
|
||
|
#define INC_L 44
|
||
|
#define DEC_L 45
|
||
|
#define LD_L_N 46
|
||
|
#define CPL 47
|
||
|
#define JR_NC 48
|
||
|
#define LD_SP_NN 49
|
||
|
#define LD_xNN_A 50
|
||
|
#define INC_SP 51
|
||
|
#define INC_xHL 52
|
||
|
#define DEC_xHL 53
|
||
|
#define LD_xHL_N 54
|
||
|
#define SCF 55
|
||
|
#define JR_C 56
|
||
|
#define ADD_HL_SP 57
|
||
|
#define LD_A_xNN 58
|
||
|
#define DEC_SP 59
|
||
|
#define INC_A 60
|
||
|
#define DEC_A 61
|
||
|
#define LD_A_N 62
|
||
|
#define CCF 63
|
||
|
#define LD_B_B 64
|
||
|
#define LD_B_C 65
|
||
|
#define LD_B_D 66
|
||
|
#define LD_B_E 67
|
||
|
#define LD_B_H 68
|
||
|
#define LD_B_L 69
|
||
|
#define LD_B_xHL 70
|
||
|
#define LD_B_A 71
|
||
|
#define LD_C_B 72
|
||
|
#define LD_C_C 73
|
||
|
#define LD_C_D 74
|
||
|
#define LD_C_E 75
|
||
|
#define LD_C_H 76
|
||
|
#define LD_C_L 77
|
||
|
#define LD_C_xHL 78
|
||
|
#define LD_C_A 79
|
||
|
#define LD_D_B 80
|
||
|
#define LD_D_C 81
|
||
|
#define LD_D_D 82
|
||
|
#define LD_D_E 83
|
||
|
#define LD_D_H 84
|
||
|
#define LD_D_L 85
|
||
|
#define LD_D_xHL 86
|
||
|
#define LD_D_A 87
|
||
|
#define LD_E_B 88
|
||
|
#define LD_E_C 89
|
||
|
#define LD_E_D 90
|
||
|
#define LD_E_E 91
|
||
|
#define LD_E_H 92
|
||
|
#define LD_E_L 93
|
||
|
#define LD_E_xHL 94
|
||
|
#define LD_E_A 95
|
||
|
#define LD_H_B 96
|
||
|
#define LD_H_C 97
|
||
|
#define LD_H_D 98
|
||
|
#define LD_H_E 99
|
||
|
#define LD_H_H 100
|
||
|
#define LD_H_L 101
|
||
|
#define LD_H_xHL 102
|
||
|
#define LD_H_A 103
|
||
|
#define LD_L_B 104
|
||
|
#define LD_L_C 105
|
||
|
#define LD_L_D 106
|
||
|
#define LD_L_E 107
|
||
|
#define LD_L_H 108
|
||
|
#define LD_L_L 109
|
||
|
#define LD_L_xHL 110
|
||
|
#define LD_L_A 111
|
||
|
#define LD_xHL_B 112
|
||
|
#define LD_xHL_C 113
|
||
|
#define LD_xHL_D 114
|
||
|
#define LD_xHL_E 115
|
||
|
#define LD_xHL_H 116
|
||
|
#define LD_xHL_L 117
|
||
|
#define HALT 118
|
||
|
#define LD_xHL_A 119
|
||
|
#define LD_A_B 120
|
||
|
#define LD_A_C 121
|
||
|
#define LD_A_D 122
|
||
|
#define LD_A_E 123
|
||
|
#define LD_A_H 124
|
||
|
#define LD_A_L 125
|
||
|
#define LD_A_xHL 126
|
||
|
#define LD_A_A 127
|
||
|
#define ADD_B 128
|
||
|
#define ADD_C 129
|
||
|
#define ADD_D 130
|
||
|
#define ADD_E 131
|
||
|
#define ADD_H 132
|
||
|
#define ADD_L 133
|
||
|
#define ADD_xHL 134
|
||
|
#define ADD_A 135
|
||
|
#define ADC_B 136
|
||
|
#define ADC_C 137
|
||
|
#define ADC_D 138
|
||
|
#define ADC_E 139
|
||
|
#define ADC_H 140
|
||
|
#define ADC_L 141
|
||
|
#define ADC_xHL 142
|
||
|
#define ADC_A 143
|
||
|
#define SUB_B 144
|
||
|
#define SUB_C 145
|
||
|
#define SUB_D 146
|
||
|
#define SUB_E 147
|
||
|
#define SUB_H 148
|
||
|
#define SUB_L 149
|
||
|
#define SUB_xHL 150
|
||
|
#define SUB_A 151
|
||
|
#define SBC_B 152
|
||
|
#define SBC_C 153
|
||
|
#define SBC_D 154
|
||
|
#define SBC_E 155
|
||
|
#define SBC_H 156
|
||
|
#define SBC_L 157
|
||
|
#define SBC_xHL 158
|
||
|
#define SBC_A 159
|
||
|
#define AND_B 160
|
||
|
#define AND_C 161
|
||
|
#define AND_D 162
|
||
|
#define AND_E 163
|
||
|
#define AND_H 164
|
||
|
#define AND_L 165
|
||
|
#define AND_xHL 166
|
||
|
#define AND_A 167
|
||
|
#define XOR_B 168
|
||
|
#define XOR_C 169
|
||
|
#define XOR_D 170
|
||
|
#define XOR_E 171
|
||
|
#define XOR_H 172
|
||
|
#define XOR_L 173
|
||
|
#define XOR_xHL 174
|
||
|
#define XOR_A 175
|
||
|
#define OR_B 176
|
||
|
#define OR_C 177
|
||
|
#define OR_D 178
|
||
|
#define OR_E 179
|
||
|
#define OR_H 180
|
||
|
#define OR_L 181
|
||
|
#define OR_xHL 182
|
||
|
#define OR_A 183
|
||
|
#define CP_B 184
|
||
|
#define CP_C 185
|
||
|
#define CP_D 186
|
||
|
#define CP_E 187
|
||
|
#define CP_H 188
|
||
|
#define CP_L 189
|
||
|
#define CP_xHL 190
|
||
|
#define CP_A 191
|
||
|
#define RET_NZ 192
|
||
|
#define POP_BC 193
|
||
|
#define JP_NZ 194
|
||
|
#define JP 195
|
||
|
#define CALL_NZ 196
|
||
|
#define PUSH_BC 197
|
||
|
#define ADD_N 198
|
||
|
#define RST_00 199
|
||
|
#define RET_Z 200
|
||
|
#define RET 201
|
||
|
#define JP_Z 202
|
||
|
#define PREFIX_CB 203
|
||
|
#define CALL_Z 204
|
||
|
#define CALL 205
|
||
|
#define ADC_N 206
|
||
|
#define RST_08 207
|
||
|
#define RET_NC 208
|
||
|
#define POP_DE 209
|
||
|
#define JP_NC 210
|
||
|
#define OUT_N_A 211
|
||
|
#define CALL_NC 212
|
||
|
#define PUSH_DE 213
|
||
|
#define SUB_N 214
|
||
|
#define RST_10 215
|
||
|
#define RET_C 216
|
||
|
#define EXX 217
|
||
|
#define JP_C 218
|
||
|
#define IN_A_N 219
|
||
|
#define CALL_C 220
|
||
|
#define PREFIX_DD 221
|
||
|
#define SBC_N 222
|
||
|
#define RST_18 223
|
||
|
#define RET_PO 224
|
||
|
#define POP_HL 225
|
||
|
#define JP_PO 226
|
||
|
#define EX_HL_xSP 227
|
||
|
#define CALL_PO 228
|
||
|
#define PUSH_HL 229
|
||
|
#define AND_N 230
|
||
|
#define RST_20 231
|
||
|
#define RET_PE 232
|
||
|
#define JP_xHL 233
|
||
|
#define JP_PE 234
|
||
|
#define EX_DE_HL 235
|
||
|
#define CALL_PE 236
|
||
|
#define PREFIX_ED 237
|
||
|
#define XOR_N 238
|
||
|
#define RST_28 239
|
||
|
#define RET_P 240
|
||
|
#define POP_AF 241
|
||
|
#define JP_P 242
|
||
|
#define DI 243
|
||
|
#define CALL_P 244
|
||
|
#define PUSH_AF 245
|
||
|
#define OR_N 246
|
||
|
#define RST_30 247
|
||
|
#define RET_M 248
|
||
|
#define LD_SP_HL 249
|
||
|
#define JP_M 250
|
||
|
#define EI 251
|
||
|
#define CALL_M 252
|
||
|
#define PREFIX_FD 253
|
||
|
#define CP_N 254
|
||
|
#define RST_38 255
|
||
|
|
||
|
|
||
|
|
||
|
/*--- CB Prefix opcodes: ---------------------------------------------*/
|
||
|
#define RLC_B 0
|
||
|
#define RLC_C 1
|
||
|
#define RLC_D 2
|
||
|
#define RLC_E 3
|
||
|
#define RLC_H 4
|
||
|
#define RLC_L 5
|
||
|
#define RLC_xHL 6
|
||
|
#define RLC_A 7
|
||
|
#define RRC_B 8
|
||
|
#define RRC_C 9
|
||
|
#define RRC_D 10
|
||
|
#define RRC_E 11
|
||
|
#define RRC_H 12
|
||
|
#define RRC_L 13
|
||
|
#define RRC_xHL 14
|
||
|
#define RRC_A 15
|
||
|
#define RL_B 16
|
||
|
#define RL_C 17
|
||
|
#define RL_D 18
|
||
|
#define RL_E 19
|
||
|
#define RL_H 20
|
||
|
#define RL_L 21
|
||
|
#define RL_xHL 22
|
||
|
#define RL_A 23
|
||
|
#define RR_B 24
|
||
|
#define RR_C 25
|
||
|
#define RR_D 26
|
||
|
#define RR_E 27
|
||
|
#define RR_H 28
|
||
|
#define RR_L 29
|
||
|
#define RR_xHL 30
|
||
|
#define RR_A 31
|
||
|
#define SLA_B 32
|
||
|
#define SLA_C 33
|
||
|
#define SLA_D 34
|
||
|
#define SLA_E 35
|
||
|
#define SLA_H 36
|
||
|
#define SLA_L 37
|
||
|
#define SLA_xHL 38
|
||
|
#define SLA_A 39
|
||
|
#define SRA_B 40
|
||
|
#define SRA_C 41
|
||
|
#define SRA_D 42
|
||
|
#define SRA_E 43
|
||
|
#define SRA_H 44
|
||
|
#define SRA_L 45
|
||
|
#define SRA_xHL 46
|
||
|
#define SRA_A 47
|
||
|
#define SLL_B 48
|
||
|
#define SLL_C 49
|
||
|
#define SLL_D 50
|
||
|
#define SLL_E 51
|
||
|
#define SLL_H 52
|
||
|
#define SLL_L 53
|
||
|
#define SLL_xHL 54
|
||
|
#define SLL_A 55
|
||
|
#define SRL_B 56
|
||
|
#define SRL_C 57
|
||
|
#define SRL_D 58
|
||
|
#define SRL_E 59
|
||
|
#define SRL_H 60
|
||
|
#define SRL_L 61
|
||
|
#define SRL_xHL 62
|
||
|
#define SRL_A 63
|
||
|
#define BIT_0_B 64
|
||
|
#define BIT_0_C 65
|
||
|
#define BIT_0_D 66
|
||
|
#define BIT_0_E 67
|
||
|
#define BIT_0_H 68
|
||
|
#define BIT_0_L 69
|
||
|
#define BIT_0_xHL 70
|
||
|
#define BIT_0_A 71
|
||
|
#define BIT_1_B 72
|
||
|
#define BIT_1_C 73
|
||
|
#define BIT_1_D 74
|
||
|
#define BIT_1_E 75
|
||
|
#define BIT_1_H 76
|
||
|
#define BIT_1_L 77
|
||
|
#define BIT_1_xHL 78
|
||
|
#define BIT_1_A 79
|
||
|
#define BIT_2_B 80
|
||
|
#define BIT_2_C 81
|
||
|
#define BIT_2_D 82
|
||
|
#define BIT_2_E 83
|
||
|
#define BIT_2_H 84
|
||
|
#define BIT_2_L 85
|
||
|
#define BIT_2_xHL 86
|
||
|
#define BIT_2_A 87
|
||
|
#define BIT_3_B 88
|
||
|
#define BIT_3_C 89
|
||
|
#define BIT_3_D 90
|
||
|
#define BIT_3_E 91
|
||
|
#define BIT_3_H 92
|
||
|
#define BIT_3_L 93
|
||
|
#define BIT_3_xHL 94
|
||
|
#define BIT_3_A 95
|
||
|
#define BIT_4_B 96
|
||
|
#define BIT_4_C 97
|
||
|
#define BIT_4_D 98
|
||
|
#define BIT_4_E 99
|
||
|
#define BIT_4_H 100
|
||
|
#define BIT_4_L 101
|
||
|
#define BIT_4_xHL 102
|
||
|
#define BIT_4_A 103
|
||
|
#define BIT_5_B 104
|
||
|
#define BIT_5_C 105
|
||
|
#define BIT_5_D 106
|
||
|
#define BIT_5_E 107
|
||
|
#define BIT_5_H 108
|
||
|
#define BIT_5_L 109
|
||
|
#define BIT_5_xHL 110
|
||
|
#define BIT_5_A 111
|
||
|
#define BIT_6_B 112
|
||
|
#define BIT_6_C 113
|
||
|
#define BIT_6_D 114
|
||
|
#define BIT_6_E 115
|
||
|
#define BIT_6_H 116
|
||
|
#define BIT_6_L 117
|
||
|
#define BIT_6_xHL 118
|
||
|
#define BIT_6_A 119
|
||
|
#define BIT_7_B 120
|
||
|
#define BIT_7_C 121
|
||
|
#define BIT_7_D 122
|
||
|
#define BIT_7_E 123
|
||
|
#define BIT_7_H 124
|
||
|
#define BIT_7_L 125
|
||
|
#define BIT_7_xHL 126
|
||
|
#define BIT_7_A 127
|
||
|
#define RES_0_B 128
|
||
|
#define RES_0_C 129
|
||
|
#define RES_0_D 130
|
||
|
#define RES_0_E 131
|
||
|
#define RES_0_H 132
|
||
|
#define RES_0_L 133
|
||
|
#define RES_0_xHL 134
|
||
|
#define RES_0_A 135
|
||
|
#define RES_1_B 136
|
||
|
#define RES_1_C 137
|
||
|
#define RES_1_D 138
|
||
|
#define RES_1_E 139
|
||
|
#define RES_1_H 140
|
||
|
#define RES_1_L 141
|
||
|
#define RES_1_xHL 142
|
||
|
#define RES_1_A 143
|
||
|
#define RES_2_B 144
|
||
|
#define RES_2_C 145
|
||
|
#define RES_2_D 146
|
||
|
#define RES_2_E 147
|
||
|
#define RES_2_H 148
|
||
|
#define RES_2_L 149
|
||
|
#define RES_2_xHL 150
|
||
|
#define RES_2_A 151
|
||
|
#define RES_3_B 152
|
||
|
#define RES_3_C 153
|
||
|
#define RES_3_D 154
|
||
|
#define RES_3_E 155
|
||
|
#define RES_3_H 156
|
||
|
#define RES_3_L 157
|
||
|
#define RES_3_xHL 158
|
||
|
#define RES_3_A 159
|
||
|
#define RES_4_B 160
|
||
|
#define RES_4_C 161
|
||
|
#define RES_4_D 162
|
||
|
#define RES_4_E 163
|
||
|
#define RES_4_H 164
|
||
|
#define RES_4_L 165
|
||
|
#define RES_4_xHL 166
|
||
|
#define RES_4_A 167
|
||
|
#define RES_5_B 168
|
||
|
#define RES_5_C 169
|
||
|
#define RES_5_D 170
|
||
|
#define RES_5_E 171
|
||
|
#define RES_5_H 172
|
||
|
#define RES_5_L 173
|
||
|
#define RES_5_xHL 174
|
||
|
#define RES_5_A 175
|
||
|
#define RES_6_B 176
|
||
|
#define RES_6_C 177
|
||
|
#define RES_6_D 178
|
||
|
#define RES_6_E 179
|
||
|
#define RES_6_H 180
|
||
|
#define RES_6_L 181
|
||
|
#define RES_6_xHL 182
|
||
|
#define RES_6_A 183
|
||
|
#define RES_7_B 184
|
||
|
#define RES_7_C 185
|
||
|
#define RES_7_D 186
|
||
|
#define RES_7_E 187
|
||
|
#define RES_7_H 188
|
||
|
#define RES_7_L 189
|
||
|
#define RES_7_xHL 190
|
||
|
#define RES_7_A 191
|
||
|
#define SET_0_B 192
|
||
|
#define SET_0_C 193
|
||
|
#define SET_0_D 194
|
||
|
#define SET_0_E 195
|
||
|
#define SET_0_H 196
|
||
|
#define SET_0_L 197
|
||
|
#define SET_0_xHL 198
|
||
|
#define SET_0_A 199
|
||
|
#define SET_1_B 200
|
||
|
#define SET_1_C 201
|
||
|
#define SET_1_D 202
|
||
|
#define SET_1_E 203
|
||
|
#define SET_1_H 204
|
||
|
#define SET_1_L 205
|
||
|
#define SET_1_xHL 206
|
||
|
#define SET_1_A 207
|
||
|
#define SET_2_B 208
|
||
|
#define SET_2_C 209
|
||
|
#define SET_2_D 210
|
||
|
#define SET_2_E 211
|
||
|
#define SET_2_H 212
|
||
|
#define SET_2_L 213
|
||
|
#define SET_2_xHL 214
|
||
|
#define SET_2_A 215
|
||
|
#define SET_3_B 216
|
||
|
#define SET_3_C 217
|
||
|
#define SET_3_D 218
|
||
|
#define SET_3_E 219
|
||
|
#define SET_3_H 220
|
||
|
#define SET_3_L 221
|
||
|
#define SET_3_xHL 222
|
||
|
#define SET_3_A 223
|
||
|
#define SET_4_B 224
|
||
|
#define SET_4_C 225
|
||
|
#define SET_4_D 226
|
||
|
#define SET_4_E 227
|
||
|
#define SET_4_H 228
|
||
|
#define SET_4_L 229
|
||
|
#define SET_4_xHL 230
|
||
|
#define SET_4_A 231
|
||
|
#define SET_5_B 232
|
||
|
#define SET_5_C 233
|
||
|
#define SET_5_D 234
|
||
|
#define SET_5_E 235
|
||
|
#define SET_5_H 236
|
||
|
#define SET_5_L 237
|
||
|
#define SET_5_xHL 238
|
||
|
#define SET_5_A 239
|
||
|
#define SET_6_B 240
|
||
|
#define SET_6_C 241
|
||
|
#define SET_6_D 242
|
||
|
#define SET_6_E 243
|
||
|
#define SET_6_H 244
|
||
|
#define SET_6_L 245
|
||
|
#define SET_6_xHL 246
|
||
|
#define SET_6_A 247
|
||
|
#define SET_7_B 248
|
||
|
#define SET_7_C 249
|
||
|
#define SET_7_D 250
|
||
|
#define SET_7_E 251
|
||
|
#define SET_7_H 252
|
||
|
#define SET_7_L 253
|
||
|
#define SET_7_xHL 254
|
||
|
#define SET_7_A 255
|
||
|
|
||
|
|
||
|
/*--- ED opcodes: ----------------------------------------------------*/
|
||
|
#define IN_B_xC 64
|
||
|
#define OUT_xC_B 65
|
||
|
#define SBC_HL_BC 66
|
||
|
#define LD_xNNe_BC 67
|
||
|
#define NEG 68
|
||
|
#define RETN 69
|
||
|
#define IM_0 70
|
||
|
#define LD_I_A 71
|
||
|
#define IN_C_xC 72
|
||
|
#define OUT_xC_C 73
|
||
|
#define ADC_HL_BC 74
|
||
|
#define LD_BC_xNNe 75
|
||
|
#define ED_4C 76 /* * NEG */
|
||
|
#define RETI 77
|
||
|
#define ED_4E 78 /* * IM 0/1 */
|
||
|
#define LD_R_A 79
|
||
|
#define IN_D_xC 80
|
||
|
#define OUT_xC_D 81
|
||
|
#define SBC_HL_DE 82
|
||
|
#define LD_xNNe_DE 83
|
||
|
#define ED_54 84 /* * NEG */
|
||
|
#define ED_55 85 /* * RET */
|
||
|
#define IM_1 86
|
||
|
#define LD_A_I 87
|
||
|
#define IN_E_xC 88
|
||
|
#define OUT_xC_E 89
|
||
|
#define ADC_HL_DE 90
|
||
|
#define LD_DE_xNNe 91
|
||
|
#define ED_5C 92 /* * NEG */
|
||
|
#define ED_5D 93 /* * RET */
|
||
|
#define IM_2 94
|
||
|
#define LD_A_R 95
|
||
|
#define IN_H_xC 96
|
||
|
#define OUT_xC_H 97
|
||
|
#define SBC_HL_HL 98
|
||
|
#define LD_xNNe_HL 99
|
||
|
#define ED_64 100 /* * NEG */
|
||
|
#define ED_65 101 /* * RET */
|
||
|
#define ED_66 102 /* * IM 0 */
|
||
|
#define RRD 103
|
||
|
#define IN_L_xC 104
|
||
|
#define OUT_xC_L 105
|
||
|
#define ADC_HL_HL 106
|
||
|
#define LD_HL_xNNe 107
|
||
|
#define ED_6C 108 /* * NEG */
|
||
|
#define ED_6D 109 /* * RET */
|
||
|
#define ED_6E 110 /* * IM 0 */
|
||
|
#define RLD 111
|
||
|
#define IN_F_xC 112
|
||
|
#define ED_71 113 /* * OUT (C), 0 */
|
||
|
#define SBC_HL_SP 114
|
||
|
#define LD_xNNe_SP 115
|
||
|
#define ED_74 116 /* * NEG */
|
||
|
#define ED_75 117 /* * RET */
|
||
|
#define ED_76 118 /* * IM 1 */
|
||
|
#define ED_77 119 /* * NOP */
|
||
|
#define IN_A_xC 120
|
||
|
#define OUT_xC_A 121
|
||
|
#define ADC_HL_SP 122
|
||
|
#define LD_SP_xNNe 123
|
||
|
#define ED_7C 124 /* * NEG */
|
||
|
#define ED_7D 125 /* * RET */
|
||
|
#define ED_7E 126 /* * IM 2 */
|
||
|
#define ED_7F 127 /* * NOP */
|
||
|
#define LDI 160
|
||
|
#define CPI 161
|
||
|
#define INI 162
|
||
|
#define OUTI 163
|
||
|
#define LDD 168
|
||
|
#define CPD 169
|
||
|
#define IND 170
|
||
|
#define OUTD 171
|
||
|
#define LDIR 176
|
||
|
#define CPIR 177
|
||
|
#define INIR 178
|
||
|
#define OTIR 179
|
||
|
#define LDDR 184
|
||
|
#define CPDR 185
|
||
|
#define INDR 186
|
||
|
#define OTDR 187
|
||
|
#define ED_FE 254
|
||
|
|
||
|
|
||
|
/*--- DD xx opcodes: -------------------------------------------------*/
|
||
|
/* Those are the DD xx opcodes where HL is treated as IX + a
|
||
|
signed byte displacement n when required: DD opcode n: */
|
||
|
|
||
|
/*--- FD xx opcodes: -------------------------------------------------*/
|
||
|
/* Those are the FD xx opcodes where HL is treated as IY + a
|
||
|
signed byte displacement n when required: FD opcode n: */
|
||
|
|
||
|
#define ADD_IXY_BC 9
|
||
|
#define ADD_IXY_DE 25
|
||
|
#define LD_IXY_NN 33
|
||
|
#define LD_xNN_IXY 34
|
||
|
#define INC_IXY 35
|
||
|
#define INC_IXYh 36
|
||
|
#define DEC_IXYh 37
|
||
|
#define LD_IXYh_N 38
|
||
|
#define ADD_IXY_IXY 41
|
||
|
#define LD_IXY_xNN 42
|
||
|
#define DEC_IXY 43
|
||
|
#define INC_IXYl 44
|
||
|
#define DEC_IXYl 45
|
||
|
#define LD_IXYl_N 46
|
||
|
#define INC_xIXY 52
|
||
|
#define DEC_xIXY 53
|
||
|
#define LD_xIXY_N 54
|
||
|
#define ADD_IXY_SP 57
|
||
|
#define LD_B_IXYh 68
|
||
|
#define LD_B_IXYl 69
|
||
|
#define LD_B_xIXY 70
|
||
|
#define LD_C_IXYh 76
|
||
|
#define LD_C_IXYl 77
|
||
|
#define LD_C_xIXY 78
|
||
|
#define LD_D_IXYh 84
|
||
|
#define LD_D_IXYl 85
|
||
|
#define LD_D_xIXY 86
|
||
|
#define LD_E_IXYh 92
|
||
|
#define LD_E_IXYl 93
|
||
|
#define LD_E_xIXY 94
|
||
|
#define LD_IXYh_B 96
|
||
|
#define LD_IXYh_C 97
|
||
|
#define LD_IXYh_D 98
|
||
|
#define LD_IXYh_E 99
|
||
|
#define LD_IXYh_IXYh 100
|
||
|
#define LD_IXYh_IXYl 101
|
||
|
#define LD_H_xIXY 102
|
||
|
#define LD_IXYh_A 103
|
||
|
#define LD_IXYl_B 104
|
||
|
#define LD_IXYl_C 105
|
||
|
#define LD_IXYl_D 106
|
||
|
#define LD_IXYl_E 107
|
||
|
#define LD_IXYl_IXYh 108
|
||
|
#define LD_IXYl_IXYl 109
|
||
|
#define LD_L_xIXY 110
|
||
|
#define LD_IXYl_A 111
|
||
|
#define LD_xIXY_B 112
|
||
|
#define LD_xIXY_C 113
|
||
|
#define LD_xIXY_D 114
|
||
|
#define LD_xIXY_E 115
|
||
|
#define LD_xIXY_H 116
|
||
|
#define LD_xIXY_L 117
|
||
|
#define LD_xIXY_A 119
|
||
|
#define LD_A_IXYh 124
|
||
|
#define LD_A_IXYl 125
|
||
|
#define LD_A_xIXY 126
|
||
|
#define ADD_IXYh 132
|
||
|
#define ADD_IXYl 133
|
||
|
#define ADD_xIXY 134
|
||
|
#define ADC_IXYh 140
|
||
|
#define ADC_IXYl 141
|
||
|
#define ADC_xIXY 142
|
||
|
#define SUB_IXYh 148
|
||
|
#define SUB_IXYl 149
|
||
|
#define SUB_xIXY 150
|
||
|
#define SBC_IXYh 156
|
||
|
#define SBC_IXYl 157
|
||
|
#define SBC_xIXY 158
|
||
|
#define AND_IXYh 164
|
||
|
#define AND_IXYl 165
|
||
|
#define AND_xIXY 166
|
||
|
#define XOR_IXYh 172
|
||
|
#define XOR_IXYl 173
|
||
|
#define XOR_xIXY 174
|
||
|
#define OR_IXYh 180
|
||
|
#define OR_IXYl 181
|
||
|
#define OR_xIXY 182
|
||
|
#define CP_IXYh 188
|
||
|
#define CP_IXYl 189
|
||
|
#define CP_xIXY 190
|
||
|
#define POP_IXY 225
|
||
|
#define EX_IXY_xSP 227
|
||
|
#define PUSH_IXY 229
|
||
|
#define JP_IXY 233
|
||
|
#define LD_SP_IXY 249
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/*--- DD CB Prefix opcodes: ------------------------------------------*/
|
||
|
/* Those are the CB xx opcodes where HL is treated as IX + a
|
||
|
signed byte displacement n: DD CB n opcode: */
|
||
|
/*--- FD CB Prefix opcodes: ------------------------------------------*/
|
||
|
/* Those are the CB xx opcodes where HL is treated as IY + a
|
||
|
signed byte displacement n: FD CB n opcode: */
|
||
|
|
||
|
#define RLC_IXYh 4
|
||
|
#define RLC_IXYl 5
|
||
|
#define RLC_xIXY 6
|
||
|
#define RRC_IXYh 12
|
||
|
#define RRC_IXYl 13
|
||
|
#define RRC_xIXY 14
|
||
|
#define RL_IXYh 20
|
||
|
#define RL_IXYl 21
|
||
|
#define RL_xIXY 22
|
||
|
#define RR_IXYh 28
|
||
|
#define RR_IXYl 29
|
||
|
#define RR_xIXY 30
|
||
|
#define SLA_IXYh 36
|
||
|
#define SLA_IXYl 37
|
||
|
#define SLA_xIXY 38
|
||
|
#define SRA_IXYh 44
|
||
|
#define SRA_IXYl 45
|
||
|
#define SRA_xIXY 46
|
||
|
#define SLL_IXYh 52
|
||
|
#define SLL_IXYl 53
|
||
|
#define SLL_xIXY 54
|
||
|
#define SRL_IXYh 60
|
||
|
#define SRL_IXYl 61
|
||
|
#define SRL_xIXY 62
|
||
|
#define BIT_0_IXYh 68
|
||
|
#define BIT_0_IXYl 69
|
||
|
#define BIT_0_xIXY 70
|
||
|
#define BIT_1_IXYh 76
|
||
|
#define BIT_1_IXYl 77
|
||
|
#define BIT_1_xIXY 78
|
||
|
#define BIT_2_IXYh 84
|
||
|
#define BIT_2_IXYl 85
|
||
|
#define BIT_2_xIXY 86
|
||
|
#define BIT_3_IXYh 92
|
||
|
#define BIT_3_IXYl 93
|
||
|
#define BIT_3_xIXY 94
|
||
|
#define BIT_4_IXYh 100
|
||
|
#define BIT_4_IXYl 101
|
||
|
#define BIT_4_xIXY 102
|
||
|
#define BIT_5_IXYh 108
|
||
|
#define BIT_5_IXYl 109
|
||
|
#define BIT_5_xIXY 110
|
||
|
#define BIT_6_IXYh 116
|
||
|
#define BIT_6_IXYl 117
|
||
|
#define BIT_6_xIXY 118
|
||
|
#define BIT_7_IXYh 124
|
||
|
#define BIT_7_IXYl 125
|
||
|
#define BIT_7_xIXY 126
|
||
|
#define RES_0_IXYh 132
|
||
|
#define RES_0_IXYl 133
|
||
|
#define RES_0_xIXY 134
|
||
|
#define RES_1_IXYh 140
|
||
|
#define RES_1_IXYl 141
|
||
|
#define RES_1_xIXY 142
|
||
|
#define RES_2_IXYh 148
|
||
|
#define RES_2_IXYl 149
|
||
|
#define RES_2_xIXY 150
|
||
|
#define RES_3_IXYh 156
|
||
|
#define RES_3_IXYl 157
|
||
|
#define RES_3_xIXY 158
|
||
|
#define RES_4_IXYh 164
|
||
|
#define RES_4_IXYl 165
|
||
|
#define RES_4_xIXY 166
|
||
|
#define RES_5_IXYh 172
|
||
|
#define RES_5_IXYl 173
|
||
|
#define RES_5_xIXY 174
|
||
|
#define RES_6_IXYh 180
|
||
|
#define RES_6_IXYl 181
|
||
|
#define RES_6_xIXY 182
|
||
|
#define RES_7_IXYh 188
|
||
|
#define RES_7_IXYl 189
|
||
|
#define RES_7_xIXY 190
|
||
|
#define SET_0_IXYh 196
|
||
|
#define SET_0_IXYl 197
|
||
|
#define SET_0_xIXY 198
|
||
|
#define SET_1_IXYh 204
|
||
|
#define SET_1_IXYl 205
|
||
|
#define SET_1_xIXY 206
|
||
|
#define SET_2_IXYh 212
|
||
|
#define SET_2_IXYl 213
|
||
|
#define SET_2_xIXY 214
|
||
|
#define SET_3_IXYh 220
|
||
|
#define SET_3_IXYl 221
|
||
|
#define SET_3_xIXY 222
|
||
|
#define SET_4_IXYh 228
|
||
|
#define SET_4_IXYl 229
|
||
|
#define SET_4_xIXY 230
|
||
|
#define SET_5_IXYh 236
|
||
|
#define SET_5_IXYl 237
|
||
|
#define SET_5_xIXY 238
|
||
|
#define SET_6_IXYh 244
|
||
|
#define SET_6_IXYl 245
|
||
|
#define SET_6_xIXY 246
|
||
|
#define SET_7_IXYh 252
|
||
|
#define SET_7_IXYl 253
|
||
|
#define SET_7_xIXY 254
|
||
|
|
||
|
#endif
|