4 * Copyright (C) 1989-2009 Alan R. Baldwin
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
26 * Extensions: P. Felber
41 { NULL
, "CON", S_ATYP
, 0, A_CON
},
42 { NULL
, "OVR", S_ATYP
, 0, A_OVR
},
43 { NULL
, "REL", S_ATYP
, 0, A_REL
},
44 { NULL
, "ABS", S_ATYP
, 0, A_ABS
},
45 { NULL
, "NOPAG", S_ATYP
, 0, A_NOPAG
},
46 { NULL
, "PAG", S_ATYP
, 0, A_PAG
},
49 { NULL
, ".page", S_PAGE
, 0, 0 },
50 { NULL
, ".title", S_HEADER
, 0, O_TITLE
},
51 { NULL
, ".sbttl", S_HEADER
, 0, O_SBTTL
},
52 { NULL
, ".module", S_MODUL
, 0, 0 },
53 { NULL
, ".include", S_INCL
, 0, I_CODE
},
54 { NULL
, ".incbin", S_INCL
, 0, I_BNRY
},
55 { NULL
, ".area", S_AREA
, 0, 0 },
56 // { NULL, ".psharea", S_AREA, 0, O_PSH },
57 // { NULL, ".poparea", S_AREA, 0, O_POP },
58 // { NULL, ".bank", S_BANK, 0, 0 },
59 { NULL
, ".org", S_ORG
, 0, 0 },
60 { NULL
, ".radix", S_RADIX
, 0, 0 },
61 { NULL
, ".globl", S_GLOBL
, 0, 0 },
62 { NULL
, ".local", S_LOCAL
, 0, 0 },
63 { NULL
, ".if", S_CONDITIONAL
, 0, O_IF
},
64 { NULL
, ".iff", S_CONDITIONAL
, 0, O_IFF
},
65 { NULL
, ".ift", S_CONDITIONAL
, 0, O_IFT
},
66 { NULL
, ".iftf", S_CONDITIONAL
, 0, O_IFTF
},
67 { NULL
, ".ifdef", S_CONDITIONAL
, 0, O_IFDEF
},
68 { NULL
, ".ifndef", S_CONDITIONAL
, 0, O_IFNDEF
},
69 { NULL
, ".ifgt", S_CONDITIONAL
, 0, O_IFGT
},
70 { NULL
, ".iflt", S_CONDITIONAL
, 0, O_IFLT
},
71 { NULL
, ".ifge", S_CONDITIONAL
, 0, O_IFGE
},
72 { NULL
, ".ifle", S_CONDITIONAL
, 0, O_IFLE
},
73 { NULL
, ".ifeq", S_CONDITIONAL
, 0, O_IFEQ
},
74 { NULL
, ".ifne", S_CONDITIONAL
, 0, O_IFNE
},
75 { NULL
, ".ifb", S_CONDITIONAL
, 0, O_IFB
},
76 { NULL
, ".ifnb", S_CONDITIONAL
, 0, O_IFNB
},
77 { NULL
, ".ifidn", S_CONDITIONAL
, 0, O_IFIDN
},
78 { NULL
, ".ifdif", S_CONDITIONAL
, 0, O_IFDIF
},
79 { NULL
, ".iif", S_CONDITIONAL
, 0, O_IIF
},
80 { NULL
, ".iiff", S_CONDITIONAL
, 0, O_IIFF
},
81 { NULL
, ".iift", S_CONDITIONAL
, 0, O_IIFT
},
82 { NULL
, ".iiftf", S_CONDITIONAL
, 0, O_IIFTF
},
83 { NULL
, ".iifdef", S_CONDITIONAL
, 0, O_IIFDEF
},
84 { NULL
, ".iifndef", S_CONDITIONAL
, 0, O_IIFNDEF
},
85 { NULL
, ".iifgt", S_CONDITIONAL
, 0, O_IIFGT
},
86 { NULL
, ".iiflt", S_CONDITIONAL
, 0, O_IIFLT
},
87 { NULL
, ".iifge", S_CONDITIONAL
, 0, O_IIFGE
},
88 { NULL
, ".iifle", S_CONDITIONAL
, 0, O_IIFLE
},
89 { NULL
, ".iifeq", S_CONDITIONAL
, 0, O_IIFEQ
},
90 { NULL
, ".iifne", S_CONDITIONAL
, 0, O_IIFNE
},
91 { NULL
, ".iifb", S_CONDITIONAL
, 0, O_IIFB
},
92 { NULL
, ".iifnb", S_CONDITIONAL
, 0, O_IIFNB
},
93 { NULL
, ".iifidn", S_CONDITIONAL
, 0, O_IIFIDN
},
94 { NULL
, ".iifdif", S_CONDITIONAL
, 0, O_IIFDIF
},
95 { NULL
, ".else", S_CONDITIONAL
, 0, O_ELSE
},
96 { NULL
, ".endif", S_CONDITIONAL
, 0, O_ENDIF
},
97 { NULL
, ".list", S_LISTING
, 0, O_LIST
},
98 { NULL
, ".nlist", S_LISTING
, 0, O_NLIST
},
99 { NULL
, ".equ", S_EQU
, 0, O_EQU
},
100 { NULL
, ".gblequ", S_EQU
, 0, O_GBLEQU
},
101 { NULL
, ".lclequ", S_EQU
, 0, O_LCLEQU
},
102 { NULL
, ".byte", S_DATA
, 0, O_1BYTE
},
103 { NULL
, ".db", S_DATA
, 0, O_1BYTE
},
104 { NULL
, ".fcb", S_DATA
, 0, O_1BYTE
},
105 { NULL
, ".word", S_DATA
, 0, O_2BYTE
},
106 { NULL
, ".dw", S_DATA
, 0, O_2BYTE
},
107 { NULL
, ".fdb", S_DATA
, 0, O_2BYTE
},
108 { NULL
, ".3byte", S_DATA
, 0, O_3BYTE
},
109 { NULL
, ".triple", S_DATA
, 0, O_3BYTE
},
110 /* { NULL, ".dl", S_DATA, 0, O_4BYTE }, */
111 /* { NULL, ".4byte", S_DATA, 0, O_4BYTE }, */
112 /* { NULL, ".quad", S_DATA, 0, O_4BYTE }, */
113 /* { NULL, ".long", S_DATA, 0, O_4BYTE }, */
114 { NULL
, ".df", S_FLOAT
, 0, 0 },
115 { NULL
, ".blkb", S_BLK
, 0, O_1BYTE
},
116 { NULL
, ".ds", S_BLK
, 0, O_1BYTE
},
117 { NULL
, ".rmb", S_BLK
, 0, O_1BYTE
},
118 { NULL
, ".rs", S_BLK
, 0, O_1BYTE
},
119 { NULL
, ".blkw", S_BLK
, 0, O_2BYTE
},
120 { NULL
, ".blk3", S_BLK
, 0, O_3BYTE
},
121 /* { NULL, ".blk4", S_BLK, 0, O_4BYTE }, */
122 /* { NULL, ".blkl", S_BLK, 0, O_4BYTE }, */
123 { NULL
, ".ascii", S_ASCIX
, 0, O_ASCII
},
124 { NULL
, ".ascis", S_ASCIX
, 0, O_ASCIS
},
125 { NULL
, ".asciz", S_ASCIX
, 0, O_ASCIZ
},
126 { NULL
, ".str", S_ASCIX
, 0, O_ASCII
},
127 { NULL
, ".strs", S_ASCIX
, 0, O_ASCIS
},
128 { NULL
, ".strz", S_ASCIX
, 0, O_ASCIZ
},
129 { NULL
, ".fcc", S_ASCIX
, 0, O_ASCII
},
130 { NULL
, ".define", S_DEFINE
, 0, O_DEF
},
131 { NULL
, ".undefine", S_DEFINE
, 0, O_UNDEF
},
132 { NULL
, ".even", S_BOUNDARY
, 0, O_EVEN
},
133 { NULL
, ".odd", S_BOUNDARY
, 0, O_ODD
},
134 { NULL
, ".bndry", S_BOUNDARY
, 0, O_BNDRY
},
135 { NULL
, ".msg" , S_MSG
, 0, 0 },
136 { NULL
, ".assume", S_ERROR
, 0, O_ASSUME
},
137 { NULL
, ".error", S_ERROR
, 0, O_ERROR
},
139 { NULL
, ".optsdcc", S_OPTSDCC
, 0, 0 },
140 /* end sdas specific */
142 /* Macro Processor */
144 { NULL
, ".macro", S_MACRO
, 0, O_MACRO
},
145 { NULL
, ".endm", S_MACRO
, 0, O_ENDM
},
146 { NULL
, ".mexit", S_MACRO
, 0, O_MEXIT
},
148 { NULL
, ".narg", S_MACRO
, 0, O_NARG
},
149 { NULL
, ".nchr", S_MACRO
, 0, O_NCHR
},
150 { NULL
, ".ntyp", S_MACRO
, 0, O_NTYP
},
152 { NULL
, ".irp", S_MACRO
, 0, O_IRP
},
153 { NULL
, ".irpc", S_MACRO
, 0, O_IRPC
},
154 { NULL
, ".rept", S_MACRO
, 0, O_REPT
},
156 { NULL
, ".nval", S_MACRO
, 0, O_NVAL
},
158 { NULL
, ".mdelete", S_MACRO
, 0, O_MDEL
},
162 { NULL
, ".z80", S_CPU
, 0, X_Z80
},
163 { NULL
, ".hd64", S_CPU
, 0, X_HD64
},
164 { NULL
, ".z180", S_CPU
, 0, X_HD64
},
165 { NULL
, ".zxn", S_CPU
, 0, X_ZXN
},
166 { NULL
, ".ez80", S_CPU
, 0, X_EZ80
},
167 { NULL
, ".r800", S_CPU
, 0, X_R800
},
171 { NULL
, "ld", S_LD
, 0, 0x40 },
173 { NULL
, "call", S_CALL
, 0, 0xC4 },
174 { NULL
, "jp", S_JP
, 0, 0xC2 },
175 { NULL
, "jr", S_JR
, 0, 0x18 },
176 { NULL
, "djnz", S_DJNZ
, 0, 0x10 },
177 { NULL
, "ret", S_RET
, 0, 0xC0 },
179 { NULL
, "bit", S_BIT
, 0, 0x40 },
180 { NULL
, "res", S_BIT
, 0, 0x80 },
181 { NULL
, "set", S_BIT
, 0, 0xC0 },
183 { NULL
, "inc", S_INC
, 0, 0x04 },
184 { NULL
, "dec", S_DEC
, 0, 0x05 },
186 { NULL
, "add", S_ADD
, 0, 0x80 },
187 { NULL
, "adc", S_ADC
, 0, 0x88 },
188 { NULL
, "sub", S_SUB
, 0, 0x90 },
189 { NULL
, "sbc", S_SBC
, 0, 0x98 },
191 { NULL
, "and", S_AND
, 0, 0xA0 },
192 { NULL
, "cp", S_AND
, 0, 0xB8 },
193 { NULL
, "or", S_AND
, 0, 0xB0 },
194 { NULL
, "xor", S_AND
, 0, 0xA8 },
196 { NULL
, "ex", S_EX
, 0, 0xE3 },
198 { NULL
, "push", S_PUSH
, 0, 0xC5 },
199 { NULL
, "pop", S_PUSH
, 0, 0xC1 },
201 { NULL
, "in", S_IN
, 0, 0xDB },
202 { NULL
, "out", S_OUT
, 0, 0xD3 },
204 { NULL
, "rl", S_RL
, 0, 0x10 },
205 { NULL
, "rlc", S_RL
, 0, 0x00 },
206 { NULL
, "rr", S_RL
, 0, 0x18 },
207 { NULL
, "rrc", S_RL
, 0, 0x08 },
208 { NULL
, "sla", S_RL
, 0, 0x20 },
209 { NULL
, "sra", S_RL
, 0, 0x28 },
210 { NULL
, "sll", S_RL_UNDOCD
, 0, 0x30 },
211 { NULL
, "srl", S_RL
, 0, 0x38 },
213 { NULL
, "rst", S_RST
, 0, 0xC7 },
215 { NULL
, "im", S_IM
, 0, 0xED },
217 { NULL
, "ccf", S_INH1
, 0, 0x3F },
218 { NULL
, "cpl", S_INH1
, 0, 0x2F },
219 { NULL
, "daa", S_INH1
, 0, 0x27 },
220 { NULL
, "di", S_INH1
, 0, 0xF3 },
221 { NULL
, "ei", S_INH1
, 0, 0xFB },
222 { NULL
, "exx", S_INH1
, 0, 0xD9 },
223 { NULL
, "nop", S_INH1
, 0, 0x00 },
224 { NULL
, "halt", S_INH1
, 0, 0x76 },
225 { NULL
, "rla", S_INH1
, 0, 0x17 },
226 { NULL
, "rlca", S_INH1
, 0, 0x07 },
227 { NULL
, "rra", S_INH1
, 0, 0x1F },
228 { NULL
, "rrca", S_INH1
, 0, 0x0F },
229 { NULL
, "scf", S_INH1
, 0, 0x37 },
231 { NULL
, "cpd", S_INH2
, 0, 0xA9 },
232 { NULL
, "cpdr", S_INH2
, 0, 0xB9 },
233 { NULL
, "cpi", S_INH2
, 0, 0xA1 },
234 { NULL
, "cpir", S_INH2
, 0, 0xB1 },
235 { NULL
, "ind", S_INH2
, 0, 0xAA },
236 { NULL
, "indr", S_INH2
, 0, 0xBA },
237 { NULL
, "ini", S_INH2
, 0, 0xA2 },
238 { NULL
, "inir", S_INH2
, 0, 0xB2 },
239 { NULL
, "ldd", S_INH2
, 0, 0xA8 },
240 { NULL
, "lddr", S_INH2
, 0, 0xB8 },
241 { NULL
, "ldi", S_INH2
, 0, 0xA0 },
242 { NULL
, "ldir", S_INH2
, 0, 0xB0 },
243 { NULL
, "neg", S_INH2
, 0, 0x44 },
244 { NULL
, "otdr", S_INH2
, 0, 0xBB },
245 { NULL
, "otir", S_INH2
, 0, 0xB3 },
246 { NULL
, "outd", S_INH2
, 0, 0xAB },
247 { NULL
, "outi", S_INH2
, 0, 0xA3 },
248 { NULL
, "reti", S_INH2
, 0, 0x4D },
249 { NULL
, "retn", S_INH2
, 0, 0x45 },
250 { NULL
, "rld", S_INH2
, 0, 0x6F },
251 { NULL
, "rrd", S_INH2
, 0, 0x67 },
253 { NULL
, ".allow_undocumented", X_UNDOCD
, 0, 0 },
257 { NULL
, "otdm", X_INH2
, 0, 0x8B },
258 { NULL
, "otdmr", X_INH2
, 0, 0x9B },
259 { NULL
, "otim", X_INH2
, 0, 0x83 },
260 { NULL
, "otimr", X_INH2
, 0, 0x93 },
261 { NULL
, "slp", X_INH2
, 0, 0x76 },
263 { NULL
, "in0", X_IN
, 0, 0x00 },
264 { NULL
, "out0", X_OUT
, 0, 0x01 },
266 { NULL
, "mlt", X_MLT
, 0, 0x4C },
268 { NULL
, "tst", X_TST
, 0, 0x04 },
269 { NULL
, "test", X_TST
, 0, 0x04 },
270 { NULL
, "tstio", X_TSTIO
, 0, 0x74 },
274 { NULL
, "swapnib", X_ZXN_INH2
, 0, 0x23 },
275 { NULL
, "swap", X_ZXN_INH2
, 0, 0x23 },
276 { NULL
, "mul", X_ZXN_MUL
, 0, 0x30 },
277 { NULL
, "outinb", X_ZXN_INH2
, 0, 0x90 },
278 { NULL
, "ldix", X_ZXN_INH2
, 0, 0xA4 },
279 { NULL
, "ldirx", X_ZXN_INH2
, 0, 0xB4 },
280 { NULL
, "lddx", X_ZXN_INH2
, 0, 0xAC },
281 { NULL
, "lddrx", X_ZXN_INH2
, 0, 0xBC },
282 { NULL
, "ldirscale", X_ZXN_INH2
, 0, 0xB6 },
283 { NULL
, "ldpirx", X_ZXN_INH2
, 0, 0xB7 },
284 { NULL
, "mirror", X_ZXN_MIRROR
, 0, 0 },
285 { NULL
, "nextreg", X_ZXN_NEXTREG
, 0, 0 },
286 { NULL
, "pixeldn", X_ZXN_INH2
, 0, 0x93 },
287 { NULL
, "pixelad", X_ZXN_INH2
, 0, 0x94 },
288 { NULL
, "setae", X_ZXN_INH2
, 0, 0x95 },
289 { NULL
, "cu.wait", X_ZXN_CU_WAIT
, 0, 0 },
290 { NULL
, "cu.move", X_ZXN_CU_MOVE
, 0, 0 },
291 { NULL
, "cu.stop", X_ZXN_CU_STOP
, 0, 0 },
292 { NULL
, "cu.nop", X_ZXN_CU_NOP
, 0, 0 },
293 { NULL
, "bsla", X_ZXN_INH2
, 0, 0x28 },
294 { NULL
, "bsra", X_ZXN_INH2
, 0, 0x29 },
295 { NULL
, "bsrl", X_ZXN_INH2
, 0, 0x2a },
296 { NULL
, "bsrf", X_ZXN_INH2
, 0, 0x2b },
297 { NULL
, "brlc", X_ZXN_INH2
, 0, 0x2c },
301 { NULL
, ".adl", X_EZ_ADL
, 0, 0 },
303 { NULL
, "ld.il", S_LD
, M_IL
, 0x40 },
304 { NULL
, "ld.is", S_LD
, M_IS
, 0x40 },
305 { NULL
, "ld.l", S_LD
, M_L
, 0x40 },
306 { NULL
, "ld.lil", S_LD
, M_LIL
, 0x40 },
307 { NULL
, "ld.s", S_LD
, M_S
, 0x40 },
308 { NULL
, "ld.sis", S_LD
, M_SIS
, 0x40 },
310 { NULL
, "call.il", S_CALL
, M_IL
, 0xC4 },
311 { NULL
, "call.is", S_CALL
, M_IS
, 0xC4 },
313 { NULL
, "jp.l", S_JP
, M_L
, 0xC2 },
314 { NULL
, "jp.lil", S_JP
, M_LIL
, 0xC2 },
315 { NULL
, "jp.s", S_JP
, M_S
, 0xC2 },
316 { NULL
, "jp.sis", S_JP
, M_SIS
, 0xC2 },
318 { NULL
, "ret.l", S_RET
, M_L
, 0xC0 },
319 { NULL
, "ret.s", S_RET
, M_S
, 0xC0 },
321 { NULL
, "bit.l", S_BIT
, M_L
, 0x40 },
322 { NULL
, "bit.s", S_BIT
, M_S
, 0x40 },
323 { NULL
, "res.l", S_BIT
, M_L
, 0x80 },
324 { NULL
, "res.s", S_BIT
, M_S
, 0x80 },
325 { NULL
, "set.l", S_BIT
, M_L
, 0xC0 },
326 { NULL
, "set.s", S_BIT
, M_S
, 0xC0 },
328 { NULL
, "inc.l", S_INC
, M_L
, 0x04 },
329 { NULL
, "inc.s", S_INC
, M_S
, 0x04 },
331 { NULL
, "dec.l", S_DEC
, M_L
, 0x05 },
332 { NULL
, "dec.s", S_DEC
, M_S
, 0x05 },
334 { NULL
, "add.l", S_ADD
, M_L
, 0x80 },
335 { NULL
, "add.s", S_ADD
, M_S
, 0x80 },
337 { NULL
, "adc.l", S_ADC
, M_L
, 0x88 },
338 { NULL
, "adc.s", S_ADC
, M_S
, 0x88 },
340 { NULL
, "sub.l", S_SUB
, M_L
, 0x90 },
341 { NULL
, "sub.s", S_SUB
, M_S
, 0x90 },
343 { NULL
, "sbc.l", S_SBC
, M_L
, 0x98 },
344 { NULL
, "sbc.s", S_SBC
, M_S
, 0x98 },
346 { NULL
, "and.l", S_AND
, M_L
, 0xA0 },
347 { NULL
, "and.s", S_AND
, M_S
, 0xA0 },
348 { NULL
, "cp.l", S_AND
, M_L
, 0xB8 },
349 { NULL
, "cp.s", S_AND
, M_S
, 0xB8 },
350 { NULL
, "or.l", S_AND
, M_L
, 0xB0 },
351 { NULL
, "or.s", S_AND
, M_S
, 0xB0 },
352 { NULL
, "xor.l", S_AND
, M_L
, 0xA8 },
353 { NULL
, "xor.s", S_AND
, M_S
, 0xA8 },
355 { NULL
, "ex.l", S_EX
, M_L
, 0xE3 },
356 { NULL
, "ex.s", S_EX
, M_S
, 0xE3 },
358 { NULL
, "push.l", S_PUSH
, M_L
, 0xC5 },
359 { NULL
, "push.s", S_PUSH
, M_S
, 0xC5 },
360 { NULL
, "pop.l", S_PUSH
, M_L
, 0xC1 },
361 { NULL
, "pop.s", S_PUSH
, M_S
, 0xC1 },
363 { NULL
, "rl.l", S_RL
, M_L
, 0x10 },
364 { NULL
, "rl.s", S_RL
, M_S
, 0x10 },
365 { NULL
, "rlc.l", S_RL
, M_L
, 0x00 },
366 { NULL
, "rlc.s", S_RL
, M_S
, 0x00 },
367 { NULL
, "rr.l", S_RL
, M_L
, 0x18 },
368 { NULL
, "rr.s", S_RL
, M_S
, 0x18 },
369 { NULL
, "rrc.l", S_RL
, M_L
, 0x08 },
370 { NULL
, "rrc.s", S_RL
, M_S
, 0x08 },
371 { NULL
, "sla.l", S_RL
, M_L
, 0x20 },
372 { NULL
, "sla.s", S_RL
, M_S
, 0x20 },
373 { NULL
, "sra.l", S_RL
, M_L
, 0x28 },
374 { NULL
, "sra.s", S_RL
, M_S
, 0x28 },
375 { NULL
, "srl.l", S_RL
, M_L
, 0x38 },
376 { NULL
, "srl.s", S_RL
, M_S
, 0x38 },
378 { NULL
, "rst.l", S_RST
, M_L
, 0xC7 },
379 { NULL
, "rst.s", S_RST
, M_S
, 0xC7 },
381 { NULL
, "cpd.l", S_INH2
, M_L
, 0xA9 },
382 { NULL
, "cpd.s", S_INH2
, M_S
, 0xA9 },
383 { NULL
, "cpdr.l", S_INH2
, M_L
, 0xB9 },
384 { NULL
, "cpdr.s", S_INH2
, M_S
, 0xB9 },
385 { NULL
, "cpi.l", S_INH2
, M_L
, 0xA1 },
386 { NULL
, "cpi.s", S_INH2
, M_S
, 0xA1 },
387 { NULL
, "cpir.l", S_INH2
, M_L
, 0xB1 },
388 { NULL
, "cpir.s", S_INH2
, M_S
, 0xB1 },
389 { NULL
, "ind.l", S_INH2
, M_L
, 0xAA },
390 { NULL
, "ind.s", S_INH2
, M_S
, 0xAA },
391 { NULL
, "ind2", X_EZ_INH2
, 0, 0x8C },
392 { NULL
, "ind2.l", X_EZ_INH2
, M_L
, 0x8C },
393 { NULL
, "ind2.s", X_EZ_INH2
, M_S
, 0x8C },
394 { NULL
, "indr.l", S_INH2
, M_L
, 0xBA },
395 { NULL
, "indr.s", S_INH2
, M_S
, 0xBA },
396 { NULL
, "ind2r", X_EZ_INH2
, 0, 0x9C },
397 { NULL
, "ind2r.l", X_EZ_INH2
, M_L
, 0x9C },
398 { NULL
, "ind2r.s", X_EZ_INH2
, M_S
, 0x9C },
399 { NULL
, "indrx", X_EZ_INH2
, 0, 0xCA },
400 { NULL
, "indrx.l", X_EZ_INH2
, M_L
, 0xCA },
401 { NULL
, "indrx.s", X_EZ_INH2
, M_S
, 0xCA },
402 { NULL
, "indm", X_EZ_INH2
, 0, 0x8A },
403 { NULL
, "indm.l", X_EZ_INH2
, M_L
, 0x8A },
404 { NULL
, "indm.s", X_EZ_INH2
, M_S
, 0x8A },
405 { NULL
, "indmr", X_EZ_INH2
, 0, 0x9A },
406 { NULL
, "indmr.l", X_EZ_INH2
, M_L
, 0x9A },
407 { NULL
, "indmr.s", X_EZ_INH2
, M_S
, 0x9A },
408 { NULL
, "ini.l", S_INH2
, M_L
, 0xA2 },
409 { NULL
, "ini.s", S_INH2
, M_S
, 0xA2 },
410 { NULL
, "ini2", X_EZ_INH2
, 0, 0x84 },
411 { NULL
, "ini2.l", X_EZ_INH2
, M_L
, 0x84 },
412 { NULL
, "ini2.s", X_EZ_INH2
, M_S
, 0x84 },
413 { NULL
, "inir.l", S_INH2
, M_L
, 0xB2 },
414 { NULL
, "inir.s", S_INH2
, M_S
, 0xB2 },
415 { NULL
, "inirx", X_EZ_INH2
, 0, 0xC2 },
416 { NULL
, "inirx.l", X_EZ_INH2
, M_L
, 0xC2 },
417 { NULL
, "inirx.s", X_EZ_INH2
, M_S
, 0xC2 },
418 { NULL
, "ini2r", X_EZ_INH2
, 0, 0x94 },
419 { NULL
, "ini2r.l", X_EZ_INH2
, M_L
, 0x94 },
420 { NULL
, "ini2r.s", X_EZ_INH2
, M_S
, 0x94 },
421 { NULL
, "inim", X_EZ_INH2
, 0, 0x82 },
422 { NULL
, "inim.l", X_EZ_INH2
, M_L
, 0x82 },
423 { NULL
, "inim.s", X_EZ_INH2
, M_S
, 0x82 },
424 { NULL
, "inimr", X_EZ_INH2
, 0, 0x92 },
425 { NULL
, "inimr.l", X_EZ_INH2
, M_L
, 0x92 },
426 { NULL
, "inimr.s", X_EZ_INH2
, M_S
, 0x92 },
427 { NULL
, "ldd.l", S_INH2
, M_L
, 0xA8 },
428 { NULL
, "ldd.s", S_INH2
, M_S
, 0xA8 },
429 { NULL
, "lddr.l", S_INH2
, M_L
, 0xB8 },
430 { NULL
, "lddr.s", S_INH2
, M_S
, 0xB8 },
431 { NULL
, "ldi.l", S_INH2
, M_L
, 0xA0 },
432 { NULL
, "ldi.s", S_INH2
, M_S
, 0xA0 },
433 { NULL
, "ldir.l", S_INH2
, M_L
, 0xB0 },
434 { NULL
, "ldir.s", S_INH2
, M_S
, 0xB0 },
435 { NULL
, "otdr.l", S_INH2
, M_L
, 0xBB },
436 { NULL
, "otdr.s", S_INH2
, M_S
, 0xBB },
437 { NULL
, "otd2r", X_EZ_INH2
, 0, 0xBC },
438 { NULL
, "otd2r.l", X_EZ_INH2
, M_L
, 0xBC },
439 { NULL
, "otd2r.s", X_EZ_INH2
, M_S
, 0xBC },
440 { NULL
, "otdrx", X_EZ_INH2
, 0, 0xCB },
441 { NULL
, "otdrx.l", X_EZ_INH2
, M_L
, 0xCB },
442 { NULL
, "otdrx.s", X_EZ_INH2
, M_S
, 0xCB },
443 { NULL
, "otir.l", S_INH2
, M_L
, 0xB3 },
444 { NULL
, "otir.s", S_INH2
, M_S
, 0xB3 },
445 { NULL
, "oti2r", X_EZ_INH2
, 0, 0xB4 },
446 { NULL
, "oti2r.l", X_EZ_INH2
, M_L
, 0xB4 },
447 { NULL
, "oti2r.s", X_EZ_INH2
, M_S
, 0xB4 },
448 { NULL
, "otirx", X_EZ_INH2
, 0, 0xC3 },
449 { NULL
, "otirx.l", X_EZ_INH2
, M_L
, 0xC3 },
450 { NULL
, "otirx.s", X_EZ_INH2
, M_S
, 0xC3 },
451 { NULL
, "outd.l", S_INH2
, M_L
, 0xAB },
452 { NULL
, "outd.s", S_INH2
, M_S
, 0xAB },
453 { NULL
, "outd2", X_EZ_INH2
, 0, 0xAC },
454 { NULL
, "outd2.l", X_EZ_INH2
, M_L
, 0xAC },
455 { NULL
, "outd2.s", X_EZ_INH2
, M_S
, 0xAC },
456 { NULL
, "outi.l", S_INH2
, M_L
, 0xA3 },
457 { NULL
, "outi.s", S_INH2
, M_S
, 0xA3 },
458 { NULL
, "outi2", X_EZ_INH2
, 0, 0xA4 },
459 { NULL
, "outi2.l", X_EZ_INH2
, M_L
, 0xA4 },
460 { NULL
, "outi2.s", X_EZ_INH2
, M_S
, 0xA4 },
461 { NULL
, "otdm.l", X_INH2
, M_L
, 0x8B },
462 { NULL
, "otdm.s", X_INH2
, M_S
, 0x8B },
463 { NULL
, "otdmr.l", X_INH2
, M_L
, 0x9B },
464 { NULL
, "otdmr.s", X_INH2
, M_S
, 0x9B },
465 { NULL
, "otim.l", X_INH2
, M_L
, 0x83 },
466 { NULL
, "otim.s", X_INH2
, M_S
, 0x83 },
467 { NULL
, "otimr.l", X_INH2
, M_L
, 0x93 },
468 { NULL
, "otimr.s", X_INH2
, M_S
, 0x93 },
469 { NULL
, "reti.l", S_INH2
, M_L
, 0x4D },
470 { NULL
, "reti.s", S_INH2
, M_S
, 0x4D },
471 { NULL
, "retn.l", S_INH2
, M_L
, 0x45 },
472 { NULL
, "retn.s", S_INH2
, M_S
, 0x45 },
474 { NULL
, "mlt.l", X_MLT
, M_L
, 0x4C },
475 { NULL
, "mlt.s", X_MLT
, M_S
, 0x4C },
477 { NULL
, "tst.l", X_TST
, M_L
, 0x04 },
478 { NULL
, "tst.s", X_TST
, M_S
, 0x04 },
480 { NULL
, "lea", X_EZ_LEA
, 0, 0x00 },
481 { NULL
, "lea.l", X_EZ_LEA
, M_L
, 0x00 },
482 { NULL
, "lea.s", X_EZ_LEA
, M_S
, 0x00 },
484 { NULL
, "pea", X_EZ_PEA
, 0, 0x65 },
485 { NULL
, "pea.l", X_EZ_PEA
, M_L
, 0x65 },
486 { NULL
, "pea.s", X_EZ_PEA
, M_S
, 0x65 },
488 { NULL
, "rsmix", X_EZ_INH2
, 0, 0x7E },
489 { NULL
, "stmix", X_EZ_INH2
, 0, 0x7D },
493 { NULL
, "multu", X_Z280_MULTU
, 0, 0xC1 },
494 { NULL
, "multuw", X_Z280_MULTUW
, S_EOL
, 0xC3 }