Commit | Line | Data |
---|---|---|
d54e51c9 RH |
1 | ## |
2 | ## Copyright (c) 1982 Regents of the University of California | |
57f37339 | 3 | ## @(#)instrs 4.6 %G% |
d54e51c9 RH |
4 | ## |
5 | ## Robert R. Henry | |
6 | ## University of California, Berkeley | |
7 | ## Berkeley, CA | |
8 | ## February 6, 1982 | |
9 | ## | |
10 | ## THIS FILE IS BOTH AN AWK SCRIPT AND THE DATA | |
11 | ## | |
12 | ## Instruction definitions for the VAX | |
13 | ## | |
14 | ## This file is processed by an awk script, viz: | |
15 | ## (echo "FLAVOR AS"; cat instrs) | awk -f instrs > as.instrs | |
16 | ## (echo "FLAVOR ADB"; cat instrs) | awk -f instrs > as.instrs | |
17 | ## (echo "FLAVOR SDB"; cat instrs) | awk -f instrs > as.instrs | |
18 | ## (echo "FLAVOR C2"; cat instrs) | awk -f instrs > c2.instrs | |
19 | ## | |
20 | ## The data in this file is shared between: | |
21 | ## as assembler | |
22 | ## c2 optimizer | |
23 | ## adb debugger | |
24 | ## sdb symbolic debugger | |
25 | ## | |
26 | ## The awk script reads itself, and produces macros understood | |
27 | ## by the appropriate consumer. The awk script determines how | |
28 | ## to interpret the file by looking for a line of the form: | |
29 | ## FLAVOR AS | |
30 | ## FLAVOR ADB (same as AS, but without pseudo instructions) | |
31 | ## FLAVOR SDB (same as ADB) | |
32 | ## FLAVOR C2 (radically different format for instructions) | |
33 | ## and proceeding accordingly. This line should be prepended to | |
34 | ## the front of this file. | |
35 | ## | |
36 | ## Lines starting with # are always comments to awk | |
37 | ## Lines starting with ## are always comments | |
38 | ## Lines starting with a single # are data lines, to be output. | |
39 | ## | |
40 | ## Empty lines are passed through | |
41 | ## | |
42 | ## field user(s) what | |
43 | ## | |
44 | ## $1 awk #: comment to awk | |
45 | ## | |
46 | ## $2 as, c2, adb instruction name | |
47 | ## | |
48 | ## $3 c2 instruction class | |
49 | ## $4 c2 instruction sub class | |
50 | ## HARD, TN1, TN2, TN3, TNX2, OP | |
51 | ## | |
52 | ## $5 as, adb escape opcode byte (NONE, NEW, ESCD, ESCF) | |
53 | ## $6 as, adb primary opcode byte | |
54 | ## | |
55 | ## $7 as, adb number of arguments | |
56 | ## $8 as, adb 1st operand: access A,R,W,M,I,B | |
57 | ## $9 as, adb 1st operand: type, BWLQOFDGH | |
58 | ## | |
59 | ## $10 as, adb 2nd operand: access | |
60 | ## ... | |
61 | ## | |
62 | ## | |
63 | ## These are the definitions used in this file: | |
64 | ## instruction class (c2) | |
65 | ## understood only by c2. If it is HARD, the second field | |
66 | ## is ignored. | |
67 | ## instruction subclass: (c2) | |
68 | ## HARD paired with the class | |
69 | ## S single valued attribute to C2 | |
70 | ## TN1 class + type of 1st operand | |
71 | ## TN2 class + type of 2nd operand | |
72 | ## TN3 class + type of 3rd operand | |
73 | ## TNX2 class + type of 1st and 2nd operand | |
74 | ## OP class + type of 1st operand and # of args | |
75 | ## default class + subclass | |
76 | ## | |
77 | ## escape byte: | |
78 | ## CORE 1 byte opcodes in all VAXen | |
79 | ## NEW 1 byte opcodes only in newer VAXen | |
80 | ## ESCD 2 byte opcodes, escape byte of 0xFD, newer VAXen | |
81 | ## ESCF 2 byte opcodes, escape byte of 0xFF, newer VAXen | |
82 | ## code byte | |
83 | ## number of arguments | |
84 | ## Access type | |
85 | ## A for address | |
86 | ## W for writing | |
87 | ## R for reading | |
88 | ## M for modifying | |
89 | ## B for branch displacement | |
90 | ## I for xfc code | |
91 | ## Data types | |
92 | ## B byte | |
93 | ## W word | |
94 | ## L long | |
95 | ## Q quad | |
96 | ## O octa | |
97 | ## F f_float | |
98 | ## D d_float | |
99 | ## G g_float | |
100 | ## H h_float | |
101 | ## | |
102 | ## The order of instructions in this table is not critical; | |
103 | ## the clients take care of their own table construction and ordering. | |
104 | ## The instructions are grouped (more or less) into functional groups. | |
105 | ## | |
106 | ## The following is the awk program to interpret this table. | |
107 | ||
108 | BEGIN{ | |
109 | flavor = AS; | |
110 | } | |
111 | { | |
112 | if (NF == 0){ | |
113 | printf("\n"); | |
114 | next; | |
115 | } | |
116 | if ($1 == "FLAVOR"){ | |
117 | flavor = $2; | |
118 | if (flavor == "SDB"){ | |
119 | flavor = "ADB"; | |
120 | } | |
121 | next; | |
122 | } | |
123 | if ($1 != "#"){ | |
124 | next; | |
125 | } | |
126 | ||
127 | if ($5 == "MACR"){ | |
128 | if (flavor == "ADB"){ | |
129 | next; | |
130 | } | |
131 | if (flavor == "AS"){ | |
132 | if ($3 == "CBR") | |
133 | $3 = "IJXXX"; | |
134 | printf("PSEUDO(\"%s\", %s, %s),\n", $2, $6, $3); | |
135 | next; | |
136 | } | |
137 | if (flavor == "C2"){ | |
138 | if ($4 == "C2X") | |
139 | next; | |
140 | printf("\"%s\",", $2); | |
141 | if ($3 == "CBR" && $4 != "JBR"){ | |
142 | printf("T(CBR,%s),\n", $4); | |
143 | } else { | |
144 | printf("%s,\n", $4); | |
145 | } | |
146 | next; | |
147 | } | |
148 | } | |
149 | ||
150 | if (flavor == "C2"){ | |
151 | printf("\"%s\",", $2); | |
152 | if ($3 == "HARD"){ # 0 value | |
153 | printf("0,\n"); | |
154 | next; | |
155 | } | |
156 | if ($4 == "S"){ # single value | |
157 | printf("%s,\n", $3); | |
158 | next; | |
159 | } | |
160 | if ($4 == "TN1"){ # use type of 1st operand | |
161 | printf("T(%s,TYP%s),\n", $3, $9); | |
162 | next; | |
163 | } | |
164 | if ($4 == "TN3"){ # use type of 3rd operand | |
165 | printf("T(%s,TYP%s),\n", $3, $13); | |
166 | next; | |
167 | } | |
168 | if ($4 == "TNX2"){ # cross product of 1st and 2nd operand | |
169 | printf("T(%s,U(TYP%s,TYP%s)),\n", $3, $9, $11); | |
170 | next; | |
171 | } | |
172 | if ($4 == "OP"){ # arithmetic operator | |
173 | printf("T(%s,U(TYP%s,OP%d)),\n", $3, $9, $7); | |
174 | next; | |
175 | } | |
176 | printf("T(%s,%s),\n", $3, $4); # special value | |
177 | next; | |
178 | } | |
179 | if (flavor == "AS" || flavor == "ADB"){ | |
180 | printf("OP(\"%s\", %s, %s, %d", $2, $5, $6, $7); | |
181 | for (i = 8; i+1 <= NF; i = i + 2){ | |
182 | printf(", A_%s%s", $i, $(i+1)); | |
183 | } | |
184 | for (i = $7; i < 6; i++){ | |
185 | printf(",0"); | |
186 | } | |
187 | printf("),\n"); | |
188 | } | |
189 | } | |
190 | ## | |
191 | ##------------------------------------------------------- | |
192 | ##1 2 3 4 5 6 7 8 9 | |
193 | ## | |
194 | ## | |
195 | ## PSEUDO (MACR) operators come first | |
196 | ||
197 | ## Data initializers | |
198 | ||
199 | # .byte IBYTE C2X MACR 0 VAR | |
200 | # .word IWORD WGEN MACR 0 VAR | |
201 | # .int IINT LGEN MACR 0 VAR | |
202 | # .long ILONG LGEN MACR 0 VAR | |
203 | # .quad IQUAD C2X MACR 0 VAR | |
204 | # .octa IOCTA C2X MACR 0 VAR | |
205 | # .float IFFLOAT C2X MACR 0 VAR | |
206 | # .double IDFLOAT C2X MACR 0 VAR | |
207 | # .ffloat IFFLOAT C2X MACR 0 VAR | |
208 | # .dfloat IDFLOAT C2X MACR 0 VAR | |
209 | # .gfloat IGFLOAT C2X MACR 0 VAR | |
210 | # .hfloat IHFLOAT C2X MACR 0 VAR | |
211 | # .space ISPACE C2X MACR 0 1 | |
212 | # .fill IFILL C2X MACR 0 2 | |
213 | # .ascii IASCII C2X MACR 0 VAR | |
214 | # .asciz IASCIZ C2X MACR 0 VAR | |
215 | ||
216 | # .data IDATA DATA MACR 0 1 | |
217 | # .text ITEXT TEXT MACR 0 1 | |
218 | # .align IALIGN ALIGN MACR 0 1 | |
219 | ||
220 | # .line ILINENO C2X MACR 0 1 | |
221 | # .file IFILE C2X MACR 0 1 | |
222 | ||
223 | # .globl IGLOBAL EROU MACR 0 1 | |
224 | # .comm ICOMM COMM MACR 0 2 | |
225 | # .lcomm ILCOMM LCOMM MACR 0 2 | |
226 | # .set ISET SET MACR 0 2 | |
227 | # .lsym ILSYM C2X MACR 0 2 | |
228 | # .org IORG C2X MACR 0 1 | |
229 | ||
230 | # .stab ISTAB C2X MACR 0 6 | |
231 | # .stabd ISTABDOT C2X MACR 0 3 | |
232 | # .stabn ISTABNONE C2X MACR 0 3 | |
233 | # .stabs ISTABSTR C2X MACR 0 3 | |
234 | ||
235 | # .ABORT IABORT C2X MACR 0 0 | |
236 | ||
237 | ## Pseudo jumps | |
238 | ||
239 | # jbc CBR JBC MACR 0xe1 1 B B | |
240 | # jlbc CBR JLBC MACR 0xe9 1 B B | |
241 | # jbs CBR JBS MACR 0xe0 1 B B | |
242 | # jlbs CBR JLBS MACR 0xe8 1 B B | |
243 | # jbcc CBR JBCC MACR 0xe5 1 B B | |
244 | # jbsc CBR JBSC MACR 0xe4 1 B B | |
245 | # jbcs CBR JBCS MACR 0xe3 1 B B | |
246 | # jbss CBR JBSS MACR 0xe2 1 B B | |
247 | ||
248 | # jbr CBR JBR MACR 0x11 1 B B | |
249 | # jcc CBR C2X MACR 0x1e 1 B B | |
250 | # jcs CBR C2X MACR 0x1f 1 B B | |
251 | # jvc CBR C2X MACR 0x1c 1 B B | |
252 | # jvs CBR C2X MACR 0x1d 1 B B | |
253 | # jlss CBR JLT MACR 0x19 1 B B | |
254 | # jlssu CBR JLO MACR 0x1f 1 B B | |
255 | # jleq CBR JLE MACR 0x15 1 B B | |
256 | # jlequ CBR JLOS MACR 0x1b 1 B B | |
257 | # jeql CBR JEQ MACR 0x13 1 B B | |
258 | # jeqlu CBR JEQ MACR 0x13 1 B B | |
259 | # jneq CBR JNE MACR 0x12 1 B B | |
260 | # jnequ CBR JNE MACR 0x12 1 B B | |
261 | # jgeq CBR JGE MACR 0x18 1 B B | |
262 | # jgequ CBR JHIS MACR 0x1e 1 B B | |
263 | # jgtr CBR JGT MACR 0x14 1 B B | |
264 | # jgtru CBR JHI MACR 0x1a 1 B B | |
265 | ## | |
266 | ## Registers | |
267 | ## | |
268 | # r0 REG C2X MACR 0 0 | |
269 | # r1 REG C2X MACR 1 0 | |
270 | # r2 REG C2X MACR 2 0 | |
271 | # r3 REG C2X MACR 3 0 | |
272 | # r4 REG C2X MACR 4 0 | |
273 | # r5 REG C2X MACR 5 0 | |
274 | # r6 REG C2X MACR 6 0 | |
275 | # r7 REG C2X MACR 7 0 | |
276 | # r8 REG C2X MACR 8 0 | |
277 | # r9 REG C2X MACR 9 0 | |
278 | # r10 REG C2X MACR 10 0 | |
279 | # r11 REG C2X MACR 11 0 | |
280 | # r12 REG C2X MACR 12 0 | |
281 | # r13 REG C2X MACR 13 0 | |
282 | # r14 REG C2X MACR 14 0 | |
283 | # r15 REG C2X MACR 15 0 | |
284 | # ap REG C2X MACR 12 0 | |
285 | # fp REG C2X MACR 13 0 | |
286 | # sp REG C2X MACR 14 0 | |
287 | # pc REG C2X MACR 15 0 | |
288 | ||
289 | ## Normal instructions | |
290 | ||
291 | # bicpsw HARD HARD CORE 0xb9 1 R W | |
292 | # bispsw HARD HARD CORE 0xb8 1 R W | |
293 | # movpsl HARD HARD CORE 0xdc 1 W L | |
294 | ||
295 | # ldpctx HARD HARD CORE 0x06 0 | |
296 | # svpctx HARD HARD CORE 0x07 0 | |
297 | # mfpr MFPR TN1 CORE 0xdb 2 R L W L | |
298 | # mtpr MTPR TN1 CORE 0xda 2 R L R L | |
299 | ||
300 | # prober PROBER TN1 CORE 0x0c 3 R B R W A B | |
301 | # probew PROBEW TN1 CORE 0x0d 3 R B R W A B | |
302 | ||
303 | # adawi HARD HARD CORE 0x58 2 R W M W | |
304 | ||
305 | # chme HARD HARD CORE 0xbd 1 R W | |
306 | # chmk HARD HARD CORE 0xbc 1 R W | |
307 | # chms HARD HARD CORE 0xbe 1 R W | |
308 | # chmu HARD HARD CORE 0xbf 1 R W | |
309 | ||
310 | # insque HARD HARD CORE 0x0e 2 A B A B | |
311 | # insqhi HARD HARD NEW 0x5c 2 A B A Q | |
312 | # insqti HARD HARD NEW 0x5d 2 A B A Q | |
313 | ||
314 | # remque HARD HARD CORE 0x0f 2 A B W L | |
315 | # remqhi HARD HARD NEW 0x5e 2 A Q W L | |
316 | # remqti HARD HARD NEW 0x5f 2 A Q W L | |
317 | ||
318 | # bpt HARD HARD CORE 0x03 0 | |
319 | ||
320 | # escd HARD HARD CORE 0xfd 0 | |
321 | # esce HARD HARD CORE 0xfe 0 | |
322 | # escf HARD HARD CORE 0xff 0 | |
323 | # xfc HARD HARD CORE 0xfc 0 | |
324 | ||
325 | # bugw HARD HARD ESCF 0xfe 1 R W | |
326 | # bugl HARD HARD ESCF 0xfd 1 R L | |
327 | ||
328 | # nop HARD HARD CORE 0x01 0 | |
329 | # halt HARD HARD CORE 0x00 0 | |
330 | ||
331 | # crc HARD HARD CORE 0x0b 4 A B R L R W A B | |
332 | ||
333 | # movp HARD HARD CORE 0x34 3 R W A B A B | |
334 | # cvtlp HARD HARD CORE 0xf9 3 R L R W A B | |
335 | # cvtpl HARD HARD CORE 0x36 3 R W A B W L | |
336 | # cvttp HARD HARD CORE 0x26 5 R W A B A B R W A B | |
337 | # cvtpt HARD HARD CORE 0x24 5 R W A B A B R W A B | |
338 | # cvtps HARD HARD CORE 0x08 4 R W A B R W A B | |
339 | # cvtsp HARD HARD CORE 0x09 4 R W A B R W A B | |
340 | ||
341 | # addp4 HARD HARD CORE 0x20 4 R W A B R W A B | |
342 | # addp6 HARD HARD CORE 0x21 6 R W A B R W A B R W A B | |
343 | # subp4 HARD HARD CORE 0x22 4 R W A B R W A B | |
344 | # subp6 HARD HARD CORE 0x23 6 R W A B R W A B R W A B | |
345 | # mulp HARD HARD CORE 0x25 6 R W A B R W A B R W A B | |
346 | # divp HARD HARD CORE 0x27 6 R W A B R W A B R W A B | |
347 | # cmpp3 HARD HARD CORE 0x35 3 R W A B A B | |
348 | # cmpp4 HARD HARD CORE 0x37 4 R W A B R W A B | |
349 | ||
350 | # insv INSV -1 CORE 0xf0 4 R L R L R B W B | |
351 | # extv EXTV TN1 CORE 0xee 4 R L R B R B W L | |
352 | # extzv EXTZV TN1 CORE 0xef 4 R L R B R B W L | |
353 | # cmpv HARD HARD CORE 0xec 4 R L R B R B R L | |
354 | # cmpzv HARD HARD CORE 0xed 4 R L R B R B R L | |
355 | ||
356 | # editpc HARD HARD CORE 0x38 4 R W A B A B A B | |
357 | # locc HARD HARD CORE 0x3a 3 R B R W A B | |
358 | # matchc HARD HARD CORE 0x39 4 R W A B R W A B | |
359 | # skpc HARD HARD CORE 0x3b 3 R B R W A B | |
360 | # scanc HARD HARD CORE 0x2a 4 R W A B A B R B | |
361 | # spanc HARD HARD CORE 0x2b 4 R W A B A B R B | |
362 | # movc3 MOVC3 S CORE 0x28 3 R W A B A B | |
363 | # movc5 HARD HARD CORE 0x2c 5 R W A B R B R W A B | |
364 | # movtc HARD HARD CORE 0x2e 6 R W A B R B A B R W A B | |
365 | # movtuc HARD HARD CORE 0x2f 6 R W A B R B A B R W A B | |
366 | # cmpc3 HARD HARD CORE 0x29 3 R W A B A B | |
367 | # cmpc5 HARD HARD CORE 0x2d 5 R W A B R B R W A B | |
368 | ||
369 | # adwc HARD HARD CORE 0xd8 2 R L M L | |
370 | # sbwc HARD HARD CORE 0xd9 2 R L M L | |
371 | ||
372 | # rotl HARD HARD CORE 0x9c 3 R B R L W L | |
373 | # ashl ASH TN3 CORE 0x78 3 R B R L W L | |
374 | # ashp HARD HARD CORE 0xf8 6 R B R W A B R B R W A B | |
375 | # ashq ASH TN3 CORE 0x79 3 R B R Q W Q | |
376 | ||
377 | # jmp JMP S CORE 0x17 1 A B | |
378 | # brb JBR S CORE 0x11 1 B B | |
379 | # brw JBR S CORE 0x31 1 B W | |
380 | ||
381 | # bitb BIT TN1 CORE 0x93 2 R B R B | |
382 | # bitw BIT TN1 CORE 0xb3 2 R W R W | |
383 | # bitl BIT TN1 CORE 0xd3 2 R L R L | |
384 | ||
385 | # bbc CBR JBC CORE 0xe1 3 R L R B B B | |
386 | # bbcc CBR JBCC CORE 0xe5 3 R L R B B B | |
387 | # bbcci CBR JBCC CORE 0xe7 3 R L R B B B | |
388 | # bbcs CBR JBCS CORE 0xe3 3 R L R B B B | |
389 | # bbs CBR JBS CORE 0xe0 3 R L R B B B | |
390 | # bbsc CBR JBSC CORE 0xe4 3 R L R B B B | |
391 | # bbss CBR JBSS CORE 0xe2 3 R L R B B B | |
392 | # bbssi CBR JBSS CORE 0xe6 3 R L R B B B | |
393 | # bcc CBR JHIS CORE 0x1e 1 B B | |
394 | # bcs CBR JLO CORE 0x1f 1 B B | |
395 | # blbs CBR JLBS CORE 0xe8 2 R L B B | |
396 | # blbc CBR JLBC CORE 0xe9 2 R L B B | |
397 | ||
398 | # beql CBR JEQ CORE 0x13 1 B B | |
399 | # beqlu CBR JEQ CORE 0x13 1 B B | |
400 | # bgeq CBR JGE CORE 0x18 1 B B | |
401 | # bgequ CBR JHIS CORE 0x1e 1 B B | |
402 | # bgtr CBR JGT CORE 0x14 1 B B | |
403 | # bgtru CBR JHI CORE 0x1a 1 B B | |
404 | # bleq CBR JLE CORE 0x15 1 B B | |
405 | # blequ CBR JLOS CORE 0x1b 1 B B | |
406 | # blss CBR JLT CORE 0x19 1 B B | |
407 | # blssu CBR JLO CORE 0x1f 1 B B | |
408 | # bneq CBR JNE CORE 0x12 1 B B | |
409 | # bnequ CBR JNE CORE 0x12 1 B B | |
410 | # bvc CBR 0 CORE 0x1c 1 B B | |
411 | # bvs CBR 0 CORE 0x1d 1 B B | |
412 | ||
413 | # caseb CASE TN1 CORE 0x8f 3 R B R B R B | |
414 | # casew CASE TN1 CORE 0xaf 3 R W R W R W | |
415 | # casel CASE TN1 CORE 0xcf 3 R L R L R L | |
416 | ||
417 | # clrb CLR TN1 CORE 0x94 1 W B | |
418 | # clrw CLR TN1 CORE 0xb4 1 W W | |
419 | # clrl CLR TN1 CORE 0xd4 1 W L | |
420 | # clrq CLR TN1 CORE 0x7c 1 W Q | |
421 | # clro CLR TN1 ESCD 0x7c 1 W O | |
422 | # clrf CLR TN1 CORE 0xd4 1 W F | |
423 | # clrd CLR TN1 CORE 0x7c 1 W D | |
57f37339 | 424 | # clrg CLR TN1 CORE 0x7c 1 W D |
d54e51c9 RH |
425 | # clrh CLR TN1 ESCD 0x7c 1 W H |
426 | ||
427 | # cvtbw CVT TNX2 CORE 0x99 2 R B W W | |
428 | # cvtbl CVT TNX2 CORE 0x98 2 R B W L | |
429 | # cvtbf CVT TNX2 CORE 0x4c 2 R B W F | |
430 | # cvtbg CVT TNX2 ESCD 0x4c 2 R B W G | |
431 | # cvtbd CVT TNX2 CORE 0x6c 2 R B W D | |
432 | # cvtbh CVT TNX2 ESCD 0x6c 2 R B W H | |
433 | ||
434 | # cvtwb CVT TNX2 CORE 0x33 2 R W W B | |
435 | # cvtwl CVT TNX2 CORE 0x32 2 R W W L | |
436 | # cvtwf CVT TNX2 CORE 0x4d 2 R W W F | |
437 | # cvtwg CVT TNX2 ESCD 0x4d 2 R W W G | |
438 | # cvtwd CVT TNX2 CORE 0x6d 2 R W W D | |
439 | # cvtwh CVT TNX2 ESCD 0x6d 2 R W W H | |
440 | ||
441 | # cvtlb CVT TNX2 CORE 0xf6 2 R L W B | |
442 | # cvtlw CVT TNX2 CORE 0xf7 2 R L W W | |
443 | # cvtlf CVT TNX2 CORE 0x4e 2 R L W F | |
444 | # cvtlg CVT TNX2 ESCD 0x4e 2 R L W G | |
445 | # cvtld CVT TNX2 CORE 0x6e 2 R L W D | |
446 | # cvtlh CVT TNX2 ESCD 0x6e 2 R L W H | |
447 | ||
448 | # cvtfb CVT TNX2 CORE 0x48 2 R F W B | |
449 | # cvtfw CVT TNX2 CORE 0x49 2 R F W W | |
450 | # cvtfl CVT TNX2 CORE 0x4a 2 R F W L | |
451 | # cvtrfl CVT TNX2 CORE 0x4b 2 R F W L | |
452 | # cvtfd CVT TNX2 CORE 0x56 2 R F W D | |
453 | # cvtfg CVT TNX2 ESCD 0x99 2 R F W G | |
454 | # cvtfh CVT TNX2 ESCD 0x98 2 R F W H | |
455 | ||
456 | # cvtgb CVT TNX2 ESCD 0x48 2 R G W B | |
457 | # cvtgw CVT TNX2 ESCD 0x49 2 R G W W | |
458 | # cvtgl CVT TNX2 ESCD 0x4a 2 R G W L | |
459 | # cvtrgl CVT TNX2 ESCD 0x4b 2 R G W L | |
460 | # cvtgf CVT TNX2 ESCD 0x33 2 R G W F | |
d54e51c9 RH |
461 | # cvtgh CVT TNX2 ESCD 0x56 2 R G W H |
462 | ||
463 | # cvtdb CVT TNX2 CORE 0x68 2 R D W B | |
464 | # cvtdw CVT TNX2 CORE 0x69 2 R D W W | |
465 | # cvtdl CVT TNX2 CORE 0x6a 2 R D W L | |
466 | # cvtrdl CVT TNX2 CORE 0x6b 2 R D W L | |
467 | # cvtdf CVT TNX2 CORE 0x76 2 R D W F | |
468 | # cvtdh CVT TNX2 ESCD 0x32 2 R D W H | |
469 | ||
470 | # cvthb CVT TNX2 ESCD 0x68 2 R H W B | |
471 | # cvthw CVT TNX2 ESCD 0x69 2 R H W W | |
472 | # cvthl CVT TNX2 ESCD 0x6a 2 R H W L | |
473 | # cvtrhl CVT TNX2 ESCD 0x6b 2 R H W L | |
474 | # cvthf CVT TNX2 ESCD 0xf6 2 R H W F | |
475 | # cvthd CVT TNX2 ESCD 0xf7 2 R H W D | |
476 | # cvthg CVT TNX2 ESCD 0x76 2 R H W G | |
477 | ||
478 | # ffc HARD HARD CORE 0xeb 4 R L R B R B W L | |
479 | # ffs HARD HARD CORE 0xea 4 R L R B R B W L | |
480 | ||
481 | # index HARD HARD CORE 0x0a 6 R L R L R L R L R L W L | |
482 | ||
483 | # rei HARD HARD CORE 0x02 0 | |
484 | ||
485 | # callg CALLS S CORE 0xfa 2 A B A B | |
486 | # calls CALLS S CORE 0xfb 2 R L A B | |
487 | # ret JBR RET CORE 0x04 0 | |
488 | ||
489 | # jsb JSB S CORE 0x16 1 A B | |
490 | # bsbb HARD HARD CORE 0x10 1 B B | |
491 | # bsbw HARD HARD CORE 0x30 1 B W | |
492 | # rsb JBR RSB CORE 0x05 0 | |
493 | ||
494 | # pushr HARD HARD CORE 0xbb 1 R W | |
495 | # popr HARD HARD CORE 0xba 1 R W | |
496 | ||
497 | # mnegb NEG TN1 CORE 0x8e 2 R B W B | |
498 | # mnegw NEG TN1 CORE 0xae 2 R W W L | |
499 | # mnegl NEG TN1 CORE 0xce 2 R L W L | |
500 | # mnegf NEG TN1 CORE 0x52 2 R F W F | |
501 | # mnegg NEG TN1 ESCD 0x52 2 R G W G | |
502 | # mnegd NEG TN1 CORE 0x72 2 R D W D | |
503 | # mnegh NEG TN1 ESCD 0x72 2 R H W H | |
504 | ||
505 | # movab MOVA TN1 CORE 0x9e 2 A B W L | |
506 | # movaw MOVA TN1 CORE 0x3e 2 A W W L | |
507 | # moval MOVA TN1 CORE 0xde 2 A L W L | |
508 | # movaq MOVA TN1 CORE 0x7e 2 A Q W L | |
509 | # movao MOVA TN1 ESCD 0x7e 2 A O W L | |
510 | # movaf MOVA TN1 CORE 0xde 2 A F W L | |
511 | # movad MOVA TN1 CORE 0x7e 2 A D W L | |
57f37339 | 512 | # movag MOVA TN1 CORE 0x7e 2 A G W L |
d54e51c9 RH |
513 | # movah MOVA TN1 ESCD 0x7e 2 A H W L |
514 | ||
515 | # movb MOV TN1 CORE 0x90 2 R B W B | |
516 | # movw MOV TN1 CORE 0xb0 2 R W W W | |
517 | # movl MOV TN1 CORE 0xd0 2 R L W L | |
518 | # movf MOV TN1 CORE 0x50 2 R F W F | |
519 | # movq MOV TN1 CORE 0x7d 2 R Q W Q | |
520 | # movo MOV TN1 ESCD 0x7d 2 R O W O | |
521 | # movg MOV TN1 ESCD 0x50 2 R G W G | |
522 | # movd MOV TN1 CORE 0x70 2 R D W D | |
523 | # movh MOV TN1 ESCD 0x70 2 R H W H | |
524 | ||
525 | # movzbl MOVZ TNX2 CORE 0x9a 2 R B W L | |
526 | # movzbw MOVZ TNX2 CORE 0x9b 2 R B W W | |
527 | # movzwl MOVZ TNX2 CORE 0x3c 2 R W W L | |
528 | ||
529 | # pushl PUSH TN1 CORE 0xdd 1 R L | |
530 | # pushab PUSHA TN1 CORE 0x9f 1 A B | |
531 | # pushaw PUSHA TN1 CORE 0x3f 1 A W | |
532 | # pushal PUSHA TN1 CORE 0xdf 1 A L | |
533 | # pushaq PUSHA TN1 CORE 0x7f 1 A Q | |
534 | # pushao PUSHA TN1 ESCD 0x7f 1 A O | |
535 | # pushaf PUSHA TN1 CORE 0xdf 1 A F | |
536 | # pushad PUSHA TN1 CORE 0x7f 1 A D | |
57f37339 | 537 | # pushag PUSHA TN1 CORE 0x7f 1 A G |
d54e51c9 RH |
538 | # pushah PUSHA TN1 ESCD 0x7f 1 A H |
539 | ||
540 | # acbb ACB TN1 CORE 0x9d 4 R B R B M B B W | |
541 | # acbw ACB TN1 CORE 0x3d 4 R W R W M W B W | |
542 | # acbl ACB TN1 CORE 0xf1 4 R L R L M L B W | |
543 | # acbf ACB TN1 CORE 0x4f 4 R F R F M F B W | |
544 | # acbg ACB TN1 ESCD 0x4f 4 R G R G M G B W | |
545 | # acbd ACB TN1 CORE 0x6f 4 R D R D M D B W | |
546 | # acbh ACB TN1 ESCD 0x6f 4 R H R H M H B W | |
547 | ||
548 | # aobleq AOBLEQ S CORE 0xf3 3 R L M L B B | |
549 | # aoblss AOBLSS S CORE 0xf2 3 R L M L B B | |
550 | # sobgeq SOBGEQ S CORE 0xf4 2 M L B B | |
551 | # sobgtr SOBGTR S CORE 0xf5 2 M L B B | |
552 | ||
553 | # addb2 ADD OP CORE 0x80 2 R B M B | |
554 | # addb3 ADD OP CORE 0x81 3 R B R B W B | |
555 | # addw2 ADD OP CORE 0xa0 2 R W M W | |
556 | # addw3 ADD OP CORE 0xa1 3 R W R W W W | |
557 | # addl2 ADD OP CORE 0xc0 2 R L M L | |
558 | # addl3 ADD OP CORE 0xc1 3 R L R L W L | |
559 | # addf2 ADD OP CORE 0x40 2 R F M F | |
560 | # addf3 ADD OP CORE 0x41 3 R F R F W F | |
561 | # addg2 ADD OP ESCD 0x40 2 R G M G | |
562 | # addg3 ADD OP ESCD 0x41 3 R G R G W G | |
563 | # addd2 ADD OP CORE 0x60 2 R D M D | |
564 | # addd3 ADD OP CORE 0x61 3 R D R D W D | |
565 | # addh2 ADD OP ESCD 0x60 2 R H M H | |
566 | # addh3 ADD OP ESCD 0x61 3 R H R H W H | |
567 | ||
568 | # subb2 SUB OP CORE 0x82 2 R B M B | |
569 | # subb3 SUB OP CORE 0x83 3 R B R B W B | |
570 | # subw2 SUB OP CORE 0xa2 2 R W M W | |
571 | # subw3 SUB OP CORE 0xa3 3 R W R W W W | |
572 | # subl2 SUB OP CORE 0xc2 2 R L M L | |
573 | # subl3 SUB OP CORE 0xc3 3 R L R L W L | |
574 | # subf2 SUB OP CORE 0x42 2 R F M F | |
575 | # subf3 SUB OP CORE 0x43 3 R F R F W F | |
576 | # subg2 SUB OP ESCD 0x42 2 R G M G | |
577 | # subg3 SUB OP ESCD 0x43 3 R G R G W G | |
578 | # subd2 SUB OP CORE 0x62 2 R D M D | |
579 | # subd3 SUB OP CORE 0x63 3 R D R D W D | |
580 | # subh2 SUB OP ESCD 0x62 2 R H M H | |
581 | # subh3 SUB OP ESCD 0x63 3 R H R H W H | |
582 | ||
583 | # mulb2 MUL OP CORE 0x84 2 R B M B | |
584 | # mulb3 MUL OP CORE 0x85 3 R B R B W B | |
585 | # mulw2 MUL OP CORE 0xa4 2 R W M W | |
586 | # mulw3 MUL OP CORE 0xa5 3 R W R W W W | |
587 | # mull2 MUL OP CORE 0xc4 2 R L M L | |
588 | # mull3 MUL OP CORE 0xc5 3 R L R L W L | |
589 | # mulf2 MUL OP CORE 0x44 2 R F M F | |
590 | # mulf3 MUL OP CORE 0x45 3 R F R F W F | |
591 | # mulg2 MUL OP ESCD 0x44 2 R G M G | |
592 | # mulg3 MUL OP ESCD 0x45 3 R G R G W G | |
593 | # muld2 MUL OP CORE 0x64 2 R D M D | |
594 | # muld3 MUL OP CORE 0x65 3 R D R D W D | |
595 | # mulh2 MUL OP ESCD 0x64 2 R H M H | |
596 | # mulh3 MUL OP ESCD 0x65 3 R H R H W H | |
597 | ||
598 | # divb2 DIV OP CORE 0x86 2 R B M B | |
599 | # divb3 DIV OP CORE 0x87 3 R B R B W B | |
600 | # divw2 DIV OP CORE 0xa6 2 R W M W | |
601 | # divw3 DIV OP CORE 0xa7 3 R W R W W W | |
602 | # divl2 DIV OP CORE 0xc6 2 R L M L | |
603 | # divl3 DIV OP CORE 0xc7 3 R L R L W L | |
604 | # divf2 DIV OP CORE 0x46 2 R F M F | |
605 | # divf3 DIV OP CORE 0x47 3 R F R F W F | |
606 | # divg2 DIV OP ESCD 0x46 2 R G M G | |
607 | # divg3 DIV OP ESCD 0x47 3 R G R G W G | |
608 | # divd2 DIV OP CORE 0x66 2 R D M D | |
609 | # divd3 DIV OP CORE 0x67 3 R D R D R D | |
610 | # divh2 DIV OP ESCD 0x66 2 R H M H | |
611 | # divh3 DIV OP ESCD 0x67 3 R H R H R H | |
612 | ||
613 | # incb INC TN1 CORE 0x96 1 M B | |
614 | # incw INC TN1 CORE 0xb6 1 M W | |
615 | # incl INC TN1 CORE 0xd6 1 M L | |
616 | # decb DEC TN1 CORE 0x97 1 M B | |
617 | # decl DEC TN1 CORE 0xd7 1 M L | |
618 | # decw DEC TN1 CORE 0xb7 1 M W | |
619 | ||
620 | # cmpb CMP TN1 CORE 0x91 2 R B R B | |
621 | # cmpw CMP TN1 CORE 0xb1 2 R W R W | |
622 | # cmpl CMP TN1 CORE 0xd1 2 R L R L | |
623 | # cmpf CMP TN1 CORE 0x51 2 R F R F | |
624 | # cmpg CMP TN1 ESCD 0x51 2 R G R G | |
625 | # cmpd CMP TN1 CORE 0x71 2 R D R D | |
626 | # cmph CMP TN1 ESCD 0x71 2 R H R H | |
627 | ||
628 | # tstb TST TN1 CORE 0x95 1 R B | |
629 | # tstw TST TN1 CORE 0xb5 1 R W | |
630 | # tstl TST TN1 CORE 0xd5 1 R L | |
631 | # tstf TST TN1 CORE 0x53 1 R F | |
632 | # tstg TST TN1 ESCD 0x53 1 R G | |
633 | # tstd TST TN1 CORE 0x73 1 R D | |
634 | # tsth TST TN1 ESCD 0x73 1 R H | |
635 | ||
636 | # polyf HARD HARD CORE 0x55 3 R F R W A B | |
637 | # polyg HARD HARD ESCD 0x55 3 R G R W A B | |
638 | # polyd HARD HARD CORE 0x75 3 R D R W A B | |
639 | # polyh HARD HARD ESCD 0x75 3 R H R W A B | |
640 | ||
641 | # emul HARD HARD CORE 0x7a 4 R L R L R L W Q | |
642 | # ediv HARD HARD CORE 0x7b 4 R L R Q W L W L | |
643 | # emodf HARD HARD CORE 0x54 5 R F R B R F W L W F | |
644 | # emodd HARD HARD CORE 0x74 5 R D R B R D W L W D | |
645 | # emodg HARD HARD ESCD 0x54 5 R G R W R G W L W G | |
646 | # emodh HARD HARD ESCD 0x74 5 R H R W R H W L W H | |
647 | ||
648 | # mcomb COM TN1 CORE 0x92 2 R B W B | |
649 | # mcomw COM TN1 CORE 0xb2 2 R W W W | |
650 | # mcoml COM TN1 CORE 0xd2 2 R L W L | |
651 | ||
652 | # bicl2 BIC OP CORE 0xca 2 R L M L | |
653 | # bicl3 BIC OP CORE 0xcb 3 R L R L W L | |
654 | # bicw2 BIC OP CORE 0xaa 2 R W M W | |
655 | # bicw3 BIC OP CORE 0xab 3 R W R W W W | |
656 | # bicb2 BIC OP CORE 0x8a 2 R B M B | |
657 | # bicb3 BIC OP CORE 0x8b 3 R B R B W B | |
658 | ||
659 | # bisb2 BIS OP CORE 0x88 2 R B M B | |
660 | # bisb3 BIS OP CORE 0x89 3 R B R B W B | |
661 | # bisw2 BIS OP CORE 0xa8 2 R W M W | |
662 | # bisw3 BIS OP CORE 0xa9 3 R W R W W W | |
663 | # bisl2 BIS OP CORE 0xc8 2 R L M L | |
664 | # bisl3 BIS OP CORE 0xc9 3 R L R L W L | |
665 | ||
666 | # xorb2 XOR OP CORE 0x8c 2 R B M B | |
667 | # xorb3 XOR OP CORE 0x8d 3 R B R B W B | |
668 | # xorw2 XOR OP CORE 0xac 2 R W M W | |
669 | # xorw3 XOR OP CORE 0xad 3 R W R W W W | |
670 | # xorl2 XOR OP CORE 0xcc 2 R L M L | |
671 | # xorl3 XOR OP CORE 0xcd 3 R L R L W L |