4 * (C) Copyright 1989,1990
11 * Ported from 8085 to 8051 by John Hartman 30-Apr-1995
40 #define S_INH 50 /* One byte inherent */
41 #define S_JMP11 51 /* Jump and call 11 bit. */
42 #define S_JMP16 52 /* Jump and call 16 bit */
43 #define S_ACC 53 /* Accumulator */
44 #define S_TYP1 54 /* Type 1 (inc and dec) */
45 #define S_TYP2 55 /* Type 2 (arith ops) */
46 #define S_TYP3 56 /* Type 3 (logic ops) */
47 #define S_TYP4 57 /* Type 4 (XCH) */
48 #define S_MOV 58 /* MOV */
49 #define S_BITBR 59 /* bit branch */
50 #define S_BR 60 /* branch */
51 #define S_ACBIT 61 /* CLR, CPL */
52 #define S_CJNE 62 /* CJNE */
53 #define S_DJNZ 63 /* DJNZ */
54 #define S_JMP 64 /* JMP */
55 #define S_MOVC 65 /* MOVC */
56 #define S_MOVX 66 /* MOVX */
57 #define S_AB 67 /* AB (div and mul) */
58 #define S_CPL 68 /* CPL */
59 #define S_SETB 69 /* SETB */
60 #define S_DIRECT 70 /* DIRECT (pusha and pop) */
61 #define S_XCHD 71 /* XCHD */
63 /* Addressing modes */
64 #define S_A 30 /* A */
65 /* #define S_B 31 */ /* B */
66 #define S_C 32 /* C (carry) */
67 #define S_RAB 33 /* AB */
68 #define S_DPTR 34 /* DPTR */
69 #define S_REG 35 /* Register R0-R7 */
70 #define S_IMMED 36 /* immediate */
71 #define S_DIR 37 /* direct */
72 #define S_EXT 38 /* extended */
73 #define S_PC 39 /* PC (for addressing mode) */
75 #define S_AT_R 40 /* @R0 or @R1 */
76 #define S_AT_DP 41 /* @DPTR */
77 #define S_AT_APC 42 /* @A+PC */
78 #define S_AT_ADP 43 /* @A+DPTR */
79 #define S_NOT_BIT 44 /* /BIT (/DIR) */
82 * Registers. Value == address in RAM, except for PC
94 #define PC 0xFF /* dummy number for register ID only */
95 #define AB 0xFE /* dummy number for register ID only */
96 #define C 0xFD /* dummy number for register ID only */
100 char a_str[5]; /* addressing string (length for DPTR+null)*/
101 int a_val; /* addressing mode value */
104 /* pre-defined symbol structure: name and value */
110 extern struct PreDef preDef[];
112 /* machine dependent functions */