/* * * OBJFMT -- text, information and relocation record (TIR) */ #ifndef _TIRDEF_H #define _TIRDEF_H /* define relocation commands */ #define TIR$C_STA_GBL 0 /* stack global symbol value */ #define TIR$C_STA_SB 1 /* stack signed byte */ #define TIR$C_STA_SW 2 /* stack signed word */ #define TIR$C_STA_LW 3 /* stack longword */ #define TIR$C_STA_PB 4 /* stack psect base plus byte offset */ #define TIR$C_STA_PW 5 /* stack psect base plus word offset */ #define TIR$C_STA_PL 6 /* stack psect base plus longword offset */ #define TIR$C_STA_UB 7 /* stack unsigned byte */ #define TIR$C_STA_UW 8 /* stack unsigned word */ #define TIR$C_STA_BFI 9 /* stack byte from image */ #define TIR$C_STA_WFI 10 /* stack word from image */ #define TIR$C_STA_LFI 11 /* stack longword from image */ #define TIR$C_STA_EPM 12 /* stack entry point mask */ #define TIR$C_STA_CKARG 13 /* stack result of argument checking (true or false) */ #define TIR$C_STA_WPB 14 /* stack psect base plus byte offset -- word psect number */ #define TIR$C_STA_WPW 15 /* stack psect base plus word offset -- word psect number */ #define TIR$C_STA_WPL 16 /* stack psect base plus longword offset -- word of psect number */ #define TIR$C_STA_LSY 17 /* stack local symbol value */ #define TIR$C_STA_LIT 18 /* stack literal */ #define TIR$C_STA_LEPM 19 /* stack local symbol entry point mask */ #define TIR$C_MAXSTACOD 19 /* last assigned code of stack group */ #define TIR$C_MINSTOCOD 20 /* first assigned store command code */ #define TIR$C_STO_SB 20 /* store signed byte */ #define TIR$C_STO_SW 21 /* store signed word */ #define TIR$C_STO_L 22 /* store longword */ #define TIR$C_STO_BD 23 /* store byte displaced */ #define TIR$C_STO_WD 24 /* store word displaced */ #define TIR$C_STO_LD 25 /* store longword displaced */ #define TIR$C_STO_LI 26 /* store short literal */ #define TIR$C_STO_PIDR 27 /* store pos. indep. data reference */ #define TIR$C_STO_PICR 28 /* store pos. indep. code reference */ #define TIR$C_STO_RSB 29 /* store repeated signed byte */ #define TIR$C_STO_RSW 30 /* store repeated signed word */ #define TIR$C_STO_RL 31 /* store repeated longword */ #define TIR$C_STO_VPS 32 /* store arbitrary field */ #define TIR$C_STO_USB 33 /* store unsigned byte */ #define TIR$C_STO_USW 34 /* store unsigned word */ #define TIR$C_STO_RUB 35 /* store repeated unsigned byte */ #define TIR$C_STO_RUW 36 /* store repeated unsigned word */ #define TIR$C_STO_B 37 /* store byte */ #define TIR$C_STO_W 38 /* store word */ #define TIR$C_STO_RB 39 /* store repeated byte */ #define TIR$C_STO_RW 40 /* store repeated word */ #define TIR$C_STO_RIVB 41 /* store repeated immediate variable bytes */ #define TIR$C_STO_PIRR 42 /* store pos. indep. relative reference */ #define TIR$C_MAXSTOCOD 42 /* last assigned store command code */ #define TIR$C_MINOPRCOD 50 /* first assigned operator command code */ #define TIR$C_OPR_NOP 50 /* no-op */ #define TIR$C_OPR_ADD 51 /* add */ #define TIR$C_OPR_SUB 52 /* subtract */ #define TIR$C_OPR_MUL 53 /* multiply */ #define TIR$C_OPR_DIV 54 /* divide */ #define TIR$C_OPR_AND 55 /* logical AND */ #define TIR$C_OPR_IOR 56 /* logical inclusive OR */ #define TIR$C_OPR_EOR 57 /* logical exclusive OR */ #define TIR$C_OPR_NEG 58 /* negate */ #define TIR$C_OPR_COM 59 /* complement */ #define TIR$C_OPR_INSV 60 /* insert bit field */ #define TIR$C_OPR_ASH 61 /* arithmetic shift */ #define TIR$C_OPR_USH 62 /* unsigned shift */ #define TIR$C_OPR_ROT 63 /* rotate */ #define TIR$C_OPR_SEL 64 /* select one of three longwords on top of stack */ #define TIR$C_OPR_REDEF 65 /* redefine this symbol after pass 2 */ #define TIR$C_OPR_DFLIT 66 /* define a literal */ #define TIR$C_MAXOPRCOD 66 /* last assigned operator command code */ #define TIR$C_MINCTLCOD 80 /* first assigned control command code */ #define TIR$C_CTL_SETRB 80 /* set relocation base */ #define TIR$C_CTL_AUGRB 81 /* augment relocation base */ #define TIR$C_CTL_DFLOC 82 /* define debug location */ #define TIR$C_CTL_STLOC 83 /* set debug location */ #define TIR$C_CTL_STKDL 84 /* stack debug location */ #define TIR$C_MAXCTLCOD 84 /* last assigned control command code */ union tirdef { unsigned char tir$b_rectyp; /* record type (OBJ$C_TIR) */ char tir$t_start[1]; }; #endif /*_TIRDEF_H*/