annotate lwasm/instab.c @ 397:09fe7c40a082 3.0-beta1

Branched for 3.0-beta1 release
author lost@l-w.ca
date Fri, 23 Jul 2010 17:12:47 -0600
parents 62cb50c50976
children 048f2fb5d561
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
1 /*
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
2 instab.c
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
3 Copyright © 2008 William Astle
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
4
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
5 This file is part of LWASM.
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
6
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
7 LWASM is free software: you can redistribute it and/or modify it under the
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
8 terms of the GNU General Public License as published by the Free Software
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
9 Foundation, either version 3 of the License, or (at your option) any later
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
10 version.
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
11
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
12 This program is distributed in the hope that it will be useful, but WITHOUT
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
15 more details.
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
16
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
17 You should have received a copy of the GNU General Public License along with
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
18 this program. If not, see <http://www.gnu.org/licenses/>.
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
19
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
20
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
21 Contains the instruction table for assembling code
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
22 */
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
23 #include <config.h>
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
24
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
25 #include <stdlib.h>
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
26 #define __instab_c_seen__
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
27 #include "instab.h"
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
28
346
a82c55070624 Added expression parsing infrastructure and misc fixes
lost@starbug
parents: 345
diff changeset
29 // inherent
a82c55070624 Added expression parsing infrastructure and misc fixes
lost@starbug
parents: 345
diff changeset
30 extern PARSEFUNC(insn_parse_inh);
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
31 #define insn_resolve_inh NULL
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
32 extern EMITFUNC(insn_emit_inh);
345
7416c3f9c321 Basic macro processor ported forward; added context break handling for local symbols
lost@starbug
parents: 342
diff changeset
33
357
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
34 // register to register
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
35 extern PARSEFUNC(insn_parse_rtor);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
36 #define insn_resolve_rtor NULL
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
37 extern EMITFUNC(insn_emit_rtor);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
38
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
39 // TFM and variants
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
40 extern PARSEFUNC(insn_parse_tfmrtor);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
41 #define insn_resolve_tfmrtor NULL
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
42 extern EMITFUNC(insn_emit_tfmrtor);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
43 extern PARSEFUNC(insn_parse_tfm);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
44 #define insn_resolve_tfm NULL
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
45 extern EMITFUNC(insn_emit_tfm);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
46
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
47 // register list
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
48 extern PARSEFUNC(insn_parse_rlist);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
49 #define insn_resolve_rlist NULL
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
50 extern EMITFUNC(insn_emit_rlist);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
51
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
52 // indexed
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
53 extern PARSEFUNC(insn_parse_indexed);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
54 extern RESOLVEFUNC(insn_resolve_indexed);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
55 extern EMITFUNC(insn_emit_indexed);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
56
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
57 // generic 32 bit immediate
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
58 extern PARSEFUNC(insn_parse_gen32);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
59 extern RESOLVEFUNC(insn_resolve_gen32);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
60 extern EMITFUNC(insn_emit_gen32);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
61
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
62 // generic 16 bit immediate
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
63 extern PARSEFUNC(insn_parse_gen16);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
64 extern RESOLVEFUNC(insn_resolve_gen16);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
65 extern EMITFUNC(insn_emit_gen16);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
66
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
67 // generic 8 bit immediate
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
68 extern PARSEFUNC(insn_parse_gen8);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
69 extern RESOLVEFUNC(insn_resolve_gen8);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
70 extern EMITFUNC(insn_emit_gen8);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
71
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
72 // generic no immediate
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
73 extern PARSEFUNC(insn_parse_gen0);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
74 extern RESOLVEFUNC(insn_resolve_gen0);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
75 extern EMITFUNC(insn_emit_gen0);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
76
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
77 // logic memory
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
78 extern PARSEFUNC(insn_parse_logicmem);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
79 extern RESOLVEFUNC(insn_resolve_logicmem);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
80 extern EMITFUNC(insn_emit_logicmem);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
81
382
eacdae8a1575 Various bugfixes
lost@starbug
parents: 380
diff changeset
82 // 8 bit immediate only
357
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
83 extern PARSEFUNC(insn_parse_imm8);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
84 #define insn_resolve_imm8 NULL
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
85 extern EMITFUNC(insn_emit_imm8);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
86
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
87 // bit to bit ops
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
88 extern PARSEFUNC(insn_parse_bitbit);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
89 #define insn_resolve_bitbit NULL
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
90 extern EMITFUNC(insn_emit_bitbit);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
91
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
92 // 8 bit relative
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
93 extern PARSEFUNC(insn_parse_rel8);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
94 #define insn_resolve_rel8 NULL
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
95 extern EMITFUNC(insn_emit_rel8);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
96
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
97 // 16 bit relative
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
98 extern PARSEFUNC(insn_parse_rel16);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
99 #define insn_resolve_rel16 NULL
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
100 extern EMITFUNC(insn_emit_rel16);
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
101
346
a82c55070624 Added expression parsing infrastructure and misc fixes
lost@starbug
parents: 345
diff changeset
102 // MACRO pseudo op
a82c55070624 Added expression parsing infrastructure and misc fixes
lost@starbug
parents: 345
diff changeset
103 extern PARSEFUNC(pseudo_parse_macro);
a82c55070624 Added expression parsing infrastructure and misc fixes
lost@starbug
parents: 345
diff changeset
104 #define pseudo_resolve_macro NULL
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
105 #define pseudo_emit_macro NULL
346
a82c55070624 Added expression parsing infrastructure and misc fixes
lost@starbug
parents: 345
diff changeset
106
a82c55070624 Added expression parsing infrastructure and misc fixes
lost@starbug
parents: 345
diff changeset
107 // ENDM pseudo op
a82c55070624 Added expression parsing infrastructure and misc fixes
lost@starbug
parents: 345
diff changeset
108 extern PARSEFUNC(pseudo_parse_endm);
a82c55070624 Added expression parsing infrastructure and misc fixes
lost@starbug
parents: 345
diff changeset
109 #define pseudo_resolve_endm NULL
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
110 #define pseudo_emit_endm NULL
346
a82c55070624 Added expression parsing infrastructure and misc fixes
lost@starbug
parents: 345
diff changeset
111
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
112 #define pseudo_parse_noop NULL
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
113 #define pseudo_resolve_noop NULL
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
114 #define pseudo_emit_noop NULL
347
1649bc7bda5a Some data oriented pseudo ops added
lost@starbug
parents: 346
diff changeset
115
1649bc7bda5a Some data oriented pseudo ops added
lost@starbug
parents: 346
diff changeset
116 extern PARSEFUNC(pseudo_parse_end);
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
117 #define pseudo_resolve_end NULL
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
118 extern EMITFUNC(pseudo_emit_end);
346
a82c55070624 Added expression parsing infrastructure and misc fixes
lost@starbug
parents: 345
diff changeset
119
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
120 extern PARSEFUNC(pseudo_parse_fcb);
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
121 #define pseudo_resolve_fcb NULL
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
122 extern EMITFUNC(pseudo_emit_fcb);
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
123
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
124 extern PARSEFUNC(pseudo_parse_fdb);
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
125 #define pseudo_resolve_fdb NULL
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
126 extern EMITFUNC(pseudo_emit_fdb);
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
127
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
128 extern PARSEFUNC(pseudo_parse_fqb);
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
129 #define pseudo_resolve_fqb NULL
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
130 extern EMITFUNC(pseudo_emit_fqb);
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
131
349
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
132 extern PARSEFUNC(pseudo_parse_fcc);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
133 #define pseudo_resolve_fcc NULL
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
134 extern EMITFUNC(pseudo_emit_fcc);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
135
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
136 extern PARSEFUNC(pseudo_parse_fcs);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
137 #define pseudo_resolve_fcs NULL
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
138 extern EMITFUNC(pseudo_emit_fcs);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
139
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
140 extern PARSEFUNC(pseudo_parse_fcn);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
141 #define pseudo_resolve_fcn NULL
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
142 extern EMITFUNC(pseudo_emit_fcn);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
143
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
144 extern PARSEFUNC(pseudo_parse_rmb);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
145 extern RESOLVEFUNC(pseudo_resolve_rmb);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
146 extern EMITFUNC(pseudo_emit_rmb);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
147
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
148 extern PARSEFUNC(pseudo_parse_rmd);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
149 extern RESOLVEFUNC(pseudo_resolve_rmd);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
150 extern EMITFUNC(pseudo_emit_rmd);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
151
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
152 extern PARSEFUNC(pseudo_parse_rmq);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
153 extern RESOLVEFUNC(pseudo_resolve_rmq);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
154 extern EMITFUNC(pseudo_emit_rmq);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
155
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
156 extern PARSEFUNC(pseudo_parse_zmb);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
157 extern RESOLVEFUNC(pseudo_resolve_zmb);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
158 extern EMITFUNC(pseudo_emit_zmb);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
159
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
160 extern PARSEFUNC(pseudo_parse_zmd);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
161 extern RESOLVEFUNC(pseudo_resolve_zmd);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
162 extern EMITFUNC(pseudo_emit_zmd);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
163
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
164 extern PARSEFUNC(pseudo_parse_zmq);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
165 extern RESOLVEFUNC(pseudo_resolve_zmq);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
166 extern EMITFUNC(pseudo_emit_zmq);
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
167
350
f5666775d76f Even more pseudo ops
lost@starbug
parents: 349
diff changeset
168 extern PARSEFUNC(pseudo_parse_org);
f5666775d76f Even more pseudo ops
lost@starbug
parents: 349
diff changeset
169 #define pseudo_resolve_org NULL
f5666775d76f Even more pseudo ops
lost@starbug
parents: 349
diff changeset
170 #define pseudo_emit_org NULL
f5666775d76f Even more pseudo ops
lost@starbug
parents: 349
diff changeset
171
f5666775d76f Even more pseudo ops
lost@starbug
parents: 349
diff changeset
172 extern PARSEFUNC(pseudo_parse_equ);
f5666775d76f Even more pseudo ops
lost@starbug
parents: 349
diff changeset
173 #define pseudo_resolve_equ NULL
f5666775d76f Even more pseudo ops
lost@starbug
parents: 349
diff changeset
174 #define pseudo_emit_equ NULL
349
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
175
351
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
176 extern PARSEFUNC(pseudo_parse_set);
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
177 #define pseudo_resolve_set NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
178 #define pseudo_emit_set NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
179
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
180 extern PARSEFUNC(pseudo_parse_setdp);
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
181 #define pseudo_resolve_setdp NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
182 #define pseudo_emit_setdp NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
183
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
184 extern PARSEFUNC(pseudo_parse_ifp1);
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
185 #define pseudo_resolve_ifp1 NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
186 #define pseudo_emit_ifp1 NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
187
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
188 extern PARSEFUNC(pseudo_parse_ifp2);
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
189 #define pseudo_resolve_ifp2 NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
190 #define pseudo_emit_ifp2 NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
191
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
192 extern PARSEFUNC(pseudo_parse_ifne);
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
193 #define pseudo_resolve_ifne NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
194 #define pseudo_emit_ifne NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
195
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
196 extern PARSEFUNC(pseudo_parse_ifeq);
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
197 #define pseudo_resolve_ifeq NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
198 #define pseudo_emit_ifeq NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
199
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
200 extern PARSEFUNC(pseudo_parse_iflt);
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
201 #define pseudo_resolve_iflt NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
202 #define pseudo_emit_iflt NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
203
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
204 extern PARSEFUNC(pseudo_parse_ifle);
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
205 #define pseudo_resolve_ifle NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
206 #define pseudo_emit_ifle NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
207
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
208 extern PARSEFUNC(pseudo_parse_ifgt);
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
209 #define pseudo_resolve_ifgt NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
210 #define pseudo_emit_ifgt NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
211
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
212 extern PARSEFUNC(pseudo_parse_ifge);
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
213 #define pseudo_resolve_ifge NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
214 #define pseudo_emit_ifge NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
215
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
216 extern PARSEFUNC(pseudo_parse_ifdef);
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
217 #define pseudo_resolve_ifdef NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
218 #define pseudo_emit_ifdef NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
219
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
220 extern PARSEFUNC(pseudo_parse_ifndef);
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
221 #define pseudo_resolve_ifndef NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
222 #define pseudo_emit_ifndef NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
223
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
224 extern PARSEFUNC(pseudo_parse_endc);
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
225 #define pseudo_resolve_endc NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
226 #define pseudo_emit_endc NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
227
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
228 extern PARSEFUNC(pseudo_parse_else);
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
229 #define pseudo_resolve_else NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
230 #define pseudo_emit_else NULL
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
231
352
f5b77989f675 Added PRAGMA and *PRAGMA
lost@starbug
parents: 351
diff changeset
232 extern PARSEFUNC(pseudo_parse_pragma);
f5b77989f675 Added PRAGMA and *PRAGMA
lost@starbug
parents: 351
diff changeset
233 #define pseudo_resolve_pragma NULL
f5b77989f675 Added PRAGMA and *PRAGMA
lost@starbug
parents: 351
diff changeset
234 #define pseudo_emit_pragma NULL
f5b77989f675 Added PRAGMA and *PRAGMA
lost@starbug
parents: 351
diff changeset
235
f5b77989f675 Added PRAGMA and *PRAGMA
lost@starbug
parents: 351
diff changeset
236 extern PARSEFUNC(pseudo_parse_starpragma);
f5b77989f675 Added PRAGMA and *PRAGMA
lost@starbug
parents: 351
diff changeset
237 #define pseudo_resolve_starpragma NULL
f5b77989f675 Added PRAGMA and *PRAGMA
lost@starbug
parents: 351
diff changeset
238 #define pseudo_emit_starpragma NULL
f5b77989f675 Added PRAGMA and *PRAGMA
lost@starbug
parents: 351
diff changeset
239
353
faa97115952e Added SECTION/ENDSECTION
lost@starbug
parents: 352
diff changeset
240 extern PARSEFUNC(pseudo_parse_section);
faa97115952e Added SECTION/ENDSECTION
lost@starbug
parents: 352
diff changeset
241 #define pseudo_resolve_section NULL
faa97115952e Added SECTION/ENDSECTION
lost@starbug
parents: 352
diff changeset
242 #define pseudo_emit_section NULL
faa97115952e Added SECTION/ENDSECTION
lost@starbug
parents: 352
diff changeset
243
faa97115952e Added SECTION/ENDSECTION
lost@starbug
parents: 352
diff changeset
244 extern PARSEFUNC(pseudo_parse_endsection);
faa97115952e Added SECTION/ENDSECTION
lost@starbug
parents: 352
diff changeset
245 #define pseudo_resolve_endsection NULL
faa97115952e Added SECTION/ENDSECTION
lost@starbug
parents: 352
diff changeset
246 #define pseudo_emit_endsection NULL
352
f5b77989f675 Added PRAGMA and *PRAGMA
lost@starbug
parents: 351
diff changeset
247
354
60568b123281 Added os9 opcodes and ERROR
lost@starbug
parents: 353
diff changeset
248 extern PARSEFUNC(pseudo_parse_error);
60568b123281 Added os9 opcodes and ERROR
lost@starbug
parents: 353
diff changeset
249 #define pseudo_resolve_error NULL
60568b123281 Added os9 opcodes and ERROR
lost@starbug
parents: 353
diff changeset
250 #define pseudo_emit_error NULL
60568b123281 Added os9 opcodes and ERROR
lost@starbug
parents: 353
diff changeset
251
396
62cb50c50976 Cosmetic updates to documentation; added warning pseudo op
lost@l-w.ca
parents: 389
diff changeset
252 extern PARSEFUNC(pseudo_parse_warning);
62cb50c50976 Cosmetic updates to documentation; added warning pseudo op
lost@l-w.ca
parents: 389
diff changeset
253 #define pseudo_resolve_warning NULL
62cb50c50976 Cosmetic updates to documentation; added warning pseudo op
lost@l-w.ca
parents: 389
diff changeset
254 #define pseudo_emit_warning NULL
62cb50c50976 Cosmetic updates to documentation; added warning pseudo op
lost@l-w.ca
parents: 389
diff changeset
255
355
981e34165e97 Added os9 directives to instruction table
lost@starbug
parents: 354
diff changeset
256 extern PARSEFUNC(pseudo_parse_os9);
981e34165e97 Added os9 directives to instruction table
lost@starbug
parents: 354
diff changeset
257 #define pseudo_resolve_os9 NULL
981e34165e97 Added os9 directives to instruction table
lost@starbug
parents: 354
diff changeset
258 extern EMITFUNC(pseudo_emit_os9);
981e34165e97 Added os9 directives to instruction table
lost@starbug
parents: 354
diff changeset
259
981e34165e97 Added os9 directives to instruction table
lost@starbug
parents: 354
diff changeset
260 extern PARSEFUNC(pseudo_parse_mod);
981e34165e97 Added os9 directives to instruction table
lost@starbug
parents: 354
diff changeset
261 #define pseudo_resolve_mod NULL
981e34165e97 Added os9 directives to instruction table
lost@starbug
parents: 354
diff changeset
262 extern EMITFUNC(pseudo_emit_mod);
981e34165e97 Added os9 directives to instruction table
lost@starbug
parents: 354
diff changeset
263
981e34165e97 Added os9 directives to instruction table
lost@starbug
parents: 354
diff changeset
264 extern PARSEFUNC(pseudo_parse_emod);
981e34165e97 Added os9 directives to instruction table
lost@starbug
parents: 354
diff changeset
265 #define pseudo_resolve_emod NULL
981e34165e97 Added os9 directives to instruction table
lost@starbug
parents: 354
diff changeset
266 extern EMITFUNC(pseudo_emit_emod);
981e34165e97 Added os9 directives to instruction table
lost@starbug
parents: 354
diff changeset
267
380
cc154dc614fe Added extdep pseudo back in
lost@starbug
parents: 357
diff changeset
268 extern PARSEFUNC(pseudo_parse_extdep);
cc154dc614fe Added extdep pseudo back in
lost@starbug
parents: 357
diff changeset
269 #define pseudo_resolve_extdep NULL
cc154dc614fe Added extdep pseudo back in
lost@starbug
parents: 357
diff changeset
270 #define pseudo_emit_extdep NULL
cc154dc614fe Added extdep pseudo back in
lost@starbug
parents: 357
diff changeset
271
356
7166254491ed Finished pseudo ops
lost@starbug
parents: 355
diff changeset
272 extern PARSEFUNC(pseudo_parse_extern);
7166254491ed Finished pseudo ops
lost@starbug
parents: 355
diff changeset
273 #define pseudo_resolve_extern NULL
7166254491ed Finished pseudo ops
lost@starbug
parents: 355
diff changeset
274 #define pseudo_emit_extern NULL
7166254491ed Finished pseudo ops
lost@starbug
parents: 355
diff changeset
275
7166254491ed Finished pseudo ops
lost@starbug
parents: 355
diff changeset
276 extern PARSEFUNC(pseudo_parse_export);
7166254491ed Finished pseudo ops
lost@starbug
parents: 355
diff changeset
277 #define pseudo_resolve_export NULL
7166254491ed Finished pseudo ops
lost@starbug
parents: 355
diff changeset
278 #define pseudo_emit_export NULL
7166254491ed Finished pseudo ops
lost@starbug
parents: 355
diff changeset
279
7166254491ed Finished pseudo ops
lost@starbug
parents: 355
diff changeset
280 extern PARSEFUNC(pseudo_parse_includebin);
7166254491ed Finished pseudo ops
lost@starbug
parents: 355
diff changeset
281 #define pseudo_resolve_includebin NULL
7166254491ed Finished pseudo ops
lost@starbug
parents: 355
diff changeset
282 extern EMITFUNC(pseudo_emit_includebin);
7166254491ed Finished pseudo ops
lost@starbug
parents: 355
diff changeset
283
7166254491ed Finished pseudo ops
lost@starbug
parents: 355
diff changeset
284 extern PARSEFUNC(pseudo_parse_include);
7166254491ed Finished pseudo ops
lost@starbug
parents: 355
diff changeset
285 #define pseudo_resolve_include NULL
7166254491ed Finished pseudo ops
lost@starbug
parents: 355
diff changeset
286 #define pseudo_emit_include NULL
7166254491ed Finished pseudo ops
lost@starbug
parents: 355
diff changeset
287
7166254491ed Finished pseudo ops
lost@starbug
parents: 355
diff changeset
288 extern PARSEFUNC(pseudo_parse_align);
7166254491ed Finished pseudo ops
lost@starbug
parents: 355
diff changeset
289 extern RESOLVEFUNC(pseudo_resolve_align);
7166254491ed Finished pseudo ops
lost@starbug
parents: 355
diff changeset
290 extern EMITFUNC(pseudo_emit_align);
355
981e34165e97 Added os9 directives to instruction table
lost@starbug
parents: 354
diff changeset
291
389
fbb7bfed8076 Added in structure support and fixed up some warts in the listing code (by adding more warts)
lost@l-w.ca
parents: 382
diff changeset
292 extern PARSEFUNC(pseudo_parse_struct);
fbb7bfed8076 Added in structure support and fixed up some warts in the listing code (by adding more warts)
lost@l-w.ca
parents: 382
diff changeset
293 #define pseudo_resolve_struct NULL
fbb7bfed8076 Added in structure support and fixed up some warts in the listing code (by adding more warts)
lost@l-w.ca
parents: 382
diff changeset
294 #define pseudo_emit_struct NULL
fbb7bfed8076 Added in structure support and fixed up some warts in the listing code (by adding more warts)
lost@l-w.ca
parents: 382
diff changeset
295
fbb7bfed8076 Added in structure support and fixed up some warts in the listing code (by adding more warts)
lost@l-w.ca
parents: 382
diff changeset
296 extern PARSEFUNC(pseudo_parse_endstruct);
fbb7bfed8076 Added in structure support and fixed up some warts in the listing code (by adding more warts)
lost@l-w.ca
parents: 382
diff changeset
297 #define pseudo_resolve_endstruct NULL
fbb7bfed8076 Added in structure support and fixed up some warts in the listing code (by adding more warts)
lost@l-w.ca
parents: 382
diff changeset
298 #define pseudo_emit_endstruct NULL
fbb7bfed8076 Added in structure support and fixed up some warts in the listing code (by adding more warts)
lost@l-w.ca
parents: 382
diff changeset
299
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
300 instab_t instab[] =
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
301 {
357
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
302
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
303 { "abx", { 0x3a, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
304 { "adca", { 0x99, 0xa9, 0xb9, 0x89}, insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
305 { "adcb", { 0xd9, 0xe9, 0xf9, 0xc9}, insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
306 { "adcd", { 0x1099, 0x10a9, 0x10b9, 0x1089},insn_parse_gen16, insn_resolve_gen16, insn_emit_gen16, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
307 { "adcr", { 0x1031, -1, -1, -1 }, insn_parse_rtor, insn_resolve_rtor, insn_emit_rtor, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
308 { "adda", { 0x9b, 0xab, 0xbb, 0x8b}, insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
309 { "addb", { 0xdb, 0xeb, 0xfb, 0xcb}, insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
310 { "addd", { 0xd3, 0xe3, 0xf3, 0xc3}, insn_parse_gen16, insn_resolve_gen16, insn_emit_gen16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
311 { "adde", { 0x119b, 0x11ab, 0x11bb, 0x118b},insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
312 { "addf", { 0x11db, 0x11eb, 0x11fb, 0x11cb},insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
313 { "addr", { 0x1030, -1, -1, -1 }, insn_parse_rtor, insn_resolve_rtor, insn_emit_rtor, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
314 { "addw", { 0x109b, 0x10ab, 0x10bb, 0x108b},insn_parse_gen16, insn_resolve_gen16, insn_emit_gen16, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
315 { "aim", { 0x02, 0x62, 0x72, -1 }, insn_parse_logicmem, insn_resolve_logicmem, insn_emit_logicmem, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
316 { "anda", { 0x94, 0xa4, 0xb4, 0x84}, insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
317 { "andb", { 0xd4, 0xe4, 0xf4, 0xc4}, insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
318 { "andcc", { 0x1c, -1, -1, 0x1c}, insn_parse_imm8, insn_resolve_imm8, insn_emit_imm8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
319 { "andd", { 0x1094, 0x10a4, 0x10b4, 0x1084},insn_parse_gen16, insn_resolve_gen16, insn_emit_gen16, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
320 { "andr", { 0x1034, -1, -1, -1 }, insn_parse_rtor, insn_resolve_rtor, insn_emit_rtor, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
321 { "asl", { 0x08, 0x68, 0x78, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
322 { "asla", { 0x48, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
323 { "aslb", { 0x58, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
324 { "asld", { 0x1048, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
325 { "asr", { 0x07, 0x67, 0x77, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
326 { "asra", { 0x47, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
327 { "asrb", { 0x57, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
328 { "asrd", { 0x1047, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
329
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
330 { "band", { 0x1130, -1, -1, -1 }, insn_parse_bitbit, insn_resolve_bitbit, insn_emit_bitbit, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
331 { "bcc", { 0x24, -1, -1, -1 }, insn_parse_rel8, insn_resolve_rel8, insn_emit_rel8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
332 { "bcs", { 0x25, -1, -1, -1 }, insn_parse_rel8, insn_resolve_rel8, insn_emit_rel8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
333 { "beor", { 0x1134, -1, -1, -1 }, insn_parse_bitbit, insn_resolve_bitbit, insn_emit_bitbit, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
334 { "beq", { 0x27, -1, -1, -1 }, insn_parse_rel8, insn_resolve_rel8, insn_emit_rel8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
335 { "bge", { 0x2c, -1, -1, -1 }, insn_parse_rel8, insn_resolve_rel8, insn_emit_rel8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
336 { "bgt", { 0x2e, -1, -1, -1 }, insn_parse_rel8, insn_resolve_rel8, insn_emit_rel8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
337 { "bhi", { 0x22, -1, -1, -1 }, insn_parse_rel8, insn_resolve_rel8, insn_emit_rel8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
338 { "bhs", { 0x24, -1, -1, -1 }, insn_parse_rel8, insn_resolve_rel8, insn_emit_rel8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
339 { "biand", { 0x1131, -1, -1, -1 }, insn_parse_bitbit, insn_resolve_bitbit, insn_emit_bitbit, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
340 { "bieor", { 0x1135, -1, -1, -1 }, insn_parse_bitbit, insn_resolve_bitbit, insn_emit_bitbit, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
341 { "bior", { 0x1133, -1, -1, -1 }, insn_parse_bitbit, insn_resolve_bitbit, insn_emit_bitbit, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
342 { "bita", { 0x95, 0xa5, 0xb5, 0x85}, insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
343 { "bitb", { 0xd5, 0xe5, 0xf5, 0xc5}, insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
344 { "bitd", { 0x1095, 0x10a5, 0x10b5, 0x1085},insn_parse_gen16, insn_resolve_gen16, insn_emit_gen16, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
345 { "bitmd", { 0x113c, -1, -1, 0x113c},insn_parse_imm8, insn_resolve_imm8, insn_emit_imm8, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
346 { "ble", { 0x2f, -1, -1, -1 }, insn_parse_rel8, insn_resolve_rel8, insn_emit_rel8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
347 { "blo", { 0x25, -1, -1, -1 }, insn_parse_rel8, insn_resolve_rel8, insn_emit_rel8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
348 { "bls", { 0x23, -1, -1, -1 }, insn_parse_rel8, insn_resolve_rel8, insn_emit_rel8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
349 { "blt", { 0x2d, -1, -1, -1 }, insn_parse_rel8, insn_resolve_rel8, insn_emit_rel8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
350 { "bmi", { 0x2b, -1, -1, -1 }, insn_parse_rel8, insn_resolve_rel8, insn_emit_rel8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
351 { "bne", { 0x26, -1, -1, -1 }, insn_parse_rel8, insn_resolve_rel8, insn_emit_rel8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
352 { "bor", { 0x1132, -1, -1, -1 }, insn_parse_bitbit, insn_resolve_bitbit, insn_emit_bitbit, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
353 { "bpl", { 0x2a, -1, -1, -1 }, insn_parse_rel8, insn_resolve_rel8, insn_emit_rel8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
354 { "bra", { 0x20, -1, -1, -1 }, insn_parse_rel8, insn_resolve_rel8, insn_emit_rel8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
355 { "brn", { 0x21, -1, -1, -1 }, insn_parse_rel8, insn_resolve_rel8, insn_emit_rel8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
356 { "bsr", { 0x8d, -1, -1, -1 }, insn_parse_rel8, insn_resolve_rel8, insn_emit_rel8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
357 { "bvc", { 0x28, -1, -1, -1 }, insn_parse_rel8, insn_resolve_rel8, insn_emit_rel8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
358 { "bvs", { 0x29, -1, -1, -1 }, insn_parse_rel8, insn_resolve_rel8, insn_emit_rel8, lwasm_insn_normal},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
359
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
360 { "clr", { 0x0f, 0x6f, 0x7f, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
361 { "clra", { 0x4f, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
362 { "clrb", { 0x5f, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
363 { "clrd", { 0x104f, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
364 { "clre", { 0x114f, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
365 { "clrf", { 0x115f, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
366 { "clrw", { 0x105f, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
367 { "cmpa", { 0x91, 0xa1, 0xb1, 0x81}, insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
368 { "cmpb", { 0xd1, 0xe1, 0xf1, 0xc1}, insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
369 { "cmpd", { 0x1093, 0x10a3, 0x10b3, 0x1083},insn_parse_gen16, insn_resolve_gen16, insn_emit_gen16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
370 { "cmpe", { 0x1191, 0x11a1, 0x11b1, 0x1181},insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
371 { "cmpf", { 0x11d1, 0x11e1, 0x11f1, 0x11c1},insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
372 { "cmpr", { 0x1037, -1, -1, -1 }, insn_parse_rtor, insn_resolve_rtor, insn_emit_rtor, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
373 { "cmps", { 0x119c, 0x11ac, 0x11bc, 0x118c},insn_parse_gen16, insn_resolve_gen16, insn_emit_gen16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
374 { "cmpu", { 0x1193, 0x11a3, 0x11b3, 0x1183},insn_parse_gen16, insn_resolve_gen16, insn_emit_gen16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
375 { "cmpw", { 0x1091, 0x10a1, 0x10b1, 0x1081},insn_parse_gen16, insn_resolve_gen16, insn_emit_gen16, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
376 { "cmpx", { 0x9c, 0xac, 0xbc, 0x8c}, insn_parse_gen16, insn_resolve_gen16, insn_emit_gen16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
377 { "cmpy", { 0x109c, 0x10ac, 0x10bc, 0x108c},insn_parse_gen16, insn_resolve_gen16, insn_emit_gen16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
378 { "com", { 0x03, 0x63, 0x73, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
379 { "coma", { 0x43, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
380 { "comb", { 0x53, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
381 { "comd", { 0x1043, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
382 { "come", { 0x1143, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
383 { "comf", { 0x1153, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
384 { "comw", { 0x1053, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
385 { "cwai", { 0x3c, -1, -1, -1 }, insn_parse_imm8, insn_resolve_imm8, insn_emit_imm8, lwasm_insn_normal},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
386
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
387 { "daa", { 0x19, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
388 { "dec", { 0x0a, 0x6a, 0x7a, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
389 { "deca", { 0x4a, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
390 { "decb", { 0x5a, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
391 { "decd", { 0x104a, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
392 { "dece", { 0x114a, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
393 { "decf", { 0x115a, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
394 { "decw", { 0x105a, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
395 { "divd", { 0x118d, 0x119d, 0x11ad, 0x11bd},insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
396 { "divq", { 0x118e, 0x119e, 0x11ae, 0x11be},insn_parse_gen16, insn_resolve_gen16, insn_emit_gen16, lwasm_insn_is6309},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
397
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
398 { "eim", { 0x05, 0x65, 0x75, -1 }, insn_parse_logicmem, insn_resolve_logicmem, insn_emit_logicmem, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
399 { "eora", { 0x98, 0xa8, 0xb8, 0x88}, insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
400 { "eorb", { 0xd8, 0xe9, 0xf9, 0xc8}, insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
401 { "eord", { 0x1098, 0x10a8, 0x10b8, 0x1088},insn_parse_gen16, insn_resolve_gen16, insn_emit_gen16, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
402 { "eorr", { 0x1036, -1, -1, -1 }, insn_parse_rtor, insn_resolve_rtor, insn_emit_rtor, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
403 { "exg", { 0x1e, -1, -1, -1 }, insn_parse_rtor, insn_resolve_rtor, insn_emit_rtor, lwasm_insn_normal},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
404
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
405 { "inc", { 0x0c, 0x6c, 0x7c, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
406 { "inca", { 0x4c, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
407 { "incb", { 0x5c, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
408 { "incd", { 0x104c, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
409 { "ince", { 0x114c, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
410 { "incf", { 0x115c, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
411 { "incw", { 0x105c, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
412
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
413 { "jmp", { 0x0e, 0x6e, 0x7e, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
414 { "jsr", { 0x9d, 0xad, 0xbd, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_normal},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
415
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
416 { "lbcc", { 0x1024, -1, -1, -1 }, insn_parse_rel16, insn_resolve_rel16, insn_emit_rel16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
417 { "lbcs", { 0x1025, -1, -1, -1 }, insn_parse_rel16, insn_resolve_rel16, insn_emit_rel16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
418 { "lbeq", { 0x1027, -1, -1, -1 }, insn_parse_rel16, insn_resolve_rel16, insn_emit_rel16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
419 { "lbge", { 0x102c, -1, -1, -1 }, insn_parse_rel16, insn_resolve_rel16, insn_emit_rel16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
420 { "lbgt", { 0x102e, -1, -1, -1 }, insn_parse_rel16, insn_resolve_rel16, insn_emit_rel16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
421 { "lbhi", { 0x1022, -1, -1, -1 }, insn_parse_rel16, insn_resolve_rel16, insn_emit_rel16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
422 { "lbhs", { 0x1024, -1, -1, -1 }, insn_parse_rel16, insn_resolve_rel16, insn_emit_rel16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
423 { "lble", { 0x102f, -1, -1, -1 }, insn_parse_rel16, insn_resolve_rel16, insn_emit_rel16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
424 { "lblo", { 0x1025, -1, -1, -1 }, insn_parse_rel16, insn_resolve_rel16, insn_emit_rel16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
425 { "lbls", { 0x1023, -1, -1, -1 }, insn_parse_rel16, insn_resolve_rel16, insn_emit_rel16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
426 { "lblt", { 0x102d, -1, -1, -1 }, insn_parse_rel16, insn_resolve_rel16, insn_emit_rel16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
427 { "lbmi", { 0x102b, -1, -1, -1 }, insn_parse_rel16, insn_resolve_rel16, insn_emit_rel16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
428 { "lbne", { 0x1026, -1, -1, -1 }, insn_parse_rel16, insn_resolve_rel16, insn_emit_rel16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
429 { "lbpl", { 0x102a, -1, -1, -1 }, insn_parse_rel16, insn_resolve_rel16, insn_emit_rel16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
430 { "lbra", { 0x16, -1, -1, -1 }, insn_parse_rel16, insn_resolve_rel16, insn_emit_rel16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
431 { "lbrn", { 0x1021, -1, -1, -1 }, insn_parse_rel16, insn_resolve_rel16, insn_emit_rel16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
432 { "lbsr", { 0x17, -1, -1, -1 }, insn_parse_rel16, insn_resolve_rel16, insn_emit_rel16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
433 { "lbvc", { 0x1028, -1, -1, -1 }, insn_parse_rel16, insn_resolve_rel16, insn_emit_rel16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
434 { "lbvs", { 0x1029, -1, -1, -1 }, insn_parse_rel16, insn_resolve_rel16, insn_emit_rel16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
435 { "lda", { 0x96, 0xa6, 0xb6, 0x86}, insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
436 { "ldb", { 0xd6, 0xe6, 0xf6, 0xc6}, insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
437 { "ldbt", { 0x1136, -1, -1, -1 }, insn_parse_bitbit, insn_resolve_bitbit, insn_emit_bitbit, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
438 { "ldd", { 0xdc, 0xec, 0xfc, 0xcc}, insn_parse_gen16, insn_resolve_gen16, insn_emit_gen16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
439 { "lde", { 0x1196, 0x11a6, 0x11b6, 0x1186},insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
440 { "ldf", { 0x11d6, 0x11e6, 0x11f6, 0x11c6},insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
441 { "ldq", { 0x10dc, 0x10ec, 0x10fc, 0xcd}, insn_parse_gen32, insn_resolve_gen32, insn_emit_gen32, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
442 { "lds", { 0x10de, 0x10ee, 0x10fe, 0x10ce},insn_parse_gen16, insn_resolve_gen16, insn_emit_gen16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
443 { "ldu", { 0xde, 0xee, 0xfe, 0xce}, insn_parse_gen16, insn_resolve_gen16, insn_emit_gen16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
444 { "ldw", { 0x1096, 0x10a6, 0x10b6, 0x1086},insn_parse_gen16, insn_resolve_gen16, insn_emit_gen16, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
445 { "ldx", { 0x9e, 0xae, 0xbe, 0x8e}, insn_parse_gen16, insn_resolve_gen16, insn_emit_gen16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
446 { "ldy", { 0x109e, 0x10ae, 0x10be, 0x108e},insn_parse_gen16, insn_resolve_gen16, insn_emit_gen16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
447 { "ldmd", { 0x113d, -1, -1, 0x113d},insn_parse_imm8, insn_resolve_imm8, insn_emit_imm8, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
448 { "leas", { 0x32, -1, -1, -1 }, insn_parse_indexed, insn_resolve_indexed, insn_emit_indexed, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
449 { "leau", { 0x33, -1, -1, -1 }, insn_parse_indexed, insn_resolve_indexed, insn_emit_indexed, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
450 { "leax", { 0x30, -1, -1, -1 }, insn_parse_indexed, insn_resolve_indexed, insn_emit_indexed, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
451 { "leay", { 0x31, -1, -1, -1 }, insn_parse_indexed, insn_resolve_indexed, insn_emit_indexed, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
452 { "lsl", { 0x08, 0x68, 0x78, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
453 { "lsla", { 0x48, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
454 { "lslb", { 0x58, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
455 { "lsld", { 0x1048, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
456 { "lsr", { 0x04, 0x64, 0x74, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
457 { "lsra", { 0x44, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
458 { "lsrb", { 0x54, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
459 { "lsrd", { 0x1044, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
460 { "lsrw", { 0x1054, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
461
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
462 { "mul", { 0x3d, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
463 { "muld", { 0x118f, 0x119f, 0x11af, 0x11bf},insn_parse_gen16, insn_resolve_gen16, insn_emit_gen16, lwasm_insn_is6309},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
464
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
465 { "neg", { 0x00, 0x60, 0x70, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
466 { "nega", { 0x40, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
467 { "negb", { 0x50, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
468 { "negd", { 0x1040, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
357
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
469
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
470 { "nop", { 0x12, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
357
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
471
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
472 { "oim", { 0x01, 0x61, 0x71, -1 }, insn_parse_logicmem, insn_resolve_logicmem, insn_emit_logicmem, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
473 { "ora", { 0x9a, 0xaa, 0xba, 0x8a}, insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
474 { "orb", { 0xda, 0xea, 0xfa, 0xca}, insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
475 { "orcc", { 0x1a, -1, -1, 0x1a }, insn_parse_imm8, insn_resolve_imm8, insn_emit_imm8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
476 { "ord", { 0x109a, 0x10aa, 0x10ba, 0x108a},insn_parse_gen16, insn_resolve_gen16, insn_emit_gen16, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
477 { "orr", { 0x1035, -1, -1, -1 }, insn_parse_rtor, insn_resolve_rtor, insn_emit_rtor, lwasm_insn_is6309},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
478
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
479 { "pshs", { 0x34, -1, -1, -1 }, insn_parse_rlist, insn_resolve_rlist, insn_emit_rlist, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
480 { "pshsw", { 0x1038, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
481 { "pshu", { 0x36, -1, -1, -1 }, insn_parse_rlist, insn_resolve_rlist, insn_emit_rlist, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
482 { "pshuw", { 0x103a, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
483 { "puls", { 0x35, -1, -1, -1 }, insn_parse_rlist, insn_resolve_rlist, insn_emit_rlist, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
484 { "pulsw", { 0x1039, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
485 { "pulu", { 0x37, -1, -1, -1 }, insn_parse_rlist, insn_resolve_rlist, insn_emit_rlist, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
486 { "puluw", { 0x103b, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
487
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
488 { "rol", { 0x09, 0x69, 0x79, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
489 { "rola", { 0x49, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
490 { "rolb", { 0x59, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
491 { "rold", { 0x1049, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
492 { "rolw", { 0x1059, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
493 { "ror", { 0x06, 0x66, 0x76, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
494 { "rora", { 0x46, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
495 { "rorb", { 0x56, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
496 { "rord", { 0x1046, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
497 { "rorw", { 0x1056, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
498 { "rti", { 0x3b, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
499 { "rts", { 0x39, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
500
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
501 { "sbca", { 0x92, 0xa2, 0xb2, 0x82}, insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
502 { "sbcb", { 0xd2, 0xe2, 0xf2, 0xc2}, insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
503 { "sbcd", { 0x1092, 0x10a2, 0x10b2, 0x1082},insn_parse_gen16, insn_resolve_gen16, insn_emit_gen16, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
504 { "sbcr", { 0x1033, -1, -1, -1 }, insn_parse_rtor, insn_resolve_rtor, insn_emit_rtor, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
505 { "sex", { 0x1d, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
506 { "sexw", { 0x14, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
507 { "sta", { 0x97, 0xa7, 0xb7, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
508 { "stb", { 0xd7, 0xe7, 0xf7, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
509 { "stbt", { 0x1137, -1, -1, -1 }, insn_parse_bitbit, insn_resolve_bitbit, insn_emit_bitbit, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
510 { "std", { 0xdd, 0xed, 0xfd, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
511 { "ste", { 0x1197, 0x11a7, 0x11b7, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
512 { "stf", { 0x11d7, 0x11e7, 0x11f7, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
513 { "stq", { 0x10dd, 0x10ed, 0x10fd, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
514 { "sts", { 0x10df, 0x10ef, 0x10ff, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
515 { "stu", { 0xdf, 0xef, 0xff, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
516 { "stw", { 0x1097, 0x10a7, 0x10b7, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
517 { "stx", { 0x9f, 0xaf, 0xbf, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
518 { "sty", { 0x109f, 0x10af, 0x10bf, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
519 { "suba", { 0x90, 0xa0, 0xb0, 0x80}, insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
520 { "subb", { 0xd0, 0xe0, 0xf0, 0xc0}, insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
521 { "subd", { 0x93, 0xa3, 0xb3, 0x83}, insn_parse_gen16, insn_resolve_gen16, insn_emit_gen16, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
522 { "sube", { 0x1190, 0x11a0, 0x11b0, 0x1180},insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
523 { "subf", { 0x11d0, 0x11e0, 0x11f0, 0x11c0},insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
524 { "subr", { 0x1032, -1, -1, -1 }, insn_parse_rtor, insn_resolve_rtor, insn_emit_rtor, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
525 { "subw", { 0x1090, 0x10a0, 0x1090, 0x1080},insn_parse_gen8, insn_resolve_gen8, insn_emit_gen8, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
526 { "swi", { 0x3f, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
527 { "swi2", { 0x103f, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
528 { "swi3", { 0x113f, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
529 { "sync", { 0x13, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
530
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
531 // note: r+,r+ r-,r- r+,r r,r+
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
532 { "tfm", { 0x1138, 0x1139, 0x113a, 0x113b },insn_parse_tfm, insn_resolve_tfm, insn_emit_tfm, lwasm_insn_is6309},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
533
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
534 // compatibility opcodes for tfm in other assemblers
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
535 { "copy", { 0x1138, -1, -1, -1}, insn_parse_tfmrtor, insn_resolve_tfmrtor, insn_emit_tfmrtor, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
536 { "copy+", { 0x1138, -1, -1, -1}, insn_parse_tfmrtor, insn_resolve_tfmrtor, insn_emit_tfmrtor, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
537 { "tfrp", { 0x1138, -1, -1, -1}, insn_parse_tfmrtor, insn_resolve_tfmrtor, insn_emit_tfmrtor, lwasm_insn_is6309},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
538
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
539 { "copy-", { 0x1139, -1, -1, -1}, insn_parse_tfmrtor, insn_resolve_tfmrtor, insn_emit_tfmrtor, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
540 { "tfrm", { 0x1139, -1, -1, -1}, insn_parse_tfmrtor, insn_resolve_tfmrtor, insn_emit_tfmrtor, lwasm_insn_is6309},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
541
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
542 { "imp", { 0x113a, -1, -1, -1}, insn_parse_tfmrtor, insn_resolve_tfmrtor, insn_emit_tfmrtor, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
543 { "implode", { 0x113a, -1, -1, -1}, insn_parse_tfmrtor, insn_resolve_tfmrtor, insn_emit_tfmrtor, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
544 { "tfrs", { 0x113a, -1, -1, -1}, insn_parse_tfmrtor, insn_resolve_tfmrtor, insn_emit_tfmrtor, lwasm_insn_is6309},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
545
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
546 { "exp", { 0x113b, -1, -1, -1}, insn_parse_tfmrtor, insn_resolve_tfmrtor, insn_emit_tfmrtor, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
547 { "expand", { 0x113b, -1, -1, -1}, insn_parse_tfmrtor, insn_resolve_tfmrtor, insn_emit_tfmrtor, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
548 { "tfrr", { 0x113b, -1, -1, -1}, insn_parse_tfmrtor, insn_resolve_tfmrtor, insn_emit_tfmrtor, lwasm_insn_is6309},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
549
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
550 { "tfr", { 0x1f, -1, -1, -1 }, insn_parse_rtor, insn_resolve_rtor, insn_emit_rtor, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
551 { "tim", { 0x0b, 0x6b, 0x7b, -1 }, insn_parse_logicmem, insn_resolve_logicmem, insn_emit_logicmem, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
552 { "tst", { 0x0d, 0x6d, 0x7d, -1 }, insn_parse_gen0, insn_resolve_gen0, insn_emit_gen0, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
553 { "tsta", { 0x4d, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
554 { "tstb", { 0x5d, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
555 { "tstd", { 0x104d, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
556 { "tste", { 0x114d, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
557 { "tstf", { 0x115d, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
558 { "tstw", { 0x105d, -1, -1, -1 }, insn_parse_inh, insn_resolve_inh, insn_emit_inh, lwasm_insn_is6309},
357
0cf4948d53b4 Checkpoint - adding actual cpu instructions
lost@starbug
parents: 356
diff changeset
559
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
560 { "org", { -1, -1, -1, -1 }, pseudo_parse_org, pseudo_resolve_org, pseudo_emit_org, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
561 { "equ", { -1, -1, -1, -1 }, pseudo_parse_equ, pseudo_resolve_equ, pseudo_emit_equ, lwasm_insn_setsym},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
562 { "=", { -1, -1, -1, -1 }, pseudo_parse_equ, pseudo_resolve_equ, pseudo_emit_equ, lwasm_insn_setsym},
356
7166254491ed Finished pseudo ops
lost@starbug
parents: 355
diff changeset
563
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
564 { "extern", { -1, -1, -1, -1 }, pseudo_parse_extern, pseudo_resolve_extern, pseudo_emit_extern, lwasm_insn_setsym},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
565 { "external", { -1, -1, -1, -1 }, pseudo_parse_extern, pseudo_resolve_extern, pseudo_emit_extern, lwasm_insn_setsym},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
566 { "import", { -1, -1, -1, -1 }, pseudo_parse_extern, pseudo_resolve_extern, pseudo_emit_extern, lwasm_insn_setsym},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
567 { "export", { -1, -1, -1, -1 }, pseudo_parse_export, pseudo_resolve_export, pseudo_emit_export, lwasm_insn_setsym},
380
cc154dc614fe Added extdep pseudo back in
lost@starbug
parents: 357
diff changeset
568 { "extdep", { -1, -1, -1, -1 }, pseudo_parse_extdep, pseudo_resolve_extdep, pseudo_emit_extdep, lwasm_insn_setsym},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
569
389
fbb7bfed8076 Added in structure support and fixed up some warts in the listing code (by adding more warts)
lost@l-w.ca
parents: 382
diff changeset
570 { "rmb", { -1, -1, -1, -1 }, pseudo_parse_rmb, pseudo_resolve_rmb, pseudo_emit_rmb, lwasm_insn_struct},
fbb7bfed8076 Added in structure support and fixed up some warts in the listing code (by adding more warts)
lost@l-w.ca
parents: 382
diff changeset
571 { "rmd", { -1, -1, -1, -1 }, pseudo_parse_rmd, pseudo_resolve_rmd, pseudo_emit_rmd, lwasm_insn_struct},
fbb7bfed8076 Added in structure support and fixed up some warts in the listing code (by adding more warts)
lost@l-w.ca
parents: 382
diff changeset
572 { "rmq", { -1, -1, -1, -1 }, pseudo_parse_rmq, pseudo_resolve_rmq, pseudo_emit_rmq, lwasm_insn_struct},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
573
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
574 { "zmb", { -1, -1, -1, -1 }, pseudo_parse_zmb, pseudo_resolve_zmb, pseudo_emit_zmb, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
575 { "zmd", { -1, -1, -1, -1 }, pseudo_parse_zmd, pseudo_resolve_zmd, pseudo_emit_zmd, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
576 { "zmq", { -1, -1, -1, -1 }, pseudo_parse_zmq, pseudo_resolve_zmq, pseudo_emit_zmq, lwasm_insn_normal},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
577
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
578 { "fcc", { -1, -1, -1, -1 }, pseudo_parse_fcc, pseudo_resolve_fcc, pseudo_emit_fcc, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
579 { "fcn", { -1, -1, -1, -1 }, pseudo_parse_fcn, pseudo_resolve_fcn, pseudo_emit_fcn, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
580 { "fcs", { -1, -1, -1, -1 }, pseudo_parse_fcs, pseudo_resolve_fcs, pseudo_emit_fcs, lwasm_insn_normal},
349
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
581
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
582 { "fcb", { -1, -1, -1, -1 }, pseudo_parse_fcb, pseudo_resolve_fcb, pseudo_emit_fcb, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
583 { "fdb", { -1, -1, -1, -1 }, pseudo_parse_fdb, pseudo_resolve_fdb, pseudo_emit_fdb, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
584 { "fqb", { -1, -1, -1, -1 }, pseudo_parse_fqb, pseudo_resolve_fqb, pseudo_emit_fqb, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
585 { "end", { -1, -1, -1, -1 }, pseudo_parse_end, pseudo_resolve_end, pseudo_emit_end, lwasm_insn_normal},
356
7166254491ed Finished pseudo ops
lost@starbug
parents: 355
diff changeset
586
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
587 { "includebin", { -1, -1, -1, -1}, pseudo_parse_includebin,pseudo_resolve_includebin, pseudo_emit_includebin, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
588 { "include", { -1, -1, -1, -1 }, pseudo_parse_include, pseudo_resolve_include, pseudo_emit_include, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
589 { "use", { -1, -1, -1, -1 }, pseudo_parse_include, pseudo_resolve_include, pseudo_emit_include, lwasm_insn_normal},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
590
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
591 { "align", { -1, -1, -1, -1 }, pseudo_parse_align, pseudo_resolve_align, pseudo_emit_align, lwasm_insn_normal},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
592
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
593 { "error", { -1, -1, -1, -1}, pseudo_parse_error, pseudo_resolve_error, pseudo_emit_error, lwasm_insn_normal},
396
62cb50c50976 Cosmetic updates to documentation; added warning pseudo op
lost@l-w.ca
parents: 389
diff changeset
594 { "warning", { -1, -1, -1, -1}, pseudo_parse_warning, pseudo_resolve_warning, pseudo_emit_warning, lwasm_insn_normal},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
595
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
596 // these are *dangerous*
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
597 { "ifp1", { -1, -1, -1, -1}, pseudo_parse_ifp1, pseudo_resolve_ifp1, pseudo_emit_ifp1, lwasm_insn_cond},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
598 { "ifp2", { -1, -1, -1, -1}, pseudo_parse_ifp2, pseudo_resolve_ifp2, pseudo_emit_ifp2, lwasm_insn_cond},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
599
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
600 { "ifeq", { -1, -1, -1, -1}, pseudo_parse_ifeq, pseudo_resolve_ifeq, pseudo_emit_ifeq, lwasm_insn_cond},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
601 { "ifne", { -1, -1, -1, -1}, pseudo_parse_ifne, pseudo_resolve_ifne, pseudo_emit_ifne, lwasm_insn_cond},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
602 { "if", { -1, -1, -1, -1}, pseudo_parse_ifne, pseudo_resolve_ifne, pseudo_emit_ifne, lwasm_insn_cond},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
603 { "ifgt", { -1, -1, -1, -1}, pseudo_parse_ifgt, pseudo_resolve_ifgt, pseudo_emit_ifgt, lwasm_insn_cond},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
604 { "ifge", { -1, -1, -1, -1}, pseudo_parse_ifge, pseudo_resolve_ifge, pseudo_emit_ifge, lwasm_insn_cond},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
605 { "iflt", { -1, -1, -1, -1}, pseudo_parse_iflt, pseudo_resolve_iflt, pseudo_emit_iflt, lwasm_insn_cond},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
606 { "ifle", { -1, -1, -1, -1}, pseudo_parse_ifle, pseudo_resolve_ifle, pseudo_emit_ifle, lwasm_insn_cond},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
607 { "endc", { -1, -1, -1, -1}, pseudo_parse_endc, pseudo_resolve_endc, pseudo_emit_endc, lwasm_insn_cond},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
608 { "else", { -1, -1, -1, -1}, pseudo_parse_else, pseudo_resolve_else, pseudo_emit_else, lwasm_insn_cond},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
609 { "ifdef", { -1, -1, -1, -1}, pseudo_parse_ifdef, pseudo_resolve_ifdef, pseudo_emit_ifdef, lwasm_insn_cond},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
610 { "ifndef", { -1, -1, -1, -1}, pseudo_parse_ifndef, pseudo_resolve_ifndef, pseudo_emit_ifndef, lwasm_insn_cond},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
611
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
612 { "macro", { -1, -1, -1, -1}, pseudo_parse_macro, pseudo_resolve_macro, pseudo_emit_macro, lwasm_insn_cond | lwasm_insn_setsym},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
613 { "endm", { -1, -1, -1, -1}, pseudo_parse_endm, pseudo_resolve_endm, pseudo_emit_endm, lwasm_insn_cond | lwasm_insn_setsym | lwasm_insn_endm},
351
4dba8c7e242c conditional pseudo ops added
lost@starbug
parents: 350
diff changeset
614
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
615 { "setdp", { -1, -1, -1, -1}, pseudo_parse_setdp, pseudo_resolve_setdp, pseudo_emit_setdp, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
616 { "set", { -1, -1, -1, -1}, pseudo_parse_set, pseudo_resolve_set, pseudo_emit_set, lwasm_insn_setsym},
353
faa97115952e Added SECTION/ENDSECTION
lost@starbug
parents: 352
diff changeset
617
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
618
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
619 { "section", { -1, -1, -1, -1}, pseudo_parse_section, pseudo_resolve_section, pseudo_emit_section, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
620 { "sect", { -1, -1, -1, -1}, pseudo_parse_section, pseudo_resolve_section, pseudo_emit_section, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
621 { "ends", { -1, -1, -1, -1}, pseudo_parse_endsection,pseudo_resolve_endsection, pseudo_emit_endsection, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
622 { "endsect", { -1, -1, -1, -1}, pseudo_parse_endsection,pseudo_resolve_endsection, pseudo_emit_endsection, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
623 { "endsection", { -1, -1, -1, -1}, pseudo_parse_endsection,pseudo_resolve_endsection, pseudo_emit_endsection, lwasm_insn_normal},
389
fbb7bfed8076 Added in structure support and fixed up some warts in the listing code (by adding more warts)
lost@l-w.ca
parents: 382
diff changeset
624
fbb7bfed8076 Added in structure support and fixed up some warts in the listing code (by adding more warts)
lost@l-w.ca
parents: 382
diff changeset
625 { "struct", { -1, -1, -1, -1}, pseudo_parse_struct, pseudo_resolve_struct, pseudo_emit_struct, lwasm_insn_normal},
fbb7bfed8076 Added in structure support and fixed up some warts in the listing code (by adding more warts)
lost@l-w.ca
parents: 382
diff changeset
626 { "endstruct", { -1, -1, -1, -1}, pseudo_parse_endstruct, pseudo_resolve_endstruct, pseudo_emit_endstruct, lwasm_insn_struct},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
627
353
faa97115952e Added SECTION/ENDSECTION
lost@starbug
parents: 352
diff changeset
628
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
629 { "pragma", { -1, -1, -1, -1}, pseudo_parse_pragma, pseudo_resolve_pragma, pseudo_emit_pragma, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
630 { "*pragma", { -1, -1, -1, -1}, pseudo_parse_starpragma,pseudo_resolve_starpragma, pseudo_emit_starpragma, lwasm_insn_normal},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
631
355
981e34165e97 Added os9 directives to instruction table
lost@starbug
parents: 354
diff changeset
632 // for os9 target
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
633 { "os9", { -1, -1, -1, -1 }, pseudo_parse_os9, pseudo_resolve_os9, pseudo_emit_os9, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
634 { "mod", { -1, -1, -1, -1 }, pseudo_parse_mod, pseudo_resolve_mod, pseudo_emit_mod, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
635 { "emod", { -1, -1, -1, -1 }, pseudo_parse_emod, pseudo_resolve_emod, pseudo_emit_emod, lwasm_insn_normal},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
636
342
7b4123dce741 Added basic symbol registration
lost@starbug
parents: 337
diff changeset
637 // for compatibility with gcc6809 output...
356
7166254491ed Finished pseudo ops
lost@starbug
parents: 355
diff changeset
638
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
639 { ".area", { -1, -1, -1, -1}, pseudo_parse_section, pseudo_resolve_section, pseudo_emit_section, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
640 { ".globl", { -1, -1, -1, -1}, pseudo_parse_export, pseudo_resolve_export, pseudo_emit_export, lwasm_insn_normal},
356
7166254491ed Finished pseudo ops
lost@starbug
parents: 355
diff changeset
641
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
642 { ".module", { -1, -1, -1, -1}, pseudo_parse_noop, pseudo_resolve_noop, pseudo_emit_noop, lwasm_insn_normal},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
643
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
644 { ".4byte", { -1, -1, -1, -1}, pseudo_parse_fqb, pseudo_resolve_fqb, pseudo_emit_fqb, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
645 { ".quad", { -1, -1, -1, -1}, pseudo_parse_fqb, pseudo_resolve_fqb, pseudo_emit_fqb, lwasm_insn_normal},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
646
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
647 { ".word", { -1, -1, -1, -1}, pseudo_parse_fdb, pseudo_resolve_fdb, pseudo_emit_fdb, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
648 { ".dw", { -1, -1, -1, -1}, pseudo_parse_fdb, pseudo_resolve_fdb, pseudo_emit_fdb, lwasm_insn_normal},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
649
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
650 { ".byte", { -1, -1, -1, -1}, pseudo_parse_fcb, pseudo_resolve_fcb, pseudo_emit_fcb, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
651 { ".db", { -1, -1, -1, -1}, pseudo_parse_fcb, pseudo_resolve_fcb, pseudo_emit_fcb, lwasm_insn_normal},
349
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
652
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
653 { ".ascii", { -1, -1, -1, -1}, pseudo_parse_fcc, pseudo_resolve_fcc, pseudo_emit_fcc, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
654 { ".str", { -1, -1, -1, -1}, pseudo_parse_fcc, pseudo_resolve_fcc, pseudo_emit_fcc, lwasm_insn_normal},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
655
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
656 { ".ascis", { -1, -1, -1, -1}, pseudo_parse_fcs, pseudo_resolve_fcs, pseudo_emit_fcs, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
657 { ".strs", { -1, -1, -1, -1}, pseudo_parse_fcs, pseudo_resolve_fcs, pseudo_emit_fcs, lwasm_insn_normal},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
658
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
659 { ".asciz", { -1, -1, -1, -1}, pseudo_parse_fcn, pseudo_resolve_fcn, pseudo_emit_fcn, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
660 { ".strz", { -1, -1, -1, -1}, pseudo_parse_fcn, pseudo_resolve_fcn, pseudo_emit_fcn, lwasm_insn_normal},
349
dcd2978a7d18 More pseudo ops
lost@starbug
parents: 348
diff changeset
661
389
fbb7bfed8076 Added in structure support and fixed up some warts in the listing code (by adding more warts)
lost@l-w.ca
parents: 382
diff changeset
662 { ".blkb", { -1, -1, -1, -1}, pseudo_parse_rmb, pseudo_resolve_rmb, pseudo_emit_rmb, lwasm_insn_struct},
fbb7bfed8076 Added in structure support and fixed up some warts in the listing code (by adding more warts)
lost@l-w.ca
parents: 382
diff changeset
663 { ".ds", { -1, -1, -1, -1}, pseudo_parse_rmb, pseudo_resolve_rmb, pseudo_emit_rmb, lwasm_insn_struct},
fbb7bfed8076 Added in structure support and fixed up some warts in the listing code (by adding more warts)
lost@l-w.ca
parents: 382
diff changeset
664 { ".rs", { -1, -1, -1, -1}, pseudo_parse_rmb, pseudo_resolve_rmb, pseudo_emit_rmb, lwasm_insn_struct},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
665
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
666 // for compatibility
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
667 { ".end", { -1, -1, -1, -1 }, pseudo_parse_end, pseudo_resolve_end, pseudo_emit_end, lwasm_insn_normal},
347
1649bc7bda5a Some data oriented pseudo ops added
lost@starbug
parents: 346
diff changeset
668
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
669 // extra ops that are ignored because they are generally only for
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
670 // pretty printing the listing
348
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
671 { "nam", { -1, -1, -1, -1 }, pseudo_parse_noop, pseudo_resolve_noop, pseudo_emit_noop, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
672 { "pag", { -1, -1, -1, -1 }, pseudo_parse_noop, pseudo_resolve_noop, pseudo_emit_noop, lwasm_insn_normal},
11a95c6414b4 Added third func to instab to split resolve and emit logic
lost@starbug
parents: 347
diff changeset
673 { "ttl", { -1, -1, -1, -1 }, pseudo_parse_noop, pseudo_resolve_noop, pseudo_emit_noop, lwasm_insn_normal},
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
674
342
7b4123dce741 Added basic symbol registration
lost@starbug
parents: 337
diff changeset
675 // flag end of table
7b4123dce741 Added basic symbol registration
lost@starbug
parents: 337
diff changeset
676 { NULL, { -1, -1, -1, -1 }, NULL, NULL, lwasm_insn_normal}
337
04c80c51b16a Checkpoint development
lost
parents:
diff changeset
677 };