xref: /csrg-svn/old/as.vax/aspseudo.c (revision 598)
1*598Sbill /* Copyright (c) 1980 Regents of the University of California */
2*598Sbill static	char sccsid[] = "@(#)aspseudo.c 4.1 08/13/80";
3*598Sbill #include <stdio.h>
4*598Sbill #include <sys/types.h>
5*598Sbill #include "as.h"
6*598Sbill 
7*598Sbill #define OP(name,opcode,nargs,arg1,arg2,arg3,arg4,arg5,arg6) \
8*598Sbill 	{ \
9*598Sbill 		name,(nargs==0 ? INST0:INSTn), opcode,nargs, \
10*598Sbill 		arg1,arg2,arg3,arg4,arg5,arg6 \
11*598Sbill 	}
12*598Sbill #define PSEUDO(name, type, tag) \
13*598Sbill 	{ \
14*598Sbill 		name, tag, type \
15*598Sbill 	}
16*598Sbill 
17*598Sbill readonly struct instab instab[] = {
18*598Sbill PSEUDO(".space",	0,	ISPACE),
19*598Sbill PSEUDO(".fill",		0,	IFILL),
20*598Sbill PSEUDO(".byte",		0,	IBYTE),
21*598Sbill PSEUDO(".word",		0,	IWORD),
22*598Sbill PSEUDO(".long",		0,	ILONG),
23*598Sbill PSEUDO(".int",		0,	IINT),
24*598Sbill PSEUDO(".data",		0,	IDATA),
25*598Sbill PSEUDO(".globl",	0,	IGLOBAL),
26*598Sbill PSEUDO(".set",		0,	ISET),
27*598Sbill PSEUDO(".text",		0,	ITEXT),
28*598Sbill PSEUDO(".comm",		0,	ICOMM),
29*598Sbill PSEUDO(".lcomm",	0,	ILCOMM),
30*598Sbill PSEUDO(".lsym",		0,	ILSYM),
31*598Sbill PSEUDO(".align",	0,	IALIGN),
32*598Sbill PSEUDO(".float",	0,	IFLOAT),
33*598Sbill PSEUDO(".double",	0,	IDOUBLE),
34*598Sbill PSEUDO(".org",		0,	IORG),
35*598Sbill PSEUDO(".stab",		0,	ISTAB),
36*598Sbill PSEUDO(".stabs",	0,	ISTABSTR),
37*598Sbill PSEUDO(".stabn",	0,	ISTABNONE),
38*598Sbill PSEUDO(".stabd",	0,	ISTABDOT),
39*598Sbill PSEUDO(".ascii",	0,	IASCII),
40*598Sbill PSEUDO(".asciz",	0,	IASCIZ),
41*598Sbill PSEUDO(".file",		0,	IFILE),
42*598Sbill PSEUDO(".line",		0,	ILINENO),
43*598Sbill PSEUDO(".ABORT",	0,	IABORT),
44*598Sbill 
45*598Sbill PSEUDO("r0",		0,	REG),
46*598Sbill PSEUDO("r1",		1,	REG),
47*598Sbill PSEUDO("r2",		2,	REG),
48*598Sbill PSEUDO("r3",		3,	REG),
49*598Sbill PSEUDO("r4",		4,	REG),
50*598Sbill PSEUDO("r5",		5,	REG),
51*598Sbill PSEUDO("r6",		6,	REG),
52*598Sbill PSEUDO("r7",		7,	REG),
53*598Sbill PSEUDO("r8",		8,	REG),
54*598Sbill PSEUDO("r9",		9,	REG),
55*598Sbill PSEUDO("r10",		10,	REG),
56*598Sbill PSEUDO("r11",		11,	REG),
57*598Sbill PSEUDO("r12",		12,	REG),
58*598Sbill PSEUDO("r13",		13,	REG),
59*598Sbill PSEUDO("r14",		14,	REG),
60*598Sbill PSEUDO("r15",		15,	REG),
61*598Sbill PSEUDO("ap",		12,	REG),
62*598Sbill PSEUDO("fp",		13,	REG),
63*598Sbill PSEUDO("sp",		14,	REG),
64*598Sbill PSEUDO("pc",		15,	REG),
65*598Sbill 
66*598Sbill PSEUDO("jcc",		0x1e,	IJXXX),
67*598Sbill PSEUDO("jcs",		0x1f,	IJXXX),
68*598Sbill PSEUDO("jeql",		0x13,	IJXXX),
69*598Sbill PSEUDO("jeqlu",		0x13,	IJXXX),
70*598Sbill PSEUDO("jgeq",		0x18,	IJXXX),
71*598Sbill PSEUDO("jgequ",		0x1e,	IJXXX),
72*598Sbill PSEUDO("jgtr",		0x14,	IJXXX),
73*598Sbill PSEUDO("jgtru",		0x1a,	IJXXX),
74*598Sbill PSEUDO("jleq",		0x15,	IJXXX),
75*598Sbill PSEUDO("jlequ",		0x1b,	IJXXX),
76*598Sbill PSEUDO("jlss",		0x19,	IJXXX),
77*598Sbill PSEUDO("jlssu",		0x1f,	IJXXX),
78*598Sbill PSEUDO("jneq",		0x12,	IJXXX),
79*598Sbill PSEUDO("jnequ",		0x12,	IJXXX),
80*598Sbill PSEUDO("jvc",		0x1c,	IJXXX),
81*598Sbill PSEUDO("jvs",		0x1d,	IJXXX),
82*598Sbill PSEUDO("jbr",		0x11,	IJXXX),
83*598Sbill PSEUDO("jbc",		0xe1,	IJXXX),
84*598Sbill PSEUDO("jbs",		0xe0,	IJXXX),
85*598Sbill PSEUDO("jbcc",		0xe5,	IJXXX),
86*598Sbill PSEUDO("jbsc",		0xe4,	IJXXX),
87*598Sbill PSEUDO("jbcs",		0xe3,	IJXXX),
88*598Sbill PSEUDO("jbss",		0xe2,	IJXXX),
89*598Sbill PSEUDO("jlbc",		0xe9,	IJXXX),
90*598Sbill PSEUDO("jlbs",		0xe8,	IJXXX),
91*598Sbill 
92*598Sbill #include "instrs"
93*598Sbill 
94*598Sbill 0
95*598Sbill };
96