|
|
1.1 ! root 1: #define MAXRAND 4 ! 2: ! 3: struct optab { ! 4: unsigned short opcode; ! 5: unsigned short mask; ! 6: unsigned short op2; ! 7: unsigned short mk2; ! 8: char *opname; ! 9: char flags; ! 10: char nrand; ! 11: short rand[MAXRAND]; ! 12: }; ! 13: ! 14: /* ! 15: * operand types ! 16: */ ! 17: ! 18: #define DSREG 00 /* special registers */ ! 19: #define DEA 01 /* E.A. to low order 6 bits */ ! 20: #define DRG 02 /* register to low order 3 bits */ ! 21: #define DRGL 03 /* register to bits 11-9 */ ! 22: #define DBR 04 /* branch offset (short) */ ! 23: #define DMQ 05 /* move-quick 8-bit value */ ! 24: #define DAQ 06 /* add-quick 3-bit value in 11-9 */ ! 25: #define DIM 07 /* Immediate value, according to size */ ! 26: #define DEAM 010 /* E.A. to bits 11-6 as in move */ ! 27: #define DBCC 011 /* branch address as in "dbcc" */ ! 28: #define DTRAP 012 /* immediate in low 4 bits */ ! 29: #define D2L 013 /* register to bits 0-2 of next word */ ! 30: #define D2H 014 /* register to bits 12-14 of next word */ ! 31: #define DBL 015 /* qty in bits 0-5 of next word */ ! 32: #define DBH 016 /* qty in bits 6-11 of next word */ ! 33: #define DCR 017 /* control reg a bit combination in 0-11 */ ! 34: #define DBKPT 020 /* immediate in low three bits */ ! 35: #define DFSRC 021 /* floating source specifier */ ! 36: #define DFDRG 022 /* floating destination register */ ! 37: #define DFSRG 023 /* floating source register */ ! 38: #define DFCR 024 /* floating point constant register */ ! 39: #define DFBR 025 /* floating branch offset */ ! 40: #define DFMRGM 026 /* FMOVE register mask */ ! 41: #define DFMCRGM 027 /* FMOVEC register mask */ ! 42: ! 43: #define DMASK 037 ! 44: ! 45: /* ! 46: * operand flags ! 47: */ ! 48: ! 49: #define ADEC 0100 /* funny auto-decrement */ ! 50: #define AINC 0200 /* funny auto-increment */ ! 51: #define AAREG 0400 /* address register */ ! 52: #define ADREG 01000 /* data register */ ! 53: #define AONE 02000 /* immediate always 1 */ ! 54: #define AWORD 04000 /* immediate always two-byte */ ! 55: ! 56: /* ! 57: * special registers ! 58: */ ! 59: ! 60: #define C 0100 /* the condition code register */ ! 61: #define SR 0200 /* the status register */ ! 62: #define U 0400 /* the user stack pointer */ ! 63: ! 64: /* ! 65: * flags ! 66: */ ! 67: ! 68: #define B 0 /* byte */ ! 69: #define W 1 /* word */ ! 70: #define L 2 /* long */ ! 71: #define D 3 /* double float */ ! 72: #define F 4 /* single float */ ! 73: #define NZ 010 /* no size */ ! 74: #define SZ 017 ! 75: ! 76: #define I2W 020 /* two word instruction code */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.