1 /* 2 HEADER: ; 3 TITLE: Frankenstein Cross Assemblers; 4 VERSION: 2.0; 5 DESCRIPTION: " Reconfigurable Cross-assembler producing Intel (TM) 6 Hex format object records. 7 8 constants used in intermediate file code generation 9 as the expression node operation value and the polish 10 expression operation "; 11 FILENAME: fragcon.h; 12 SEE-ALSO: frapsub.c, fraosub.c, as*.y; 13 AUTHORS: Mark Zenier; 14 */ 15 16 /* note: 0..9 a..f A..F are taken for hex constants */ 17 18 #define IG_START '[' 19 #define IG_END ']' 20 #define IG_CPCON '#' 21 #define IG_CPEXPR '=' 22 #define IG_ERROR 'X' 23 24 #define IGP_DEFINED 'U' 25 #define IGP_CONSTANT 'V' 26 27 #define IFC_NEG '_' 28 #define IFC_NOT 'N' 29 #define IFC_HIGH 'H' 30 #define IFC_LOW 'Z' 31 #define IFC_MUL '*' 32 #define IFC_DIV '/' 33 #define IFC_ADD '+' 34 #define IFC_SUB '-' 35 #define IFC_MOD '%' 36 #define IFC_SHL '{' 37 #define IFC_SHR '}' 38 #define IFC_SHRU '\\' 39 #define IFC_AND '&' 40 #define IFC_OR '|' 41 #define IFC_XOR '^' 42 #define IFC_GT '>' 43 #define IFC_GE 'G' 44 #define IFC_LT '<' 45 #define IFC_LE 'L' 46 #define IFC_NE '?' 47 #define IFC_EQ '=' 48 #define IFC_SYMB 'S' 49 #define IFC_PROGCTR 'P' 50 #define IFC_CURRLOC 'Q' 51 #define IFC_LOAD '.' 52 #define IFC_CLR '$' 53 #define IFC_CLRALL 'X' 54 #define IFC_POP '!' 55 #define IFC_DUP '~' 56 #define IFC_EMU8 ';' 57 #define IFC_EMS7 'r' 58 #define IFC_EM16 'x' 59 #define IFC_EMBR16 'y' 60 #define IFC_WIDTH 'W' 61 #define IFC_SWIDTH 'R' 62 #define IFC_IWIDTH 'I' 63 #define IFC_TESTERR 'T' 64 #define IFC_CLASSIFY 'z' 65 #define IFC_ROTL16 'g' 66 #define IFC_ROTL32 'h' 67 #define IFC_ROTR16 'i' 68 #define IFC_ROTR32 'j' 69 70 #define PCCASE_BIN 1 71 #define PCCASE_UN 2 72 #define PCCASE_DEF 3 73 #define PCCASE_SYMB 4 74 #define PCCASE_CONS 5 75 #define PCCASE_PROGC 6 76 #define PCCASE_CLASSSYM 7 77