1 /* 2 * operand.h -- definitions useful to VAX operand decoding 3 * @(#)operand.h 1.1 4 */ 5 6 #define opmode(op) (op & 0xf0) 7 #define opregn(op) (op & 0xf) 8 9 /* 10 * operand modes 11 */ 12 #define LITERAL0 0x00 13 #define LITERAL1 0x10 14 #define LITERAL2 0x20 15 #define LITERAL3 0x30 16 #define INDEXED 0x40 17 #define REGISTER 0x50 18 #define REGDEFERED 0x60 19 #define AUTODEC 0x70 20 #define AUTOINC 0x80 21 #define AUTOINCDEF 0x90 22 #define BYTEDISP 0xa0 23 #define BYTEDISPDEF 0xb0 24 #define WORDDISP 0xc0 25 #define WORDDISPDEF 0xd0 26 #define LONGDISP 0xe0 27 #define LONGDISPDEF 0xf0 28 /* 29 * Modes where R is PC 30 */ 31 #define IMMEDIATE 0x8f 32 #define ABSOLUTE 0x9f 33 #define BYTEREL 0xaf 34 #define BYTERELDEF 0xbf 35 #define WORDREL 0xcf 36 #define WORDRELDEF 0xdf 37 #define LONGREL 0xef 38 #define LONGRELDEF 0xff 39 40 /* 41 * register definitions 42 */ 43 #define R0 0 44 #define R1 1 45 #define R2 2 46 #define R3 3 47 #define R4 4 48 #define R5 5 49 #define R6 6 50 #define R7 7 51 #define R8 8 52 #define R9 9 53 #define R10 10 54 #define R11 11 55 #define AP 12 56 #define FP 13 57 #define SP 14 58 #define PC 15 59