|
|
1.1 ! root 1: #ifndef lint ! 2: static char sccsid[] = "@(#)c23.c 1.3 (Berkeley/CCI) 8/14/86"; ! 3: #endif ! 4: ! 5: #include "c2.h" ! 6: #define readonly ! 7: ! 8: readonly char revbr[] = { ! 9: JNE, JEQ, JGT, JLT, JGE, JLE, ! 10: JNE, JEQ, JHI, JLO, JHIS, JLOS, ! 11: JBS, JBC, }; ! 12: ! 13: /* cursed be the preprocessor, whose impotence and stupidity ! 14: /* prevented this table being macro-generated from ../as/instrs ! 15: */ ! 16: ! 17: readonly struct optab optab[] = { ! 18: "jbr",JBR,0, ! 19: "jeql",CBR,JEQ, ! 20: "jneq",CBR,JNE, ! 21: "jleq",CBR,JLE, ! 22: "jgeq",CBR,JGE, ! 23: "jlss",CBR,JLT, ! 24: "jgtr",CBR,JGT, ! 25: "jbc",CBR,JBC, ! 26: "jbs",CBR,JBS, ! 27: "jlequ",CBR,JLOS, ! 28: "jgequ",CBR,JHIS, ! 29: "jlssu",CBR,JLO, ! 30: "jgtru",CBR,JHI, ! 31: "adda",ADDA,LONG, ! 32: "addb2",ADD,U(BYTE,OP2), ! 33: "addb3",ADD,U(BYTE,OP3), ! 34: "addl2",ADD,U(LONG,OP2), ! 35: "addl3",ADD,U(LONG,OP3), ! 36: "addw2",ADD,U(WORD,OP2), ! 37: "addw3",ADD,U(WORD,OP3), ! 38: "aobleq",AOBLEQ,0, ! 39: "aoblss",AOBLSS,0, ! 40: "shal",SHAL,LONG, ! 41: "shar",SHAR,LONG, ! 42: "shll",SHL,LONG, ! 43: "shrl",SHR,LONG, ! 44: "shlq",SHL,QUAD, ! 45: "shrq",SHR,QUAD, ! 46: "bbc",CBR,JBC, ! 47: "bbs",CBR,JBS, ! 48: "bcc",CBR,JHIS, ! 49: "bcs",CBR,JLO, ! 50: "beql",CBR,JEQ, ! 51: "beqlu",CBR,JEQ, ! 52: "bgeq",CBR,JGE, ! 53: "bgequ",CBR,JHIS, ! 54: "bgtr",CBR,JGT, ! 55: "bgtru",CBR,JHI, ! 56: "andb2",AND,U(BYTE,OP2), ! 57: "andb3",AND,U(BYTE,OP3), ! 58: "andl2",AND,U(LONG,OP2), ! 59: "andl3",AND,U(LONG,OP3), ! 60: "andw2",AND,U(WORD,OP2), ! 61: "andw3",AND,U(WORD,OP3), ! 62: "orb2",OR,U(BYTE,OP2), ! 63: "orb3",OR,U(BYTE,OP3), ! 64: "orl2",OR,U(LONG,OP2), ! 65: "orl3",OR,U(LONG,OP3), ! 66: "orw2",OR,U(WORD,OP2), ! 67: "orw3",OR,U(WORD,OP3), ! 68: "bitb",BIT,BYTE, ! 69: "bitl",BIT,LONG, ! 70: "bitw",BIT,WORD, ! 71: "bleq",CBR,JLE, ! 72: "blequ",CBR,JLOS, ! 73: "blss",CBR,JLT, ! 74: "blssu",CBR,JLO, ! 75: "bneq",CBR,JNE, ! 76: "bnequ",CBR,JNE, ! 77: "brb",JBR,0, ! 78: "brw",JBR,0, ! 79: "bvc",CBR,0, ! 80: "bvs",CBR,0, ! 81: "callf",CALLF,0, ! 82: "calls",CALLS,0, ! 83: "casel",CASE,LONG, ! 84: "clrb",CLR,BYTE, ! 85: "clrl",CLR,LONG, ! 86: "clrw",CLR,WORD, ! 87: "cmpb",CMP,BYTE, ! 88: "cmpl",CMP,LONG, ! 89: "cmpw",CMP,WORD, ! 90: "cvtbl",CVT,U(BYTE,LONG), ! 91: "cvtbw",CVT,U(BYTE,WORD), ! 92: "cvtlb",CVT,U(LONG,BYTE), ! 93: "cvtlw",CVT,U(LONG,WORD), ! 94: "cvtwb",CVT,U(WORD,BYTE), ! 95: "cvtwl",CVT,U(WORD,LONG), ! 96: "decb",DEC,BYTE, ! 97: "decl",DEC,LONG, ! 98: "decw",DEC,WORD, ! 99: "divl2",DIV,U(LONG,OP2), ! 100: "divl3",DIV,U(LONG,OP3), ! 101: "ediv",EDIV,LONG, ! 102: #ifdef EMOD ! 103: "emod",EMOD,LONG, ! 104: #endif EMOD ! 105: "emul",EMUL,LONG, ! 106: "incb",INC,BYTE, ! 107: "incl",INC,LONG, ! 108: "incw",INC,WORD, ! 109: "jmp",JMP,0, ! 110: "mcomb",COM,BYTE, ! 111: "mcoml",COM,LONG, ! 112: "mcomw",COM,WORD, ! 113: "mnegb",NEG,BYTE, ! 114: "mnegl",NEG,LONG, ! 115: "mnegw",NEG,WORD, ! 116: "movab",MOVA,BYTE, ! 117: "moval",MOVA,LONG, ! 118: "movaw",MOVA,WORD, ! 119: "movb",MOV,BYTE, ! 120: "movl",MOV,LONG, ! 121: "movw",MOV,WORD, ! 122: "movzbl",MOVZ,U(BYTE,LONG), ! 123: "movzbw",MOVZ,U(BYTE,WORD), ! 124: "movzwl",MOVZ,U(WORD,LONG), ! 125: "mull2",MUL,U(LONG,OP2), ! 126: "mull3",MUL,U(LONG,OP3), ! 127: "pushab",PUSHA,BYTE, ! 128: "pushal",PUSHA,LONG, ! 129: "pushaw",PUSHA,WORD, ! 130: "pushb",PUSH,BYTE, ! 131: "pushl",PUSH,LONG, ! 132: "pushw",PUSH,WORD, ! 133: "ret",JBR,U(RET,2), ! 134: "ret#0",JBR,RET, ! 135: "ret#1",JBR,U(RET,1), ! 136: "ret#2",JBR,U(RET,2), ! 137: "suba",SUBA,LONG, ! 138: "subb2",SUB,U(BYTE,OP2), ! 139: "subb3",SUB,U(BYTE,OP3), ! 140: "subl2",SUB,U(LONG,OP2), ! 141: "subl3",SUB,U(LONG,OP3), ! 142: "subw2",SUB,U(WORD,OP2), ! 143: "subw3",SUB,U(WORD,OP3), ! 144: "tstb",TST,BYTE, ! 145: "tstl",TST,LONG, ! 146: "tstw",TST,WORD, ! 147: "xorb2",XOR,U(BYTE,OP2), ! 148: "xorb3",XOR,U(BYTE,OP3), ! 149: "xorl2",XOR,U(LONG,OP2), ! 150: "xorl3",XOR,U(LONG,OP3), ! 151: "xorw2",XOR,U(WORD,OP2), ! 152: "xorw3",XOR,U(WORD,OP3), ! 153: "movblk",MOVBLK,0, ! 154: "ldf",LDF,FLOAT, ! 155: "ldd",LDF,DOUBLE, ! 156: "lnf",LNF,FLOAT, ! 157: "lnd",LNF,DOUBLE, ! 158: "stf",STF,FLOAT, ! 159: "std",STF,DOUBLE, ! 160: "cmpf",CMPF,FLOAT, ! 161: "cmpd",CMPF,DOUBLE, ! 162: "cmpf2",CMPF2,FLOAT, ! 163: "cmpd2",CMPF2,DOUBLE, ! 164: "tstf",TSTF,FLOAT, ! 165: "tstd",TSTF,DOUBLE, ! 166: "pushd",PUSHD,DOUBLE, ! 167: "cvlf",CVLF,U(LONG,FLOAT), ! 168: "cvld",CVLF,U(LONG,DOUBLE), ! 169: "cvfl",CVFL,U(FLOAT,LONG), ! 170: "cvdl",CVFL,U(DOUBLE,LONG), ! 171: "ldfd",LDFD,U(FLOAT,DOUBLE), ! 172: "cvdf",CVDF,U(DOUBLE,FLOAT), ! 173: "negf",NEGF,FLOAT, ! 174: "negd",NEGF,DOUBLE, ! 175: "addf",ADDF,FLOAT, ! 176: "addd",ADDF,DOUBLE, ! 177: "subf",SUBF,FLOAT, ! 178: "subd",SUBF,DOUBLE, ! 179: "mulf",MULF,FLOAT, ! 180: "muld",MULF,DOUBLE, ! 181: "divf",DIVF,FLOAT, ! 182: "divd",DIVF,DOUBLE, ! 183: "sinf",SINF,FLOAT, ! 184: "cosf",COSF,FLOAT, ! 185: "atanf",ATANF,FLOAT, ! 186: "logf",LOGF,FLOAT, ! 187: "sqrtf",SQRTF,FLOAT, ! 188: "expf",EXPF,FLOAT, ! 189: ".globl",EROU,0, ! 190: ".text",TEXT,0, ! 191: ".data",DATA,0, ! 192: ".bss",BSS,0, ! 193: ".align",ALIGN,0, ! 194: ".word",WGEN,0, ! 195: ".long",LGEN,0, ! 196: ".set",SET,0, ! 197: ".lcomm",LCOMM,0, ! 198: ".comm",COMM,0, ! 199: ".end",END,0, ! 200: "mfpr",MFPR,LONG, ! 201: "mtpr",MTPR,LONG, ! 202: "probe",PROBE,BYTE, ! 203: "adwc",NIL,0, ! 204: "movob",MOVO,BYTE, ! 205: "movow",MOVO,WORD, ! 206: "bbssi",NIL,0, ! 207: "bicpsw",NIL,0, ! 208: "bispsw",NIL,0, ! 209: "bpt",NIL,0, ! 210: "btcs",NIL,0, ! 211: "cmps2",NIL,0, ! 212: "cmps3",NIL,0, ! 213: "emul",NIL,0, ! 214: "ffc",NIL,0, ! 215: "ffs",NIL,0, ! 216: "halt",NIL,0, ! 217: "insque",NIL,0, ! 218: "kcall",NIL,0, ! 219: "ldpctx",NIL,0, ! 220: "loadr",NIL,0, ! 221: "movpsl",NIL,0, ! 222: "movs2",NIL,0, ! 223: "movs3",NIL,0, ! 224: "nop",NIL,0, ! 225: "rei",NIL,0, ! 226: "remque",NIL,0, ! 227: "sbwc",NIL,0, ! 228: "storer",NIL,0, ! 229: "svpctx",NIL,0, ! 230: "sinf",NIL,0, ! 231: "cosf",NIL,0, ! 232: "atanf",NIL,0, ! 233: "logf",NIL,0, ! 234: "sqrtf",NIL,0, ! 235: "expf",NIL,0, ! 236: {0}};
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.