This file is now created by applying the awk script astokfix.awk
[unix-history] / usr / src / old / as.vax / instrs
CommitLineData
5ab47364
RH
1#
2# Copyright (c) 1982 Regents of the University of California
3# @(#)instrs 4.3 %G%
4#
5# Robert R. Henry
6# University of California, Berkeley
7# Berkeley, CA
8# February 6, 1982
9#
10# Instruction definitions for the VAX
11# This file is processed by an awk script, and shared between:
12# as assembler
13# c2 optimizer
14# adb debugger
15# sdb symbolic debugger
16#
17# The awk script reads this file, and produces macros understood
18# by the appropriate consumer. The awk script determines how
19# to interpret the file by looking for a line of the form:
20# FLAVOR AS
21# FLAVOR C2
22# and proceeding accordingly. This line should be prepended to
23# the front of this file.
24#
25# Lines starting with # are deleted
26# Empty lines are passed through
27#
28# field user(s) what
29#
30# $1 as, c2, adb instruction name
31#
32# $2 c2 instruction class
33# $3 c2 instruction sub class
34# HARD, TN1, TN2, TN3, TNX2, OP
35#
36# $4 as, adb escape opcode byte (NONE, NEW, ESCD, ESCF)
37# $5 as, adb primary opcode byte
38#
39# $6 as, adb number of arguments
40# $7 as, adb 1st operand: access A,R,W,M,I,B
41# $8 as, adb 1st operand: type, BWLQOFDGH
42#
43# $9 as, adb 2nd operand: access
44# ...
45#
46#
47# These are the definitions used in this file:
48# instruction class (c2)
49# understood only by c2. If it is HARD, the second field
50# is ignored.
51# instruction subclass: (c2)
52# HARD paired with the class
53# S single valued attribute to C2
54# TN1 class + type of 1st operand
55# TN2 class + type of 2nd operand
56# TN3 class + type of 3rd operand
57# TNX2 class + type of 1st and 2nd operand
58# OP class + type of 1st operand and # of args
59# default class + subclass
60#
61# escape byte:
62# CORE 1 byte opcodes in all VAXen
63# NEW 1 byte opcodes only in newer VAXen
64# ESCD 2 byte opcodes, escape byte of 0xFD, newer VAXen
65# ESCF 2 byte opcodes, escape byte of 0xFF, newer VAXen
66# code byte
67# number of arguments
68# Access type
69# A for address
70# W for writing
71# R for reading
72# M for modifying
73# B for branch displacement
74# I for xfc code
75# Data types
76# B byte
77# W word
78# L long
79# Q quad
80# O octa
81# F f_float
82# D d_float
83# G g_float
84# H h_float
85#
86# The order of instructions in this table is not critical;
87# the clients take care of their own table construction and ordering.
88# The instructions are grouped (more or less) into functional groups.
89#-------------------------------------------------------
90#1 2 3 4 5 6 7 8
91#
92#
93bicpsw HARD HARD CORE 0xb9 1 R W
94bispsw HARD HARD CORE 0xb8 1 R W
95movpsl HARD HARD CORE 0xdc 1 W L
96
97ldpctx HARD HARD CORE 0x06 0
98svpctx HARD HARD CORE 0x07 0
99mfpr MFPR TN1 CORE 0xdb 2 R L W L
100mtpr MTPR TN1 CORE 0xda 2 R L R L
101
102prober PROBER TN1 CORE 0x0c 3 R B R W A B
103probew PROBEW TN1 CORE 0x0d 3 R B R W A B
104
105adawi HARD HARD CORE 0x58 2 R W M W
106
107chme HARD HARD CORE 0xbd 1 R W
108chmk HARD HARD CORE 0xbc 1 R W
109chms HARD HARD CORE 0xbe 1 R W
110chmu HARD HARD CORE 0xbf 1 R W
111
112insque HARD HARD CORE 0x0e 2 A B A B
113insqhi HARD HARD NEW 0x5c 2 A B A Q
114insqti HARD HARD NEW 0x5d 2 A B A Q
115
116remque HARD HARD CORE 0x0f 2 A B W L
117remqhi HARD HARD NEW 0x5e 2 A Q W L
118remqti HARD HARD NEW 0x5f 2 A Q W L
119
120bpt HARD HARD CORE 0x03 0
121
122escd HARD HARD CORE 0xfd 0
123esce HARD HARD CORE 0xfe 0
124escf HARD HARD CORE 0xff 0
125xfc HARD HARD CORE 0xfc 0
126
127bugw HARD HARD ESCF 0xfe 1 R W
128bugl HARD HARD ESCF 0xfd 1 R L
129
130nop HARD HARD CORE 0x01 0
131halt HARD HARD CORE 0x00 0
132
133crc HARD HARD CORE 0x0b 4 A B R L R W A B
134
135movp HARD HARD CORE 0x34 3 R W A B A B
136cvtlp HARD HARD CORE 0xf9 3 R L R W A B
137cvtpl HARD HARD CORE 0x36 3 R W A B W L
138cvttp HARD HARD CORE 0x26 5 R W A B A B R W A B
139cvtpt HARD HARD CORE 0x24 5 R W A B A B R W A B
140cvtps HARD HARD CORE 0x08 4 R W A B R W A B
141cvtsp HARD HARD CORE 0x09 4 R W A B R W A B
142
143addp4 HARD HARD CORE 0x20 4 R W A B R W A B
144addp6 HARD HARD CORE 0x21 6 R W A B R W A B R W A B
145subp4 HARD HARD CORE 0x22 4 R W A B R W A B
146subp6 HARD HARD CORE 0x23 6 R W A B R W A B R W A B
147mulp HARD HARD CORE 0x25 6 R W A B R W A B R W A B
148divp HARD HARD CORE 0x27 6 R W A B R W A B R W A B
149cmpp3 HARD HARD CORE 0x35 3 R W A B A B
150cmpp4 HARD HARD CORE 0x37 4 R W A B R W A B
151
152insv INSV -1 CORE 0xf0 4 R L R L R B W B
153extv EXTV TN1 CORE 0xee 4 R L R B R B W L
154extzv EXTZV TN1 CORE 0xef 4 R L R B R B W L
155cmpv HARD HARD CORE 0xec 4 R L R B R B R L
156cmpzv HARD HARD CORE 0xed 4 R L R B R B R L
157
158editpc HARD HARD CORE 0x38 4 R W A B A B A B
159locc HARD HARD CORE 0x3a 3 R B R W A B
160matchc HARD HARD CORE 0x39 4 R W A B R W A B
161skpc HARD HARD CORE 0x3b 3 R B R W A B
162scanc HARD HARD CORE 0x2a 4 R W A B A B R B
163spanc HARD HARD CORE 0x2b 4 R W A B A B R B
164movc3 MOVC3 S CORE 0x28 3 R W A B A B
165movc5 HARD HARD CORE 0x2c 5 R W A B R B R W A B
166movtc HARD HARD CORE 0x2e 6 R W A B R B A B R W A B
167movtuc HARD HARD CORE 0x2f 6 R W A B R B A B R W A B
168cmpc3 HARD HARD CORE 0x29 3 R W A B A B
169cmpc5 HARD HARD CORE 0x2d 5 R W A B R B R W A B
170
171adwc HARD HARD CORE 0xd8 2 R L M L
172sbwc HARD HARD CORE 0xd9 2 R L M L
173
174rotl HARD HARD CORE 0x9c 3 R B R L W L
175ashl ASH TN3 CORE 0x78 3 R B R L W L
176ashp HARD HARD CORE 0xf8 6 R B R W A B R B R W A B
177ashq ASH TN3 CORE 0x79 3 R B R Q W Q
178
179jmp JMP S CORE 0x17 1 A B
180brb JBR S CORE 0x11 1 B B
181brw JBR S CORE 0x31 1 B W
182
183bitb BIT TN1 CORE 0x93 2 R B R B
184bitw BIT TN1 CORE 0xb3 2 R W R W
185bitl BIT TN1 CORE 0xd3 2 R L R L
186
187bbc CBR JBC CORE 0xe1 3 R L R B B B
188bbcc CBR JBCC CORE 0xe5 3 R L R B B B
189bbcci CBR JBCC CORE 0xe7 3 R L R B B B
190bbcs CBR JBCS CORE 0xe3 3 R L R B B B
191bbs CBR JBS CORE 0xe0 3 R L R B B B
192bbsc CBR JBSC CORE 0xe4 3 R L R B B B
193bbss CBR JBSS CORE 0xe2 3 R L R B B B
194bbssi CBR JBSS CORE 0xe6 3 R L R B B B
195bcc CBR JHIS CORE 0x1e 1 B B
196bcs CBR JLO CORE 0x1f 1 B B
197blbs CBR JLBS CORE 0xe8 2 R L B B
198blbc CBR JLBC CORE 0xe9 2 R L B B
199
200beql CBR JEQ CORE 0x13 1 B B
201beqlu CBR JEQ CORE 0x13 1 B B
202bgeq CBR JGE CORE 0x18 1 B B
203bgequ CBR JHIS CORE 0x1e 1 B B
204bgtr CBR JGT CORE 0x14 1 B B
205bgtru CBR JHI CORE 0x1a 1 B B
206bleq CBR JLE CORE 0x15 1 B B
207blequ CBR JLOS CORE 0x1b 1 B B
208blss CBR JLT CORE 0x19 1 B B
209blssu CBR JLO CORE 0x1f 1 B B
210bneq CBR JNE CORE 0x12 1 B B
211bnequ CBR JNE CORE 0x12 1 B B
212bvc CBR 0 CORE 0x1c 1 B B
213bvs CBR 0 CORE 0x1d 1 B B
214
215caseb CASE TN1 CORE 0x8f 3 R B R B R B
216casew CASE TN1 CORE 0xaf 3 R W R W R W
217casel CASE TN1 CORE 0xcf 3 R L R L R L
218
219clrb CLR TN1 CORE 0x94 1 W B
220clrw CLR TN1 CORE 0xb4 1 W W
221clrl CLR TN1 CORE 0xd4 1 W L
222clrq CLR TN1 CORE 0x7c 1 W Q
223clro CLR TN1 ESCD 0x7c 1 W O
224clrf CLR TN1 CORE 0xd4 1 W F
225clrd CLR TN1 CORE 0x7c 1 W D
226clrh CLR TN1 ESCD 0x7c 1 W H
227
228cvtbw CVT TNX2 CORE 0x99 2 R B W W
229cvtbl CVT TNX2 CORE 0x98 2 R B W L
230cvtbf CVT TNX2 CORE 0x4c 2 R B W F
231cvtbg CVT TNX2 ESCD 0x4c 2 R B W G
232cvtbd CVT TNX2 CORE 0x6c 2 R B W D
233cvtbh CVT TNX2 ESCD 0x6c 2 R B W H
234
235cvtwb CVT TNX2 CORE 0x33 2 R W W B
236cvtwl CVT TNX2 CORE 0x32 2 R W W L
237cvtwf CVT TNX2 CORE 0x4d 2 R W W F
238cvtwg CVT TNX2 ESCD 0x4d 2 R W W G
239cvtwd CVT TNX2 CORE 0x6d 2 R W W D
240cvtwh CVT TNX2 ESCD 0x6d 2 R W W H
241
242cvtlb CVT TNX2 CORE 0xf6 2 R L W B
243cvtlw CVT TNX2 CORE 0xf7 2 R L W W
244cvtlf CVT TNX2 CORE 0x4e 2 R L W F
245cvtlg CVT TNX2 ESCD 0x4e 2 R L W G
246cvtld CVT TNX2 CORE 0x6e 2 R L W D
247cvtlh CVT TNX2 ESCD 0x6e 2 R L W H
248
249cvtfb CVT TNX2 CORE 0x48 2 R F W B
250cvtfw CVT TNX2 CORE 0x49 2 R F W W
251cvtfl CVT TNX2 CORE 0x4a 2 R F W L
252cvtrfl CVT TNX2 CORE 0x4b 2 R F W L
253cvtfd CVT TNX2 CORE 0x56 2 R F W D
254cvtfg CVT TNX2 ESCD 0x99 2 R F W G
255cvtfh CVT TNX2 ESCD 0x98 2 R F W H
256
257cvtgb CVT TNX2 ESCD 0x48 2 R G W B
258cvtgw CVT TNX2 ESCD 0x49 2 R G W W
259cvtgl CVT TNX2 ESCD 0x4a 2 R G W L
260cvtrgl CVT TNX2 ESCD 0x4b 2 R G W L
261cvtgf CVT TNX2 ESCD 0x33 2 R G W F
262cvtgd CVT TNX2 ESCD 0x56 2 R G W D
263cvtgh CVT TNX2 ESCD 0x56 2 R G W H
264
265cvtdb CVT TNX2 CORE 0x68 2 R D W B
266cvtdw CVT TNX2 CORE 0x69 2 R D W W
267cvtdl CVT TNX2 CORE 0x6a 2 R D W L
268cvtrdl CVT TNX2 CORE 0x6b 2 R D W L
269cvtdf CVT TNX2 CORE 0x76 2 R D W F
270cvtdh CVT TNX2 ESCD 0x32 2 R D W H
271
272cvthb CVT TNX2 ESCD 0x68 2 R H W B
273cvthw CVT TNX2 ESCD 0x69 2 R H W W
274cvthl CVT TNX2 ESCD 0x6a 2 R H W L
275cvtrhl CVT TNX2 ESCD 0x6b 2 R H W L
276cvthf CVT TNX2 ESCD 0xf6 2 R H W F
277cvthd CVT TNX2 ESCD 0xf7 2 R H W D
278cvthg CVT TNX2 ESCD 0x76 2 R H W G
279
280ffc HARD HARD CORE 0xeb 4 R L R B R B W L
281ffs HARD HARD CORE 0xea 4 R L R B R B W L
282
283index HARD HARD CORE 0x0a 6 R L R L R L R L R L W L
284
285rei HARD HARD CORE 0x02 0
286
287callg CALLS S CORE 0xfa 2 A B A B
288calls CALLS S CORE 0xfb 2 R L A B
289ret JBR RET CORE 0x04 0
290
291jsb JSB S CORE 0x16 1 A B
292bsbb HARD HARD CORE 0x10 1 B B
293bsbw HARD HARD CORE 0x30 1 B W
294rsb JBR RSB CORE 0x05 0
295
296pushr HARD HARD CORE 0xbb 1 R W
297popr HARD HARD CORE 0xba 1 R W
298
299mnegb NEG TN1 CORE 0x8e 2 R B W B
300mnegw NEG TN1 CORE 0xae 2 R W W L
301mnegl NEG TN1 CORE 0xce 2 R L W L
302mnegf NEG TN1 CORE 0x52 2 R F W F
303mnegg NEG TN1 ESCD 0x52 2 R G W G
304mnegd NEG TN1 CORE 0x72 2 R D W D
305mnegh NEG TN1 ESCD 0x72 2 R H W H
306
307movab MOVA TN1 CORE 0x9e 2 A B W L
308movaw MOVA TN1 CORE 0x3e 2 A W W L
309moval MOVA TN1 CORE 0xde 2 A L W L
310movaq MOVA TN1 CORE 0x7e 2 A Q W L
311movao MOVA TN1 ESCD 0x7e 2 A O W L
312movaf MOVA TN1 CORE 0xde 2 A F W L
313movad MOVA TN1 CORE 0x7e 2 A D W L
314movah MOVA TN1 ESCD 0x7e 2 A H W L
315
316movb MOV TN1 CORE 0x90 2 R B W B
317movw MOV TN1 CORE 0xb0 2 R W W W
318movl MOV TN1 CORE 0xd0 2 R L W L
319movf MOV TN1 CORE 0x50 2 R F W F
320movq MOV TN1 CORE 0x7d 2 R Q W Q
321movo MOV TN1 ESCD 0x7d 2 R O W O
322movg MOV TN1 ESCD 0x50 2 R G W G
323movd MOV TN1 CORE 0x70 2 R D W D
324movh MOV TN1 ESCD 0x70 2 R H W H
325
326movzbl MOVZ TNX2 CORE 0x9a 2 R B W L
327movzbw MOVZ TNX2 CORE 0x9b 2 R B W W
328movzwl MOVZ TNX2 CORE 0x3c 2 R W W L
329
330pushl PUSH TN1 CORE 0xdd 1 R L
331pushab PUSHA TN1 CORE 0x9f 1 A B
332pushaw PUSHA TN1 CORE 0x3f 1 A W
333pushal PUSHA TN1 CORE 0xdf 1 A L
334pushaq PUSHA TN1 CORE 0x7f 1 A Q
335pushao PUSHA TN1 ESCD 0x7f 1 A O
336pushaf PUSHA TN1 CORE 0xdf 1 A F
337pushad PUSHA TN1 CORE 0x7f 1 A D
338pushag PUSHA TN1 CORE 0xdf 1 A G
339pushah PUSHA TN1 ESCD 0x7f 1 A H
340
341acbb ACB TN1 CORE 0x9d 4 R B R B M B B W
342acbw ACB TN1 CORE 0x3d 4 R W R W M W B W
343acbl ACB TN1 CORE 0xf1 4 R L R L M L B W
344acbf ACB TN1 CORE 0x4f 4 R F R F M F B W
345acbg ACB TN1 ESCD 0x4f 4 R G R G M G B W
346acbd ACB TN1 CORE 0x6f 4 R D R D M D B W
347acbh ACB TN1 ESCD 0x6f 4 R H R H M H B W
348
349aobleq AOBLEQ S CORE 0xf3 3 R L M L B B
350aoblss AOBLSS S CORE 0xf2 3 R L M L B B
351sobgeq SOBGEQ S CORE 0xf4 2 M L B B
352sobgtr SOBGTR S CORE 0xf5 2 M L B B
353
354addb2 ADD OP CORE 0x80 2 R B M B
355addb3 ADD OP CORE 0x81 3 R B R B W B
356addw2 ADD OP CORE 0xa0 2 R W M W
357addw3 ADD OP CORE 0xa1 3 R W R W W W
358addl2 ADD OP CORE 0xc0 2 R L M L
359addl3 ADD OP CORE 0xc1 3 R L R L W L
360addf2 ADD OP CORE 0x40 2 R F M F
361addf3 ADD OP CORE 0x41 3 R F R F W F
362addg2 ADD OP ESCD 0x40 2 R G M G
363addg3 ADD OP ESCD 0x41 3 R G R G W G
364addd2 ADD OP CORE 0x60 2 R D M D
365addd3 ADD OP CORE 0x61 3 R D R D W D
366addh2 ADD OP ESCD 0x60 2 R H M H
367addh3 ADD OP ESCD 0x61 3 R H R H W H
368
369subb2 SUB OP CORE 0x82 2 R B M B
370subb3 SUB OP CORE 0x83 3 R B R B W B
371subw2 SUB OP CORE 0xa2 2 R W M W
372subw3 SUB OP CORE 0xa3 3 R W R W W W
373subl2 SUB OP CORE 0xc2 2 R L M L
374subl3 SUB OP CORE 0xc3 3 R L R L W L
375subf2 SUB OP CORE 0x42 2 R F M F
376subf3 SUB OP CORE 0x43 3 R F R F W F
377subg2 SUB OP ESCD 0x42 2 R G M G
378subg3 SUB OP ESCD 0x43 3 R G R G W G
379subd2 SUB OP CORE 0x62 2 R D M D
380subd3 SUB OP CORE 0x63 3 R D R D W D
381subh2 SUB OP ESCD 0x62 2 R H M H
382subh3 SUB OP ESCD 0x63 3 R H R H W H
383
384mulb2 MUL OP CORE 0x84 2 R B M B
385mulb3 MUL OP CORE 0x85 3 R B R B W B
386mulw2 MUL OP CORE 0xa4 2 R W M W
387mulw3 MUL OP CORE 0xa5 3 R W R W W W
388mull2 MUL OP CORE 0xc4 2 R L M L
389mull3 MUL OP CORE 0xc5 3 R L R L W L
390mulf2 MUL OP CORE 0x44 2 R F M F
391mulf3 MUL OP CORE 0x45 3 R F R F W F
392mulg2 MUL OP ESCD 0x44 2 R G M G
393mulg3 MUL OP ESCD 0x45 3 R G R G W G
394muld2 MUL OP CORE 0x64 2 R D M D
395muld3 MUL OP CORE 0x65 3 R D R D W D
396mulh2 MUL OP ESCD 0x64 2 R H M H
397mulh3 MUL OP ESCD 0x65 3 R H R H W H
398
399divb2 DIV OP CORE 0x86 2 R B M B
400divb3 DIV OP CORE 0x87 3 R B R B W B
401divw2 DIV OP CORE 0xa6 2 R W M W
402divw3 DIV OP CORE 0xa7 3 R W R W W W
403divl2 DIV OP CORE 0xc6 2 R L M L
404divl3 DIV OP CORE 0xc7 3 R L R L W L
405divf2 DIV OP CORE 0x46 2 R F M F
406divf3 DIV OP CORE 0x47 3 R F R F W F
407divg2 DIV OP ESCD 0x46 2 R G M G
408divg3 DIV OP ESCD 0x47 3 R G R G W G
409divd2 DIV OP CORE 0x66 2 R D M D
410divd3 DIV OP CORE 0x67 3 R D R D R D
411divh2 DIV OP ESCD 0x66 2 R H M H
412divh3 DIV OP ESCD 0x67 3 R H R H R H
413
414incb INC TN1 CORE 0x96 1 M B
415incw INC TN1 CORE 0xb6 1 M W
416incl INC TN1 CORE 0xd6 1 M L
417decb DEC TN1 CORE 0x97 1 M B
418decl DEC TN1 CORE 0xd7 1 M L
419decw DEC TN1 CORE 0xb7 1 M W
420
421cmpb CMP TN1 CORE 0x91 2 R B R B
422cmpw CMP TN1 CORE 0xb1 2 R W R W
423cmpl CMP TN1 CORE 0xd1 2 R L R L
424cmpf CMP TN1 CORE 0x51 2 R F R F
425cmpg CMP TN1 ESCD 0x51 2 R G R G
426cmpd CMP TN1 CORE 0x71 2 R D R D
427cmph CMP TN1 ESCD 0x71 2 R H R H
428
429tstb TST TN1 CORE 0x95 1 R B
430tstw TST TN1 CORE 0xb5 1 R W
431tstl TST TN1 CORE 0xd5 1 R L
432tstf TST TN1 CORE 0x53 1 R F
433tstg TST TN1 ESCD 0x53 1 R G
434tstd TST TN1 CORE 0x73 1 R D
435tsth TST TN1 ESCD 0x73 1 R H
436
437polyf HARD HARD CORE 0x55 3 R F R W A B
438polyg HARD HARD ESCD 0x55 3 R G R W A B
439polyd HARD HARD CORE 0x75 3 R D R W A B
440polyh HARD HARD ESCD 0x75 3 R H R W A B
441
442emul HARD HARD CORE 0x7a 4 R L R L R L W Q
443ediv HARD HARD CORE 0x7b 4 R L R Q W L W L
444emodf HARD HARD CORE 0x54 5 R F R B R F W L W F
445emodd HARD HARD CORE 0x74 5 R D R B R D W L W D
446emodg HARD HARD ESCD 0x54 5 R G R W R G W L W G
447emodh HARD HARD ESCD 0x74 5 R H R W R H W L W H
448
449mcomb COM TN1 CORE 0x92 2 R B W B
450mcomw COM TN1 CORE 0xb2 2 R W W W
451mcoml COM TN1 CORE 0xd2 2 R L W L
452
453bicl2 BIC OP CORE 0xca 2 R L M L
454bicl3 BIC OP CORE 0xcb 3 R L R L W L
455bicw2 BIC OP CORE 0xaa 2 R W M W
456bicw3 BIC OP CORE 0xab 3 R W R W W W
457bicb2 BIC OP CORE 0x8a 2 R B M B
458bicb3 BIC OP CORE 0x8b 3 R B R B W B
459
460bisb2 BIS OP CORE 0x88 2 R B M B
461bisb3 BIS OP CORE 0x89 3 R B R B W B
462bisw2 BIS OP CORE 0xa8 2 R W M W
463bisw3 BIS OP CORE 0xa9 3 R W R W W W
464bisl2 BIS OP CORE 0xc8 2 R L M L
465bisl3 BIS OP CORE 0xc9 3 R L R L W L
466
467xorb2 XOR OP CORE 0x8c 2 R B M B
468xorb3 XOR OP CORE 0x8d 3 R B R B W B
469xorw2 XOR OP CORE 0xac 2 R W M W
470xorw3 XOR OP CORE 0xad 3 R W R W W W
471xorl2 XOR OP CORE 0xcc 2 R L M L
472xorl3 XOR OP CORE 0xcd 3 R L R L W L