|
|
1.1 root 1: #define K 1 /* kills all condition codes */
2: #define JUMP 2 /* ends a basic block */
3: #define BYTE 4 /* target is byte offset */
4: #define C 8 /* kills all condition codes but for C bit*/
5: /* if((p->type & EXPAND) && p->iname[0] == 'b') replace first char with j */
6: /* aob and sob get replaced by two instructions */
7:
8: struct inst {
9: char *iname;
10: short type;
11: } insts[] = {
12: { "abcd", K},
13: { "add", K},
14: { "addx", K},
15: { "and", K},
16: { "asl", K},
17: { "asr", K},
18: { "bcc", 0},
19: { "bchg", 0},
20: { "bclr", 0},
21: { "bcs", 0},
22: { "beq", 0},
23: { "bge", 0},
24: { "bgt", 0},
25: { "bhi", 0},
26: { "bhs", 0},
27: { "ble", 0},
28: { "blo", 0},
29: { "bls", 0},
30: { "blt", 0},
31: { "bmi", 0},
32: { "bne", 0},
33: { "bpl", 0},
34: { "br", 0},
35: { "bra", 0},
36: { "bset", 0},
37: { "bsr", 0},
38: { "btst", 0},
39: { "bvc", 0},
40: { "bvs", 0},
41: { "chk", K},
42: { "clr", K},
43: { "cmp", K},
44: { "dbcc", 0},
45: { "dbcs", 0},
46: { "dbeq", 0},
47: { "dbge", 0},
48: { "dbgt", 0},
49: { "dbhi", 0},
50: { "dbhs", 0},
51: { "dble", 0},
52: { "dblo", 0},
53: { "dbls", 0},
54: { "dblt", 0},
55: { "dbmi", 0},
56: { "dbne", 0},
57: { "dbpl", 0},
58: { "dbr", 0},
59: { "dbra", 0},
60: { "dbvc", 0},
61: { "dbvs", 0},
62: { "divs", K},
63: { "divu", K},
64: { "eor", K},
65: { "exg", 0},
66: { "ext", K},
67: { "jmp", 0},
68: { "jsr", 0},
69: { "lea", 0},
70: { "link", 0},
71: { "lsl", K},
72: { "lsr", K},
73: { "mov", K},
74: { "movea", 0},
75: { "movm", 0},
76: { "muls", K},
77: { "mulu", K},
78: { "nbcd", K},
79: { "neg", K},
80: { "negx", K},
81: { "nop", 0},
82: { "not", K},
83: { "or", K},
84: { "pea", 0},
85: { "reset", 0},
86: { "rol", K},
87: { "ror", K},
88: { "roxl", K},
89: { "roxr", K},
90: { "rte", K},
91: { "rtr", K},
92: { "rts", 0},
93: { "sbcd", K},
94: { "scc", 0},
95: { "scs", 0},
96: { "seq", 0},
97: { "sf", 0},
98: { "sge", 0},
99: { "sgt", 0},
100: { "shi", 0},
101: { "shs", 0},
102: { "sle", 0},
103: { "slo", 0},
104: { "sls", 0},
105: { "slt", 0},
106: { "smi", 0},
107: { "sne", 0},
108: { "spl", 0},
109: { "st", 0},
110: { "stop", K},
111: { "sub", K},
112: { "suba", 0},
113: { "subx", K},
114: { "svc", 0},
115: { "svs", 0},
116: { "swap", K},
117: { "tas", K},
118: { "trap", 0},
119: { "trapv", 0},
120: { "tst", K},
121: { "unlk", 0},
122: { 0, 0},
123: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.