BSD 3 release
[unix-history] / usr / src / cmd / as / aspseudo.c
/* Copyright (c) 1979 Regents of the University of California */
#include <stdio.h>
#include "as.h"
#define OP(name,opcode,nargs,arg1,arg2,arg3,arg4,arg5,arg6) \
{ \
name,(nargs==0 ? INST0:INSTn), opcode,nargs, \
arg1,arg2,arg3,arg4,arg5,arg6 \
}
#define PSEUDO(name, type, tag) \
{ \
name, tag, type \
}
readonly struct instab instab[] = {
PSEUDO(".space", 0, ISPACE),
PSEUDO(".byte", 0, IBYTE),
PSEUDO(".word", 0, IWORD),
PSEUDO(".long", 0, ILONG),
PSEUDO(".int", 0, IINT),
PSEUDO(".data", 0, IDATA),
PSEUDO(".globl", 0, IGLOBAL),
PSEUDO(".set", 0, ISET),
PSEUDO(".text", 0, ITEXT),
PSEUDO(".comm", 0, ICOMM),
PSEUDO(".lcomm", 0, ILCOMM),
PSEUDO(".lsym", 0, ILSYM),
PSEUDO(".align", 0, IALIGN),
PSEUDO(".float", 0, IFLOAT),
PSEUDO(".double", 0, IDOUBLE),
PSEUDO(".org", 0, IORG),
PSEUDO(".stab", 0, ISTAB),
PSEUDO(".stabs", 0, ISTABSTR),
PSEUDO(".stabn", 0, ISTABNONE),
PSEUDO(".stabd", 0, ISTABDOT),
PSEUDO(".ascii", 0, IASCII),
PSEUDO(".asciz", 0, IASCIZ),
PSEUDO(".file", 0, IFILE),
PSEUDO(".line", 0, ILINENO),
PSEUDO(".ABORT", 0, IABORT),
PSEUDO("r0", 0, REG),
PSEUDO("r1", 1, REG),
PSEUDO("r2", 2, REG),
PSEUDO("r3", 3, REG),
PSEUDO("r4", 4, REG),
PSEUDO("r5", 5, REG),
PSEUDO("r6", 6, REG),
PSEUDO("r7", 7, REG),
PSEUDO("r8", 8, REG),
PSEUDO("r9", 9, REG),
PSEUDO("r10", 10, REG),
PSEUDO("r11", 11, REG),
PSEUDO("r12", 12, REG),
PSEUDO("r13", 13, REG),
PSEUDO("r14", 14, REG),
PSEUDO("r15", 15, REG),
PSEUDO("ap", 12, REG),
PSEUDO("fp", 13, REG),
PSEUDO("sp", 14, REG),
PSEUDO("pc", 15, REG),
PSEUDO("jcc", 0x1e, IJXXX),
PSEUDO("jcs", 0x1f, IJXXX),
PSEUDO("jeql", 0x13, IJXXX),
PSEUDO("jeqlu", 0x13, IJXXX),
PSEUDO("jgeq", 0x18, IJXXX),
PSEUDO("jgequ", 0x1e, IJXXX),
PSEUDO("jgtr", 0x14, IJXXX),
PSEUDO("jgtru", 0x1a, IJXXX),
PSEUDO("jleq", 0x15, IJXXX),
PSEUDO("jlequ", 0x1b, IJXXX),
PSEUDO("jlss", 0x19, IJXXX),
PSEUDO("jlssu", 0x1f, IJXXX),
PSEUDO("jneq", 0x12, IJXXX),
PSEUDO("jnequ", 0x12, IJXXX),
PSEUDO("jvc", 0x1c, IJXXX),
PSEUDO("jvs", 0x1d, IJXXX),
PSEUDO("jbr", 0x11, IJXXX),
PSEUDO("jbc", 0xe1, IJXXX),
PSEUDO("jbs", 0xe0, IJXXX),
PSEUDO("jbcc", 0xe5, IJXXX),
PSEUDO("jbsc", 0xe4, IJXXX),
PSEUDO("jbcs", 0xe3, IJXXX),
PSEUDO("jbss", 0xe2, IJXXX),
PSEUDO("jlbc", 0xe9, IJXXX),
PSEUDO("jlbs", 0xe8, IJXXX),
#include "instrs"
0
};