/* Copyright (c) 1980 Regents of the University of California */ static char sccsid[] = "@(#)aspseudo.c 4.3 8/16/80"; #include <stdio.h> #include "as.h" #define OP(name, opcode, nargs, arg1, arg2, arg3, arg4, arg5, arg6) \ { \ name, opcode, nargs, arg1, arg2, arg3, arg4, arg5, arg6, \ (nargs == 0 ? INST0:INSTn) \ } #define PSEUDO(name, type, tag) \ { \ name, type, 0, 0, 0, 0, 0, 0, 0, \ tag \ } readonly struct Instab instab[] = { PSEUDO(".space", 0, ISPACE), PSEUDO(".fill", 0, IFILL), PSEUDO(".byte", 0, IBYTE), PSEUDO(".word", 0, IWORD), PSEUDO(".long", 0, ILONG), PSEUDO(".int", 0, IINT), PSEUDO(".quad", 0, IQUAD), 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 };