xref: /csrg-svn/old/as.vax/aspseudo.c (revision 633)
1598Sbill /* Copyright (c) 1980 Regents of the University of California */
2*633Shenry static	char sccsid[] = "@(#)aspseudo.c 4.2 08/15/80";
3598Sbill #include <stdio.h>
4598Sbill #include "as.h"
5598Sbill 
6*633Shenry #define	OP(name, opcode, nargs, arg1, arg2, arg3, arg4, arg5, arg6) \
7598Sbill 	{ \
8*633Shenry 		name, opcode, nargs, arg1, arg2, arg3, arg4, arg5, arg6, \
9*633Shenry 		(nargs == 0 ? INST0:INSTn) \
10598Sbill 	}
11*633Shenry #define	PSEUDO(name, type, tag) \
12598Sbill 	{ \
13*633Shenry 		name, type, 0,   0, 0, 0, 0, 0, 0, \
14*633Shenry 		tag \
15598Sbill 	}
16598Sbill 
17*633Shenry readonly struct Instab instab[] = {
18598Sbill PSEUDO(".space",	0,	ISPACE),
19598Sbill PSEUDO(".fill",		0,	IFILL),
20598Sbill PSEUDO(".byte",		0,	IBYTE),
21598Sbill PSEUDO(".word",		0,	IWORD),
22598Sbill PSEUDO(".long",		0,	ILONG),
23598Sbill PSEUDO(".int",		0,	IINT),
24598Sbill PSEUDO(".data",		0,	IDATA),
25598Sbill PSEUDO(".globl",	0,	IGLOBAL),
26598Sbill PSEUDO(".set",		0,	ISET),
27598Sbill PSEUDO(".text",		0,	ITEXT),
28598Sbill PSEUDO(".comm",		0,	ICOMM),
29598Sbill PSEUDO(".lcomm",	0,	ILCOMM),
30598Sbill PSEUDO(".lsym",		0,	ILSYM),
31598Sbill PSEUDO(".align",	0,	IALIGN),
32598Sbill PSEUDO(".float",	0,	IFLOAT),
33598Sbill PSEUDO(".double",	0,	IDOUBLE),
34598Sbill PSEUDO(".org",		0,	IORG),
35598Sbill PSEUDO(".stab",		0,	ISTAB),
36598Sbill PSEUDO(".stabs",	0,	ISTABSTR),
37598Sbill PSEUDO(".stabn",	0,	ISTABNONE),
38598Sbill PSEUDO(".stabd",	0,	ISTABDOT),
39598Sbill PSEUDO(".ascii",	0,	IASCII),
40598Sbill PSEUDO(".asciz",	0,	IASCIZ),
41598Sbill PSEUDO(".file",		0,	IFILE),
42598Sbill PSEUDO(".line",		0,	ILINENO),
43598Sbill PSEUDO(".ABORT",	0,	IABORT),
44598Sbill 
45598Sbill PSEUDO("r0",		0,	REG),
46598Sbill PSEUDO("r1",		1,	REG),
47598Sbill PSEUDO("r2",		2,	REG),
48598Sbill PSEUDO("r3",		3,	REG),
49598Sbill PSEUDO("r4",		4,	REG),
50598Sbill PSEUDO("r5",		5,	REG),
51598Sbill PSEUDO("r6",		6,	REG),
52598Sbill PSEUDO("r7",		7,	REG),
53598Sbill PSEUDO("r8",		8,	REG),
54598Sbill PSEUDO("r9",		9,	REG),
55598Sbill PSEUDO("r10",		10,	REG),
56598Sbill PSEUDO("r11",		11,	REG),
57598Sbill PSEUDO("r12",		12,	REG),
58598Sbill PSEUDO("r13",		13,	REG),
59598Sbill PSEUDO("r14",		14,	REG),
60598Sbill PSEUDO("r15",		15,	REG),
61598Sbill PSEUDO("ap",		12,	REG),
62598Sbill PSEUDO("fp",		13,	REG),
63598Sbill PSEUDO("sp",		14,	REG),
64598Sbill PSEUDO("pc",		15,	REG),
65598Sbill 
66598Sbill PSEUDO("jcc",		0x1e,	IJXXX),
67598Sbill PSEUDO("jcs",		0x1f,	IJXXX),
68598Sbill PSEUDO("jeql",		0x13,	IJXXX),
69598Sbill PSEUDO("jeqlu",		0x13,	IJXXX),
70598Sbill PSEUDO("jgeq",		0x18,	IJXXX),
71598Sbill PSEUDO("jgequ",		0x1e,	IJXXX),
72598Sbill PSEUDO("jgtr",		0x14,	IJXXX),
73598Sbill PSEUDO("jgtru",		0x1a,	IJXXX),
74598Sbill PSEUDO("jleq",		0x15,	IJXXX),
75598Sbill PSEUDO("jlequ",		0x1b,	IJXXX),
76598Sbill PSEUDO("jlss",		0x19,	IJXXX),
77598Sbill PSEUDO("jlssu",		0x1f,	IJXXX),
78598Sbill PSEUDO("jneq",		0x12,	IJXXX),
79598Sbill PSEUDO("jnequ",		0x12,	IJXXX),
80598Sbill PSEUDO("jvc",		0x1c,	IJXXX),
81598Sbill PSEUDO("jvs",		0x1d,	IJXXX),
82598Sbill PSEUDO("jbr",		0x11,	IJXXX),
83598Sbill PSEUDO("jbc",		0xe1,	IJXXX),
84598Sbill PSEUDO("jbs",		0xe0,	IJXXX),
85598Sbill PSEUDO("jbcc",		0xe5,	IJXXX),
86598Sbill PSEUDO("jbsc",		0xe4,	IJXXX),
87598Sbill PSEUDO("jbcs",		0xe3,	IJXXX),
88598Sbill PSEUDO("jbss",		0xe2,	IJXXX),
89598Sbill PSEUDO("jlbc",		0xe9,	IJXXX),
90598Sbill PSEUDO("jlbs",		0xe8,	IJXXX),
91598Sbill 
92598Sbill #include "instrs"
93598Sbill 
94598Sbill 0
95598Sbill };
96