|
|
1.1 ! root 1: #include "c2.h" ! 2: #define readonly ! 3: ! 4: readonly char revbr[] = { ! 5: JNE, JEQ, JGT, JLT, JGE, JLE, ! 6: JNE, JEQ, JHI, JLO, JHIS, JLOS, ! 7: JBS, JBC, }; ! 8: ! 9: /* cursed be the preprocessor, whose impotence and stupidity ! 10: /* prevented this table being macro-generated from ../as/instrs ! 11: */ ! 12: ! 13: readonly struct optab optab[] = { ! 14: "jbr",JBR,0, ! 15: "jeql",CBR,JEQ, ! 16: "jneq",CBR,JNE, ! 17: "jleq",CBR,JLE, ! 18: "jgeq",CBR,JGE, ! 19: "jlss",CBR,JLT, ! 20: "jgtr",CBR,JGT, ! 21: "jbc",CBR,JBC, ! 22: "jbs",CBR,JBS, ! 23: "jlequ",CBR,JLOS, ! 24: "jgequ",CBR,JHIS, ! 25: "jlssu",CBR,JLO, ! 26: "jgtru",CBR,JHI, ! 27: "adda",ADDA,LONG, ! 28: "addb2",ADD,U(BYTE,OP2), ! 29: "addb3",ADD,U(BYTE,OP3), ! 30: "addl2",ADD,U(LONG,OP2), ! 31: "addl3",ADD,U(LONG,OP3), ! 32: "addw2",ADD,U(WORD,OP2), ! 33: "addw3",ADD,U(WORD,OP3), ! 34: "aobleq",AOBLEQ,0, ! 35: "aoblss",AOBLSS,0, ! 36: "shal",SHAL,LONG, ! 37: "shar",SHAR,LONG, ! 38: "shll",SHL,LONG, ! 39: "shrl",SHR,LONG, ! 40: "shlq",SHL,QUAD, ! 41: "shrq",SHR,QUAD, ! 42: "bbc",CBR,JBC, ! 43: "bbs",CBR,JBS, ! 44: "bcc",CBR,JHIS, ! 45: "bcs",CBR,JLO, ! 46: "beql",CBR,JEQ, ! 47: "beqlu",CBR,JEQ, ! 48: "bgeq",CBR,JGE, ! 49: "bgequ",CBR,JHIS, ! 50: "bgtr",CBR,JGT, ! 51: "bgtru",CBR,JHI, ! 52: "andb2",AND,U(BYTE,OP2), ! 53: "andb3",AND,U(BYTE,OP3), ! 54: "andl2",AND,U(LONG,OP2), ! 55: "andl3",AND,U(LONG,OP3), ! 56: "andw2",AND,U(WORD,OP2), ! 57: "andw3",AND,U(WORD,OP3), ! 58: "orb2",OR,U(BYTE,OP2), ! 59: "orb3",OR,U(BYTE,OP3), ! 60: "orl2",OR,U(LONG,OP2), ! 61: "orl3",OR,U(LONG,OP3), ! 62: "orw2",OR,U(WORD,OP2), ! 63: "orw3",OR,U(WORD,OP3), ! 64: "bitb",BIT,BYTE, ! 65: "bitl",BIT,LONG, ! 66: "bitw",BIT,WORD, ! 67: "bleq",CBR,JLE, ! 68: "blequ",CBR,JLOS, ! 69: "blss",CBR,JLT, ! 70: "blssu",CBR,JLO, ! 71: "bneq",CBR,JNE, ! 72: "bnequ",CBR,JNE, ! 73: "brb",JBR,0, ! 74: "brw",JBR,0, ! 75: "bvc",CBR,0, ! 76: "bvs",CBR,0, ! 77: "callf",CALLF,0, ! 78: "calls",CALLS,0, ! 79: "casel",CASE,LONG, ! 80: "clrb",CLR,BYTE, ! 81: "clrl",CLR,LONG, ! 82: "clrw",CLR,WORD, ! 83: "cmpb",CMP,BYTE, ! 84: "cmpl",CMP,LONG, ! 85: "cmpw",CMP,WORD, ! 86: "cvtbl",CVT,U(BYTE,LONG), ! 87: "cvtbw",CVT,U(BYTE,WORD), ! 88: "cvtlb",CVT,U(LONG,BYTE), ! 89: "cvtlw",CVT,U(LONG,WORD), ! 90: "cvtwb",CVT,U(WORD,BYTE), ! 91: "cvtwl",CVT,U(WORD,LONG), ! 92: "decb",DEC,BYTE, ! 93: "decl",DEC,LONG, ! 94: "decw",DEC,WORD, ! 95: "divl2",DIV,U(LONG,OP2), ! 96: "divl3",DIV,U(LONG,OP3), ! 97: "ediv",EDIV,LONG, ! 98: "incb",INC,BYTE, ! 99: "incl",INC,LONG, ! 100: "incw",INC,WORD, ! 101: "jmp",JMP,0, ! 102: "mcomb",COM,BYTE, ! 103: "mcoml",COM,LONG, ! 104: "mcomw",COM,WORD, ! 105: "mnegb",NEG,BYTE, ! 106: "mnegl",NEG,LONG, ! 107: "mnegw",NEG,WORD, ! 108: "movab",MOVA,BYTE, ! 109: "moval",MOVA,LONG, ! 110: "movaw",MOVA,WORD, ! 111: "movb",MOV,BYTE, ! 112: "movl",MOV,LONG, ! 113: "movw",MOV,WORD, ! 114: "movzbl",MOVZ,U(BYTE,LONG), ! 115: "movzbw",MOVZ,U(BYTE,WORD), ! 116: "movzwl",MOVZ,U(WORD,LONG), ! 117: "mull2",MUL,U(LONG,OP2), ! 118: "mull3",MUL,U(LONG,OP3), ! 119: "pushab",PUSHA,BYTE, ! 120: "pushal",PUSHA,LONG, ! 121: "pushaw",PUSHA,WORD, ! 122: "pushb",PUSH,BYTE, ! 123: "pushl",PUSH,LONG, ! 124: "pushw",PUSH,WORD, ! 125: "ret",JBR,RET, ! 126: "suba",SUBA,LONG, ! 127: "subb2",SUB,U(BYTE,OP2), ! 128: "subb3",SUB,U(BYTE,OP3), ! 129: "subl2",SUB,U(LONG,OP2), ! 130: "subl3",SUB,U(LONG,OP3), ! 131: "subw2",SUB,U(WORD,OP2), ! 132: "subw3",SUB,U(WORD,OP3), ! 133: "tstb",TST,BYTE, ! 134: "tstl",TST,LONG, ! 135: "tstw",TST,WORD, ! 136: "xorb2",XOR,U(BYTE,OP2), ! 137: "xorb3",XOR,U(BYTE,OP3), ! 138: "xorl2",XOR,U(LONG,OP2), ! 139: "xorl3",XOR,U(LONG,OP3), ! 140: "xorw2",XOR,U(WORD,OP2), ! 141: "xorw3",XOR,U(WORD,OP3), ! 142: "movblk",MOVBLK,0, ! 143: ".globl",EROU,0, ! 144: ".text",TEXT,0, ! 145: ".data",DATA,0, ! 146: ".bss",BSS,0, ! 147: ".align",ALIGN,0, ! 148: ".word",WGEN,0, ! 149: ".long",LGEN,0, ! 150: ".set",SET,0, ! 151: ".lcomm",LCOMM,0, ! 152: ".comm",COMM,0, ! 153: ".end",END,0, ! 154: "mfpr",MFPR,LONG, ! 155: "mtpr",MTPR,LONG, ! 156: "probe",PROBE,BYTE, ! 157: "adwc",0,0, ! 158: "movob",MOVO,BYTE, ! 159: "movow",MOVO,WORD, ! 160: "bbssi",0,0, ! 161: "bicpsw",0,0, ! 162: "bispsw",0,0, ! 163: "bpt",0,0, ! 164: "btcs",0,0, ! 165: "cmps2",0,0, ! 166: "cmps3",0,0, ! 167: "emul",0,0, ! 168: "ffc",0,0, ! 169: "ffs",0,0, ! 170: "halt",0,0, ! 171: "insque",0,0, ! 172: "kcall",0,0, ! 173: "ldpctx",0,0, ! 174: "loadr",0,0, ! 175: "movpsl",0,0, ! 176: "movs2",0,0, ! 177: "movs3",0,0, ! 178: "nop",0,0, ! 179: "rei",0,0, ! 180: "remque",0,0, ! 181: "sbwc",0,0, ! 182: "storer",0,0, ! 183: "svpctx",0,0, ! 184: 0,0,0};
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.