1 /*** t11: Portable DEC T-11 emulator ******************************************
2 
3 	Copyright (C) Aaron Giles 1998
4 
5     Actual opcode implementation.  Excuse the excessive use of macros, it
6     was the only way I could bear to type all this in!
7 
8 *****************************************************************************/
9 
10 
11 /* given a register index 'r', this computes the effective address for a byte-sized operation
12    and puts the result in 'ea' */
13 #define MAKE_EAB_RGD(r) ea = REGD(r)
14 #define MAKE_EAB_IN(r)  ea = REGD(r); REGW(r) += ((r) < 6 ? 1 : 2)
15 #define MAKE_EAB_INS(r) ea = REGD(r); REGW(r) += ((r) < 6 ? 1 : 2)
16 #define MAKE_EAB_IND(r) ea = REGD(r); REGW(r) += 2; ea = RWORD(ea)
17 #define MAKE_EAB_DE(r)  REGW(r) -= ((r) < 6 ? 1 : 2); ea = REGD(r)
18 #define MAKE_EAB_DED(r) REGW(r) -= 2; ea = REGD(r); ea = RWORD(ea)
19 #define MAKE_EAB_IX(r)  ea = ROPCODE(); ea = (ea + REGD(r)) & 0xffff
20 #define MAKE_EAB_IXD(r) ea = ROPCODE(); ea = (ea + REGD(r)) & 0xffff; ea = RWORD(ea)
21 
22 /* given a register index 'r', this computes the effective address for a word-sized operation
23    and puts the result in 'ea' */
24 /* note that word accesses ignore the low bit!! this fixes APB! */
25 #define MAKE_EAW_RGD(r) MAKE_EAB_RGD(r)
26 #define MAKE_EAW_IN(r)  ea = REGD(r); REGW(r) += 2
27 #define MAKE_EAW_IND(r) MAKE_EAB_IND(r)
28 #define MAKE_EAW_DE(r)  REGW(r) -= 2; ea = REGD(r)
29 #define MAKE_EAW_DED(r) MAKE_EAB_DED(r)
30 #define MAKE_EAW_IX(r)  MAKE_EAB_IX(r)
31 #define MAKE_EAW_IXD(r) MAKE_EAB_IXD(r)
32 
33 /* extracts the source/destination register index from the opcode into 'sreg' or 'dreg' */
34 #define GET_SREG sreg = (t11.op >> 6) & 7
35 #define GET_DREG dreg = t11.op & 7
36 
37 /* for a byte-sized source operand: extracts 'sreg', computes 'ea', and loads the value into 'source' */
38 #define GET_SB_RG  GET_SREG; source = REGB(sreg)
39 #define GET_SB_RGD GET_SREG; MAKE_EAB_RGD(sreg); source = RBYTE(ea)
40 #define GET_SB_IN  GET_SREG; if (sreg == 7) { source = ROPCODE(); } else { MAKE_EAB_IN(sreg); source = RBYTE(ea); }
41 #define GET_SB_IND GET_SREG; if (sreg == 7) { ea = ROPCODE(); } else { MAKE_EAB_IND(sreg); } source = RBYTE(ea)
42 #define GET_SB_DE  GET_SREG; MAKE_EAB_DE(sreg); source = RBYTE(ea)
43 #define GET_SB_DED GET_SREG; MAKE_EAB_DED(sreg); source = RBYTE(ea)
44 #define GET_SB_IX  GET_SREG; MAKE_EAB_IX(sreg); source = RBYTE(ea)
45 #define GET_SB_IXD GET_SREG; MAKE_EAB_IXD(sreg); source = RBYTE(ea)
46 
47 /* for a word-sized source operand: extracts 'sreg', computes 'ea', and loads the value into 'source' */
48 #define GET_SW_RG  GET_SREG; source = REGD(sreg)
49 #define GET_SW_RGD GET_SREG; MAKE_EAW_RGD(sreg); source = RWORD(ea)
50 #define GET_SW_IN  GET_SREG; if (sreg == 7) { source = ROPCODE(); } else { MAKE_EAW_IN(sreg); source = RWORD(ea); }
51 #define GET_SW_IND GET_SREG; if (sreg == 7) { ea = ROPCODE(); } else { MAKE_EAW_IND(sreg); } source = RWORD(ea)
52 #define GET_SW_DE  GET_SREG; MAKE_EAW_DE(sreg); source = RWORD(ea)
53 #define GET_SW_DED GET_SREG; MAKE_EAW_DED(sreg); source = RWORD(ea)
54 #define GET_SW_IX  GET_SREG; MAKE_EAW_IX(sreg); source = RWORD(ea)
55 #define GET_SW_IXD GET_SREG; MAKE_EAW_IXD(sreg); source = RWORD(ea)
56 
57 /* for a byte-sized destination operand: extracts 'dreg', computes 'ea', and loads the value into 'dest' */
58 #define GET_DB_RG  GET_DREG; dest = REGB(dreg)
59 #define GET_DB_RGD GET_DREG; MAKE_EAB_RGD(dreg); dest = RBYTE(ea)
60 #define GET_DB_IN  GET_DREG; MAKE_EAB_IN(dreg); dest = RBYTE(ea)
61 #define GET_DB_IND GET_DREG; if (dreg == 7) { ea = ROPCODE(); } else { MAKE_EAB_IND(dreg); } dest = RBYTE(ea)
62 #define GET_DB_DE  GET_DREG; MAKE_EAB_DE(dreg); dest = RBYTE(ea)
63 #define GET_DB_DED GET_DREG; MAKE_EAB_DED(dreg); dest = RBYTE(ea)
64 #define GET_DB_IX  GET_DREG; MAKE_EAB_IX(dreg); dest = RBYTE(ea)
65 #define GET_DB_IXD GET_DREG; MAKE_EAB_IXD(dreg); dest = RBYTE(ea)
66 
67 /* for a word-sized destination operand: extracts 'dreg', computes 'ea', and loads the value into 'dest' */
68 #define GET_DW_RG  GET_DREG; dest = REGD(dreg)
69 #define GET_DW_RGD GET_DREG; MAKE_EAW_RGD(dreg); dest = RWORD(ea)
70 #define GET_DW_IN  GET_DREG; MAKE_EAW_IN(dreg); dest = RWORD(ea)
71 #define GET_DW_IND GET_DREG; if (dreg == 7) { ea = ROPCODE(); } else { MAKE_EAW_IND(dreg); } dest = RWORD(ea)
72 #define GET_DW_DE  GET_DREG; MAKE_EAW_DE(dreg); dest = RWORD(ea)
73 #define GET_DW_DED GET_DREG; MAKE_EAW_DED(dreg); dest = RWORD(ea)
74 #define GET_DW_IX  GET_DREG; MAKE_EAW_IX(dreg); dest = RWORD(ea)
75 #define GET_DW_IXD GET_DREG; MAKE_EAW_IXD(dreg); dest = RWORD(ea)
76 
77 /* writes a value to a previously computed 'ea' */
78 #define PUT_DB_EA(v) WBYTE(ea, (v))
79 #define PUT_DW_EA(v) WWORD(ea, (v))
80 
81 /* writes a value to a previously computed 'dreg' register */
82 #define PUT_DB_DREG(v) REGB(dreg) = (v)
83 #define PUT_DW_DREG(v) REGW(dreg) = (v)
84 
85 /* for a byte-sized destination operand: extracts 'dreg', computes 'ea', and writes 'v' to it */
86 #define PUT_DB_RG(v)  GET_DREG; REGB(dreg) = (v)
87 #define PUT_DB_RGD(v) GET_DREG; MAKE_EAB_RGD(dreg); WBYTE(ea, (v))
88 #define PUT_DB_IN(v)  GET_DREG; MAKE_EAB_IN(dreg); WBYTE(ea, (v))
89 #define PUT_DB_IND(v) GET_DREG; if (dreg == 7) { ea = ROPCODE(); } else { MAKE_EAB_IND(dreg); } WBYTE(ea, (v))
90 #define PUT_DB_DE(v)  GET_DREG; MAKE_EAB_DE(dreg); WBYTE(ea, (v))
91 #define PUT_DB_DED(v) GET_DREG; MAKE_EAB_DED(dreg); WBYTE(ea, (v))
92 #define PUT_DB_IX(v)  GET_DREG; MAKE_EAB_IX(dreg); WBYTE(ea, (v))
93 #define PUT_DB_IXD(v) GET_DREG; MAKE_EAB_IXD(dreg); WBYTE(ea, (v))
94 
95 /* for a word-sized destination operand: extracts 'dreg', computes 'ea', and writes 'v' to it */
96 #define PUT_DW_RG(v)  GET_DREG; REGW(dreg) = (v)
97 #define PUT_DW_RGD(v) GET_DREG; MAKE_EAW_RGD(dreg); WWORD(ea, (v))
98 #define PUT_DW_IN(v)  GET_DREG; MAKE_EAW_IN(dreg); WWORD(ea, (v))
99 #define PUT_DW_IND(v) GET_DREG; if (dreg == 7) { ea = ROPCODE(); } else { MAKE_EAW_IND(dreg); } WWORD(ea, (v))
100 #define PUT_DW_DE(v)  GET_DREG; MAKE_EAW_DE(dreg); WWORD(ea, (v))
101 #define PUT_DW_DED(v) GET_DREG; MAKE_EAW_DED(dreg); WWORD(ea, (v))
102 #define PUT_DW_IX(v)  GET_DREG; MAKE_EAW_IX(dreg); WWORD(ea, (v))
103 #define PUT_DW_IXD(v) GET_DREG; MAKE_EAW_IXD(dreg); WWORD(ea, (v))
104 
105 /* flag clearing; must be done before setting */
106 #define CLR_ZV   (PSW &= ~(ZFLAG | VFLAG))
107 #define CLR_NZV  (PSW &= ~(NFLAG | ZFLAG | VFLAG))
108 #define CLR_NZVC (PSW &= ~(NFLAG | ZFLAG | VFLAG | CFLAG))
109 
110 /* set individual flags byte-sized */
111 #define SETB_N (PSW |= (result >> 4) & 0x08)
112 #define SETB_Z (PSW |= ((result & 0xff) == 0) << 2)
113 #define SETB_V (PSW |= ((source ^ dest ^ result ^ (result >> 1)) >> 6) & 0x02)
114 #define SETB_C (PSW |= (result >> 8) & 0x01)
115 #define SETB_NZ SETB_N; SETB_Z
116 #define SETB_NZV SETB_N; SETB_Z; SETB_V
117 #define SETB_NZVC SETB_N; SETB_Z; SETB_V; SETB_C
118 
119 /* set individual flags word-sized */
120 #define SETW_N (PSW |= (result >> 12) & 0x08)
121 #define SETW_Z (PSW |= ((result & 0xffff) == 0) << 2)
122 #define SETW_V (PSW |= ((source ^ dest ^ result ^ (result >> 1)) >> 14) & 0x02)
123 #define SETW_C (PSW |= (result >> 16) & 0x01)
124 #define SETW_NZ SETW_N; SETW_Z
125 #define SETW_NZV SETW_N; SETW_Z; SETW_V
126 #define SETW_NZVC SETW_N; SETW_Z; SETW_V; SETW_C
127 
128 /* operations */
129 /* ADC: dst += C */
130 #define ADC_R(d)    int dreg, source, dest, result;     source = GET_C; GET_DW_##d; CLR_NZVC; result = dest + source; SETW_NZVC; PUT_DW_DREG(result)
131 #define ADC_M(d)    int dreg, source, dest, result, ea; source = GET_C; GET_DW_##d; CLR_NZVC; result = dest + source; SETW_NZVC; PUT_DW_EA(result)
132 #define ADCB_R(d)   int dreg, source, dest, result;     source = GET_C; GET_DB_##d; CLR_NZVC; result = dest + source; SETB_NZVC; PUT_DB_DREG(result)
133 #define ADCB_M(d)   int dreg, source, dest, result, ea; source = GET_C; GET_DB_##d; CLR_NZVC; result = dest + source; SETB_NZVC; PUT_DB_EA(result)
134 /* ADD: dst += src */
135 #define ADD_R(s,d)  int sreg, dreg, source, dest, result;     GET_SW_##s; GET_DW_##d; CLR_NZVC; result = dest + source; SETW_NZVC; PUT_DW_DREG(result)
136 #define ADD_X(s,d)  int sreg, dreg, source, dest, result, ea; GET_SW_##s; GET_DW_##d; CLR_NZVC; result = dest + source; SETW_NZVC; PUT_DW_DREG(result)
137 #define ADD_M(s,d)  int sreg, dreg, source, dest, result, ea; GET_SW_##s; GET_DW_##d; CLR_NZVC; result = dest + source; SETW_NZVC; PUT_DW_EA(result)
138 /* ASL: dst = (dst << 1); C = (dst >> 7) */
139 #define ASL_R(d)    int dreg, dest, result;     GET_DW_##d; CLR_NZVC; result = dest << 1; SETW_NZ; PSW |= (dest >> 15) & 1; PSW |= ((PSW << 1) ^ (PSW >> 2)) & 2; PUT_DW_DREG(result)
140 #define ASL_M(d)    int dreg, dest, result, ea; GET_DW_##d; CLR_NZVC; result = dest << 1; SETW_NZ; PSW |= (dest >> 15) & 1; PSW |= ((PSW << 1) ^ (PSW >> 2)) & 2; PUT_DW_EA(result)
141 #define ASLB_R(d)   int dreg, dest, result;     GET_DB_##d; CLR_NZVC; result = dest << 1; SETB_NZ; PSW |= (dest >> 7) & 1;  PSW |= ((PSW << 1) ^ (PSW >> 2)) & 2; PUT_DB_DREG(result)
142 #define ASLB_M(d)   int dreg, dest, result, ea; GET_DB_##d; CLR_NZVC; result = dest << 1; SETB_NZ; PSW |= (dest >> 7) & 1;  PSW |= ((PSW << 1) ^ (PSW >> 2)) & 2; PUT_DB_EA(result)
143 /* ASR: dst = (dst << 1); C = (dst >> 7) */
144 #define ASR_R(d)    int dreg, dest, result;     GET_DW_##d; CLR_NZVC; result = (dest >> 1) | (dest & 0x8000); SETW_NZ; PSW |= dest & 1; PSW |= ((PSW << 1) ^ (PSW >> 2)) & 2; PUT_DW_DREG(result)
145 #define ASR_M(d)    int dreg, dest, result, ea; GET_DW_##d; CLR_NZVC; result = (dest >> 1) | (dest & 0x8000); SETW_NZ; PSW |= dest & 1; PSW |= ((PSW << 1) ^ (PSW >> 2)) & 2; PUT_DW_EA(result)
146 #define ASRB_R(d)   int dreg, dest, result;     GET_DB_##d; CLR_NZVC; result = (dest >> 1) | (dest & 0x80);   SETB_NZ; PSW |= dest & 1; PSW |= ((PSW << 1) ^ (PSW >> 2)) & 2; PUT_DB_DREG(result)
147 #define ASRB_M(d)   int dreg, dest, result, ea; GET_DB_##d; CLR_NZVC; result = (dest >> 1) | (dest & 0x80);   SETB_NZ; PSW |= dest & 1; PSW |= ((PSW << 1) ^ (PSW >> 2)) & 2; PUT_DB_EA(result)
148 /* BIC: dst &= ~src */
149 #define BIC_R(s,d)  int sreg, dreg, source, dest, result;     GET_SW_##s; GET_DW_##d; CLR_NZV; result = dest & ~source; SETW_NZ; PUT_DW_DREG(result)
150 #define BIC_X(s,d)  int sreg, dreg, source, dest, result, ea; GET_SW_##s; GET_DW_##d; CLR_NZV; result = dest & ~source; SETW_NZ; PUT_DW_DREG(result)
151 #define BIC_M(s,d)  int sreg, dreg, source, dest, result, ea; GET_SW_##s; GET_DW_##d; CLR_NZV; result = dest & ~source; SETW_NZ; PUT_DW_EA(result)
152 #define BICB_R(s,d) int sreg, dreg, source, dest, result;     GET_SB_##s; GET_DB_##d; CLR_NZV; result = dest & ~source; SETB_NZ; PUT_DB_DREG(result)
153 #define BICB_X(s,d) int sreg, dreg, source, dest, result, ea; GET_SB_##s; GET_DB_##d; CLR_NZV; result = dest & ~source; SETB_NZ; PUT_DB_DREG(result)
154 #define BICB_M(s,d) int sreg, dreg, source, dest, result, ea; GET_SB_##s; GET_DB_##d; CLR_NZV; result = dest & ~source; SETB_NZ; PUT_DB_EA(result)
155 /* BIS: dst |= src */
156 #define BIS_R(s,d)  int sreg, dreg, source, dest, result;     GET_SW_##s; GET_DW_##d; CLR_NZV; result = dest | source; SETW_NZ; PUT_DW_DREG(result)
157 #define BIS_X(s,d)  int sreg, dreg, source, dest, result, ea; GET_SW_##s; GET_DW_##d; CLR_NZV; result = dest | source; SETW_NZ; PUT_DW_DREG(result)
158 #define BIS_M(s,d)  int sreg, dreg, source, dest, result, ea; GET_SW_##s; GET_DW_##d; CLR_NZV; result = dest | source; SETW_NZ; PUT_DW_EA(result)
159 #define BISB_R(s,d) int sreg, dreg, source, dest, result;     GET_SB_##s; GET_DB_##d; CLR_NZV; result = dest | source; SETB_NZ; PUT_DB_DREG(result)
160 #define BISB_X(s,d) int sreg, dreg, source, dest, result, ea; GET_SB_##s; GET_DB_##d; CLR_NZV; result = dest | source; SETB_NZ; PUT_DB_DREG(result)
161 #define BISB_M(s,d) int sreg, dreg, source, dest, result, ea; GET_SB_##s; GET_DB_##d; CLR_NZV; result = dest | source; SETB_NZ; PUT_DB_EA(result)
162 /* BIT: flags = dst & src */
163 #define BIT_R(s,d)  int sreg, dreg, source, dest, result;     GET_SW_##s; GET_DW_##d; CLR_NZV; result = dest & source; SETW_NZ;
164 #define BIT_M(s,d)  int sreg, dreg, source, dest, result, ea; GET_SW_##s; GET_DW_##d; CLR_NZV; result = dest & source; SETW_NZ;
165 #define BITB_R(s,d) int sreg, dreg, source, dest, result;     GET_SB_##s; GET_DB_##d; CLR_NZV; result = dest & source; SETB_NZ;
166 #define BITB_M(s,d) int sreg, dreg, source, dest, result, ea; GET_SB_##s; GET_DB_##d; CLR_NZV; result = dest & source; SETB_NZ;
167 /* BR: if (condition) branch */
168 #define BR(c)		if (c) { PC += 2 * (signed char)(t11.op & 0xff); }
169 /* CLR: dst = 0 */
170 #define CLR_R(d)    int dreg;     PUT_DW_##d(0); CLR_NZVC; SET_Z
171 #define CLR_M(d)    int dreg, ea; PUT_DW_##d(0); CLR_NZVC; SET_Z
172 #define CLRB_R(d)   int dreg;     PUT_DB_##d(0); CLR_NZVC; SET_Z
173 #define CLRB_M(d)   int dreg, ea; PUT_DB_##d(0); CLR_NZVC; SET_Z
174 /* CMP: flags = src - dst */
175 #define CMP_R(s,d)  int sreg, dreg, source, dest, result;     GET_SW_##s; GET_DW_##d; CLR_NZVC; result = source - dest; SETW_NZVC;
176 #define CMP_M(s,d)  int sreg, dreg, source, dest, result, ea; GET_SW_##s; GET_DW_##d; CLR_NZVC; result = source - dest; SETW_NZVC;
177 #define CMPB_R(s,d) int sreg, dreg, source, dest, result;     GET_SB_##s; GET_DB_##d; CLR_NZVC; result = source - dest; SETB_NZVC;
178 #define CMPB_M(s,d) int sreg, dreg, source, dest, result, ea; GET_SB_##s; GET_DB_##d; CLR_NZVC; result = source - dest; SETB_NZVC;
179 /* COM: dst = ~dst */
180 #define COM_R(d)    int dreg, dest, result;     GET_DW_##d; CLR_NZVC; result = ~dest; SETW_NZ; SET_C; PUT_DW_DREG(result)
181 #define COM_M(d)    int dreg, dest, result, ea; GET_DW_##d; CLR_NZVC; result = ~dest; SETW_NZ; SET_C; PUT_DW_EA(result)
182 #define COMB_R(d)   int dreg, dest, result;     GET_DB_##d; CLR_NZVC; result = ~dest; SETB_NZ; SET_C; PUT_DB_DREG(result)
183 #define COMB_M(d)   int dreg, dest, result, ea; GET_DB_##d; CLR_NZVC; result = ~dest; SETB_NZ; SET_C; PUT_DB_EA(result)
184 /* DEC: dst -= 1 */
185 #define DEC_R(d)    int dreg, dest, result;     GET_DW_##d; CLR_NZV; result = dest - 1; SETW_NZ; if (dest == 0x8000) SET_V; PUT_DW_DREG(result)
186 #define DEC_M(d)    int dreg, dest, result, ea; GET_DW_##d; CLR_NZV; result = dest - 1; SETW_NZ; if (dest == 0x8000) SET_V; PUT_DW_EA(result)
187 #define DECB_R(d)   int dreg, dest, result;     GET_DB_##d; CLR_NZV; result = dest - 1; SETB_NZ; if (dest == 0x80)   SET_V; PUT_DB_DREG(result)
188 #define DECB_M(d)   int dreg, dest, result, ea; GET_DB_##d; CLR_NZV; result = dest - 1; SETB_NZ; if (dest == 0x80)   SET_V; PUT_DB_EA(result)
189 /* INC: dst += 1 */
190 #define INC_R(d)    int dreg, dest, result;     GET_DW_##d; CLR_NZV; result = dest + 1; SETW_NZ; if (dest == 0x7fff) SET_V; PUT_DW_DREG(result)
191 #define INC_M(d)    int dreg, dest, result, ea; GET_DW_##d; CLR_NZV; result = dest + 1; SETW_NZ; if (dest == 0x7fff) SET_V; PUT_DW_EA(result)
192 #define INCB_R(d)   int dreg, dest, result;     GET_DB_##d; CLR_NZV; result = dest + 1; SETB_NZ; if (dest == 0x7f)   SET_V; PUT_DB_DREG(result)
193 #define INCB_M(d)   int dreg, dest, result, ea; GET_DB_##d; CLR_NZV; result = dest + 1; SETB_NZ; if (dest == 0x7f)   SET_V; PUT_DB_EA(result)
194 /* JMP: PC = ea */
195 #define JMP(d)      int dreg, ea; GET_DREG; MAKE_EAW_##d(dreg); PC = ea
196 /* JSR: PUSH src, src = PC, PC = ea */
197 #define JSR(d)      int sreg, dreg, ea; GET_SREG; GET_DREG; MAKE_EAW_##d(dreg); PUSH(REGW(sreg)); REGW(sreg) = PC; PC = ea
198 /* MFPS: dst = flags */
199 #define MFPS_R(d)   int dreg, result;     result = PSW; CLR_NZV; SETB_NZ; PUT_DW_##d((signed char)result)
200 #define MFPS_M(d)   int dreg, result, ea; result = PSW; CLR_NZV; SETB_NZ; PUT_DB_##d(result)
201 /* MOV: dst = src */
202 #define MOV_R(s,d)  int sreg, dreg, source, result;     GET_SW_##s; CLR_NZV; result = source; SETW_NZ; PUT_DW_##d(result)
203 #define MOV_M(s,d)  int sreg, dreg, source, result, ea; GET_SW_##s; CLR_NZV; result = source; SETW_NZ; PUT_DW_##d(result)
204 #define MOVB_R(s,d) int sreg, dreg, source, result;     GET_SB_##s; CLR_NZV; result = source; SETB_NZ; PUT_DW_##d((signed char)result)
205 #define MOVB_X(s,d) int sreg, dreg, source, result, ea; GET_SB_##s; CLR_NZV; result = source; SETB_NZ; PUT_DW_##d((signed char)result)
206 #define MOVB_M(s,d) int sreg, dreg, source, result, ea; GET_SB_##s; CLR_NZV; result = source; SETB_NZ; PUT_DB_##d(result)
207 /* MTPS: flags = src */
208 #define MTPS_R(d)   int dreg, dest;     GET_DW_##d; PSW = (PSW & ~0xef) | (dest & 0xef); t11_check_irqs()
209 #define MTPS_M(d)   int dreg, dest, ea; GET_DW_##d; PSW = (PSW & ~0xef) | (dest & 0xef); t11_check_irqs()
210 /* NEG: dst = -dst */
211 #define NEG_R(d)    int dreg, dest, result;     GET_DW_##d; CLR_NZVC; result = -dest; SETW_NZ; if (dest == 0x8000) SET_V; if (result) SET_C; PUT_DW_DREG(result)
212 #define NEG_M(d)    int dreg, dest, result, ea; GET_DW_##d; CLR_NZVC; result = -dest; SETW_NZ; if (dest == 0x8000) SET_V; if (result) SET_C; PUT_DW_EA(result)
213 #define NEGB_R(d)   int dreg, dest, result;     GET_DB_##d; CLR_NZVC; result = -dest; SETB_NZ; if (dest == 0x80)   SET_V; if (result) SET_C; PUT_DB_DREG(result)
214 #define NEGB_M(d)   int dreg, dest, result, ea; GET_DB_##d; CLR_NZVC; result = -dest; SETB_NZ; if (dest == 0x80)   SET_V; if (result) SET_C; PUT_DB_EA(result)
215 /* ROL: dst = (dst << 1) | C; C = (dst >> 7) */
216 #define ROL_R(d)    int dreg, dest, result;     GET_DW_##d; result = (dest << 1) | GET_C; CLR_NZVC; SETW_NZ; PSW |= (dest >> 15) & 1; PSW |= ((PSW << 1) ^ (PSW >> 2)) & 2; PUT_DW_DREG(result)
217 #define ROL_M(d)    int dreg, dest, result, ea; GET_DW_##d; result = (dest << 1) | GET_C; CLR_NZVC; SETW_NZ; PSW |= (dest >> 15) & 1; PSW |= ((PSW << 1) ^ (PSW >> 2)) & 2; PUT_DW_EA(result)
218 #define ROLB_R(d)   int dreg, dest, result;     GET_DB_##d; result = (dest << 1) | GET_C; CLR_NZVC; SETB_NZ; PSW |= (dest >> 7) & 1;  PSW |= ((PSW << 1) ^ (PSW >> 2)) & 2; PUT_DB_DREG(result)
219 #define ROLB_M(d)   int dreg, dest, result, ea; GET_DB_##d; result = (dest << 1) | GET_C; CLR_NZVC; SETB_NZ; PSW |= (dest >> 7) & 1;  PSW |= ((PSW << 1) ^ (PSW >> 2)) & 2; PUT_DB_EA(result)
220 /* ROR: dst = (dst >> 1) | (C << 7); C = dst & 1 */
221 #define ROR_R(d)    int dreg, dest, result;     GET_DW_##d; result = (dest >> 1) | (GET_C << 15); CLR_NZVC; SETW_NZ; PSW |= dest & 1; PSW |= ((PSW << 1) ^ (PSW >> 2)) & 2; PUT_DW_DREG(result)
222 #define ROR_M(d)    int dreg, dest, result, ea; GET_DW_##d; result = (dest >> 1) | (GET_C << 15); CLR_NZVC; SETW_NZ; PSW |= dest & 1; PSW |= ((PSW << 1) ^ (PSW >> 2)) & 2; PUT_DW_EA(result)
223 #define RORB_R(d)   int dreg, dest, result;     GET_DB_##d; result = (dest >> 1) | (GET_C << 7);  CLR_NZVC; SETB_NZ; PSW |= dest & 1; PSW |= ((PSW << 1) ^ (PSW >> 2)) & 2; PUT_DB_DREG(result)
224 #define RORB_M(d)   int dreg, dest, result, ea; GET_DB_##d; result = (dest >> 1) | (GET_C << 7);  CLR_NZVC; SETB_NZ; PSW |= dest & 1; PSW |= ((PSW << 1) ^ (PSW >> 2)) & 2; PUT_DB_EA(result)
225 /* SBC: dst -= C */
226 #define SBC_R(d)    int dreg, source, dest, result;     source = GET_C; GET_DW_##d; CLR_NZVC; result = dest - source; SETW_NZVC; PUT_DW_DREG(result)
227 #define SBC_M(d)    int dreg, source, dest, result, ea; source = GET_C; GET_DW_##d; CLR_NZVC; result = dest - source; SETW_NZVC; PUT_DW_EA(result)
228 #define SBCB_R(d)   int dreg, source, dest, result;     source = GET_C; GET_DB_##d; CLR_NZVC; result = dest - source; SETB_NZVC; PUT_DB_DREG(result)
229 #define SBCB_M(d)   int dreg, source, dest, result, ea; source = GET_C; GET_DB_##d; CLR_NZVC; result = dest - source; SETB_NZVC; PUT_DB_EA(result)
230 /* SUB: dst -= src */
231 #define SUB_R(s,d)  int sreg, dreg, source, dest, result;     GET_SW_##s; GET_DW_##d; CLR_NZVC; result = dest - source; SETW_NZVC; PUT_DW_DREG(result)
232 #define SUB_X(s,d)  int sreg, dreg, source, dest, result, ea; GET_SW_##s; GET_DW_##d; CLR_NZVC; result = dest - source; SETW_NZVC; PUT_DW_DREG(result)
233 #define SUB_M(s,d)  int sreg, dreg, source, dest, result, ea; GET_SW_##s; GET_DW_##d; CLR_NZVC; result = dest - source; SETW_NZVC; PUT_DW_EA(result)
234 #define SUBB_R(s,d) int sreg, dreg, source, dest, result;     GET_SB_##s; GET_DB_##d; CLR_NZVC; result = dest - source; SETB_NZVC; PUT_DB_DREG(result)
235 #define SUBB_X(s,d) int sreg, dreg, source, dest, result, ea; GET_SB_##s; GET_DB_##d; CLR_NZVC; result = dest - source; SETB_NZVC; PUT_DB_DREG(result)
236 #define SUBB_M(s,d) int sreg, dreg, source, dest, result, ea; GET_SB_##s; GET_DB_##d; CLR_NZVC; result = dest - source; SETB_NZVC; PUT_DB_EA(result)
237 /* SWAB: dst = (dst >> 8) + (dst << 8) */
238 #define SWAB_R(d)   int dreg, dest, result;     GET_DW_##d; CLR_NZVC; result = ((dest >> 8) & 0xff) + (dest << 8); SETB_NZ; PUT_DW_DREG(result)
239 #define SWAB_M(d)   int dreg, dest, result, ea; GET_DW_##d; CLR_NZVC; result = ((dest >> 8) & 0xff) + (dest << 8); SETB_NZ; PUT_DW_EA(result)
240 /* SXT: dst = sign-extend dst */
241 #define SXT_R(d)    int dreg, result;     CLR_ZV; if (GET_N) result = -1; else { result = 0; SET_Z; } PUT_DW_##d(result)
242 #define SXT_M(d)    int dreg, result, ea; CLR_ZV; if (GET_N) result = -1; else { result = 0; SET_Z; } PUT_DW_##d(result)
243 /* TST: dst = ~dst */
244 #define TST_R(d)    int dreg, dest, result;     GET_DW_##d; CLR_NZVC; result = dest; SETW_NZ;
245 #define TST_M(d)    int dreg, dest, result, ea; GET_DW_##d; CLR_NZVC; result = dest; SETW_NZ;
246 #define TSTB_R(d)   int dreg, dest, result;     GET_DB_##d; CLR_NZVC; result = dest; SETB_NZ;
247 #define TSTB_M(d)   int dreg, dest, result, ea; GET_DB_##d; CLR_NZVC; result = dest; SETB_NZ;
248 /* XOR: dst ^= src */
249 #define XOR_R(d)    int sreg, dreg, source, dest, result;     GET_SREG; source = REGW(sreg); GET_DW_##d; CLR_NZV; result = dest ^ source; SETW_NZ; PUT_DW_DREG(result)
250 #define XOR_M(d)    int sreg, dreg, source, dest, result, ea; GET_SREG; source = REGW(sreg); GET_DW_##d; CLR_NZV; result = dest ^ source; SETW_NZ; PUT_DW_EA(result)
251 
252 
253 
op_0000(void)254 static void op_0000(void)
255 {
256 	switch (t11.op & 0x3f)
257 	{
258 		case 0x00:	/* HALT  */ t11_ICount = 0; break;
259 		case 0x01:	/* WAIT  */ t11.wait_state = 1; t11_ICount = 0; break;
260 		case 0x02:	/* RTI   */ PC = POP(); PSW = POP(); t11_check_irqs(); break;
261 		case 0x03:	/* BPT   */ PUSH(PSW); PUSH(PC); PC = RWORD(0x0c); PSW = RWORD(0x0e); t11_check_irqs(); break;
262 		case 0x04:	/* IOT   */ PUSH(PSW); PUSH(PC); PC = RWORD(0x10); PSW = RWORD(0x12); t11_check_irqs(); break;
263 		case 0x05:	/* RESET */ break;
264 		case 0x06:	/* RTT   */ PC = POP(); PSW = POP(); t11_check_irqs(); break;
265 		default: 	illegal(); break;
266 	}
267 }
268 
illegal(void)269 static void illegal(void)
270 {
271 	PUSH(PSW);
272 	PUSH(PC);
273 	PC = RWORD(0x08);
274 	PSW = RWORD(0x0a);
275 	t11_check_irqs();
276 PC = 0;
277 }
278 
jmp_rgd(void)279 static void jmp_rgd(void)       { JMP(RGD); }
jmp_in(void)280 static void jmp_in(void)        { JMP(IN);  }
jmp_ind(void)281 static void jmp_ind(void)       { JMP(IND); }
jmp_de(void)282 static void jmp_de(void)        { JMP(DE);  }
jmp_ded(void)283 static void jmp_ded(void)       { JMP(DED); }
jmp_ix(void)284 static void jmp_ix(void)        { JMP(IX);  }
jmp_ixd(void)285 static void jmp_ixd(void)       { JMP(IXD); }
286 
rts(void)287 static void rts(void)
288 {
289 	int dreg;
290 	GET_DREG;
291 	PC = REGD(dreg);
292 	REGW(dreg) = POP();
293 }
294 
ccc(void)295 static void ccc(void)			{ PSW &= ~(t11.op & 15); }
scc(void)296 static void scc(void)			{ PSW |=  (t11.op & 15); }
297 
swab_rg(void)298 static void swab_rg(void)       { SWAB_R(RG); }
swab_rgd(void)299 static void swab_rgd(void)      { SWAB_M(RGD); }
swab_in(void)300 static void swab_in(void)       { SWAB_M(IN); }
swab_ind(void)301 static void swab_ind(void)      { SWAB_M(IND); }
swab_de(void)302 static void swab_de(void)       { SWAB_M(DE); }
swab_ded(void)303 static void swab_ded(void)      { SWAB_M(DED); }
swab_ix(void)304 static void swab_ix(void)       { SWAB_M(IX); }
swab_ixd(void)305 static void swab_ixd(void)      { SWAB_M(IXD); }
306 
br(void)307 static void br(void)            { BR(1); }
bne(void)308 static void bne(void)           { BR(!GET_Z); }
beq(void)309 static void beq(void)           { BR( GET_Z); }
bge(void)310 static void bge(void)           { BR(!((GET_N >> 2) ^ GET_V)); }
blt(void)311 static void blt(void)           { BR(((GET_N >> 2) ^ GET_V)); }
bgt(void)312 static void bgt(void)           { BR(!GET_Z && !((GET_N >> 2) ^ GET_V)); }
ble(void)313 static void ble(void)           { BR( GET_Z || ((GET_N >> 2) ^ GET_V)); }
314 
jsr_rgd(void)315 static void jsr_rgd(void)       { JSR(RGD); }
jsr_in(void)316 static void jsr_in(void)        { JSR(IN);  }
jsr_ind(void)317 static void jsr_ind(void)       { JSR(IND); }
jsr_de(void)318 static void jsr_de(void)        { JSR(DE);  }
jsr_ded(void)319 static void jsr_ded(void)       { JSR(DED); }
jsr_ix(void)320 static void jsr_ix(void)        { JSR(IX);  }
jsr_ixd(void)321 static void jsr_ixd(void)       { JSR(IXD); }
322 
clr_rg(void)323 static void clr_rg(void)        { CLR_R(RG);  }
clr_rgd(void)324 static void clr_rgd(void)       { CLR_M(RGD); }
clr_in(void)325 static void clr_in(void)        { CLR_M(IN);  }
clr_ind(void)326 static void clr_ind(void)       { CLR_M(IND); }
clr_de(void)327 static void clr_de(void)        { CLR_M(DE);  }
clr_ded(void)328 static void clr_ded(void)       { CLR_M(DED); }
clr_ix(void)329 static void clr_ix(void)        { CLR_M(IX);  }
clr_ixd(void)330 static void clr_ixd(void)       { CLR_M(IXD); }
331 
com_rg(void)332 static void com_rg(void)        { COM_R(RG);  }
com_rgd(void)333 static void com_rgd(void)       { COM_M(RGD); }
com_in(void)334 static void com_in(void)        { COM_M(IN);  }
com_ind(void)335 static void com_ind(void)       { COM_M(IND); }
com_de(void)336 static void com_de(void)        { COM_M(DE);  }
com_ded(void)337 static void com_ded(void)       { COM_M(DED); }
com_ix(void)338 static void com_ix(void)        { COM_M(IX);  }
com_ixd(void)339 static void com_ixd(void)       { COM_M(IXD); }
340 
inc_rg(void)341 static void inc_rg(void)        { INC_R(RG);  }
inc_rgd(void)342 static void inc_rgd(void)       { INC_M(RGD); }
inc_in(void)343 static void inc_in(void)        { INC_M(IN);  }
inc_ind(void)344 static void inc_ind(void)       { INC_M(IND); }
inc_de(void)345 static void inc_de(void)        { INC_M(DE);  }
inc_ded(void)346 static void inc_ded(void)       { INC_M(DED); }
inc_ix(void)347 static void inc_ix(void)        { INC_M(IX);  }
inc_ixd(void)348 static void inc_ixd(void)       { INC_M(IXD); }
349 
dec_rg(void)350 static void dec_rg(void)        { DEC_R(RG);  }
dec_rgd(void)351 static void dec_rgd(void)       { DEC_M(RGD); }
dec_in(void)352 static void dec_in(void)        { DEC_M(IN);  }
dec_ind(void)353 static void dec_ind(void)       { DEC_M(IND); }
dec_de(void)354 static void dec_de(void)        { DEC_M(DE);  }
dec_ded(void)355 static void dec_ded(void)       { DEC_M(DED); }
dec_ix(void)356 static void dec_ix(void)        { DEC_M(IX);  }
dec_ixd(void)357 static void dec_ixd(void)       { DEC_M(IXD); }
358 
neg_rg(void)359 static void neg_rg(void)        { NEG_R(RG);  }
neg_rgd(void)360 static void neg_rgd(void)       { NEG_M(RGD); }
neg_in(void)361 static void neg_in(void)        { NEG_M(IN);  }
neg_ind(void)362 static void neg_ind(void)       { NEG_M(IND); }
neg_de(void)363 static void neg_de(void)        { NEG_M(DE);  }
neg_ded(void)364 static void neg_ded(void)       { NEG_M(DED); }
neg_ix(void)365 static void neg_ix(void)        { NEG_M(IX);  }
neg_ixd(void)366 static void neg_ixd(void)       { NEG_M(IXD); }
367 
adc_rg(void)368 static void adc_rg(void)        { ADC_R(RG);  }
adc_rgd(void)369 static void adc_rgd(void)       { ADC_M(RGD); }
adc_in(void)370 static void adc_in(void)        { ADC_M(IN);  }
adc_ind(void)371 static void adc_ind(void)       { ADC_M(IND); }
adc_de(void)372 static void adc_de(void)        { ADC_M(DE);  }
adc_ded(void)373 static void adc_ded(void)       { ADC_M(DED); }
adc_ix(void)374 static void adc_ix(void)        { ADC_M(IX);  }
adc_ixd(void)375 static void adc_ixd(void)       { ADC_M(IXD); }
376 
sbc_rg(void)377 static void sbc_rg(void)        { SBC_R(RG);  }
sbc_rgd(void)378 static void sbc_rgd(void)       { SBC_M(RGD); }
sbc_in(void)379 static void sbc_in(void)        { SBC_M(IN);  }
sbc_ind(void)380 static void sbc_ind(void)       { SBC_M(IND); }
sbc_de(void)381 static void sbc_de(void)        { SBC_M(DE);  }
sbc_ded(void)382 static void sbc_ded(void)       { SBC_M(DED); }
sbc_ix(void)383 static void sbc_ix(void)        { SBC_M(IX);  }
sbc_ixd(void)384 static void sbc_ixd(void)       { SBC_M(IXD); }
385 
tst_rg(void)386 static void tst_rg(void)        { TST_R(RG);  }
tst_rgd(void)387 static void tst_rgd(void)       { TST_M(RGD); }
tst_in(void)388 static void tst_in(void)        { TST_M(IN);  }
tst_ind(void)389 static void tst_ind(void)       { TST_M(IND); }
tst_de(void)390 static void tst_de(void)        { TST_M(DE);  }
tst_ded(void)391 static void tst_ded(void)       { TST_M(DED); }
tst_ix(void)392 static void tst_ix(void)        { TST_M(IX);  }
tst_ixd(void)393 static void tst_ixd(void)       { TST_M(IXD); }
394 
ror_rg(void)395 static void ror_rg(void)        { ROR_R(RG);  }
ror_rgd(void)396 static void ror_rgd(void)       { ROR_M(RGD); }
ror_in(void)397 static void ror_in(void)        { ROR_M(IN);  }
ror_ind(void)398 static void ror_ind(void)       { ROR_M(IND); }
ror_de(void)399 static void ror_de(void)        { ROR_M(DE);  }
ror_ded(void)400 static void ror_ded(void)       { ROR_M(DED); }
ror_ix(void)401 static void ror_ix(void)        { ROR_M(IX);  }
ror_ixd(void)402 static void ror_ixd(void)       { ROR_M(IXD); }
403 
rol_rg(void)404 static void rol_rg(void)        { ROL_R(RG);  }
rol_rgd(void)405 static void rol_rgd(void)       { ROL_M(RGD); }
rol_in(void)406 static void rol_in(void)        { ROL_M(IN);  }
rol_ind(void)407 static void rol_ind(void)       { ROL_M(IND); }
rol_de(void)408 static void rol_de(void)        { ROL_M(DE);  }
rol_ded(void)409 static void rol_ded(void)       { ROL_M(DED); }
rol_ix(void)410 static void rol_ix(void)        { ROL_M(IX);  }
rol_ixd(void)411 static void rol_ixd(void)       { ROL_M(IXD); }
412 
asr_rg(void)413 static void asr_rg(void)        { ASR_R(RG);  }
asr_rgd(void)414 static void asr_rgd(void)       { ASR_M(RGD); }
asr_in(void)415 static void asr_in(void)        { ASR_M(IN);  }
asr_ind(void)416 static void asr_ind(void)       { ASR_M(IND); }
asr_de(void)417 static void asr_de(void)        { ASR_M(DE);  }
asr_ded(void)418 static void asr_ded(void)       { ASR_M(DED); }
asr_ix(void)419 static void asr_ix(void)        { ASR_M(IX);  }
asr_ixd(void)420 static void asr_ixd(void)       { ASR_M(IXD); }
421 
asl_rg(void)422 static void asl_rg(void)        { ASL_R(RG);  }
asl_rgd(void)423 static void asl_rgd(void)       { ASL_M(RGD); }
asl_in(void)424 static void asl_in(void)        { ASL_M(IN);  }
asl_ind(void)425 static void asl_ind(void)       { ASL_M(IND); }
asl_de(void)426 static void asl_de(void)        { ASL_M(DE);  }
asl_ded(void)427 static void asl_ded(void)       { ASL_M(DED); }
asl_ix(void)428 static void asl_ix(void)        { ASL_M(IX);  }
asl_ixd(void)429 static void asl_ixd(void)       { ASL_M(IXD); }
430 
sxt_rg(void)431 static void sxt_rg(void)        { SXT_R(RG);  }
sxt_rgd(void)432 static void sxt_rgd(void)       { SXT_M(RGD); }
sxt_in(void)433 static void sxt_in(void)        { SXT_M(IN);  }
sxt_ind(void)434 static void sxt_ind(void)       { SXT_M(IND); }
sxt_de(void)435 static void sxt_de(void)        { SXT_M(DE);  }
sxt_ded(void)436 static void sxt_ded(void)       { SXT_M(DED); }
sxt_ix(void)437 static void sxt_ix(void)        { SXT_M(IX);  }
sxt_ixd(void)438 static void sxt_ixd(void)       { SXT_M(IXD); }
439 
mov_rg_rg(void)440 static void mov_rg_rg(void)     { MOV_R(RG,RG);   }
mov_rg_rgd(void)441 static void mov_rg_rgd(void)    { MOV_M(RG,RGD);  }
mov_rg_in(void)442 static void mov_rg_in(void)     { MOV_M(RG,IN);   }
mov_rg_ind(void)443 static void mov_rg_ind(void)    { MOV_M(RG,IND);  }
mov_rg_de(void)444 static void mov_rg_de(void)     { MOV_M(RG,DE);   }
mov_rg_ded(void)445 static void mov_rg_ded(void)    { MOV_M(RG,DED);  }
mov_rg_ix(void)446 static void mov_rg_ix(void)     { MOV_M(RG,IX);   }
mov_rg_ixd(void)447 static void mov_rg_ixd(void)    { MOV_M(RG,IXD);  }
mov_rgd_rg(void)448 static void mov_rgd_rg(void)    { MOV_M(RGD,RG);  }
mov_rgd_rgd(void)449 static void mov_rgd_rgd(void)   { MOV_M(RGD,RGD); }
mov_rgd_in(void)450 static void mov_rgd_in(void)    { MOV_M(RGD,IN);  }
mov_rgd_ind(void)451 static void mov_rgd_ind(void)   { MOV_M(RGD,IND); }
mov_rgd_de(void)452 static void mov_rgd_de(void)    { MOV_M(RGD,DE);  }
mov_rgd_ded(void)453 static void mov_rgd_ded(void)   { MOV_M(RGD,DED); }
mov_rgd_ix(void)454 static void mov_rgd_ix(void)    { MOV_M(RGD,IX);  }
mov_rgd_ixd(void)455 static void mov_rgd_ixd(void)   { MOV_M(RGD,IXD); }
mov_in_rg(void)456 static void mov_in_rg(void)     { MOV_M(IN,RG);   }
mov_in_rgd(void)457 static void mov_in_rgd(void)    { MOV_M(IN,RGD);  }
mov_in_in(void)458 static void mov_in_in(void)     { MOV_M(IN,IN);   }
mov_in_ind(void)459 static void mov_in_ind(void)    { MOV_M(IN,IND);  }
mov_in_de(void)460 static void mov_in_de(void)     { MOV_M(IN,DE);   }
mov_in_ded(void)461 static void mov_in_ded(void)    { MOV_M(IN,DED);  }
mov_in_ix(void)462 static void mov_in_ix(void)     { MOV_M(IN,IX);   }
mov_in_ixd(void)463 static void mov_in_ixd(void)    { MOV_M(IN,IXD);  }
mov_ind_rg(void)464 static void mov_ind_rg(void)    { MOV_M(IND,RG);  }
mov_ind_rgd(void)465 static void mov_ind_rgd(void)   { MOV_M(IND,RGD); }
mov_ind_in(void)466 static void mov_ind_in(void)    { MOV_M(IND,IN);  }
mov_ind_ind(void)467 static void mov_ind_ind(void)   { MOV_M(IND,IND); }
mov_ind_de(void)468 static void mov_ind_de(void)    { MOV_M(IND,DE);  }
mov_ind_ded(void)469 static void mov_ind_ded(void)   { MOV_M(IND,DED); }
mov_ind_ix(void)470 static void mov_ind_ix(void)    { MOV_M(IND,IX);  }
mov_ind_ixd(void)471 static void mov_ind_ixd(void)   { MOV_M(IND,IXD); }
mov_de_rg(void)472 static void mov_de_rg(void)     { MOV_M(DE,RG);   }
mov_de_rgd(void)473 static void mov_de_rgd(void)    { MOV_M(DE,RGD);  }
mov_de_in(void)474 static void mov_de_in(void)     { MOV_M(DE,IN);   }
mov_de_ind(void)475 static void mov_de_ind(void)    { MOV_M(DE,IND);  }
mov_de_de(void)476 static void mov_de_de(void)     { MOV_M(DE,DE);   }
mov_de_ded(void)477 static void mov_de_ded(void)    { MOV_M(DE,DED);  }
mov_de_ix(void)478 static void mov_de_ix(void)     { MOV_M(DE,IX);   }
mov_de_ixd(void)479 static void mov_de_ixd(void)    { MOV_M(DE,IXD);  }
mov_ded_rg(void)480 static void mov_ded_rg(void)    { MOV_M(DED,RG);  }
mov_ded_rgd(void)481 static void mov_ded_rgd(void)   { MOV_M(DED,RGD); }
mov_ded_in(void)482 static void mov_ded_in(void)    { MOV_M(DED,IN);  }
mov_ded_ind(void)483 static void mov_ded_ind(void)   { MOV_M(DED,IND); }
mov_ded_de(void)484 static void mov_ded_de(void)    { MOV_M(DED,DE);  }
mov_ded_ded(void)485 static void mov_ded_ded(void)   { MOV_M(DED,DED); }
mov_ded_ix(void)486 static void mov_ded_ix(void)    { MOV_M(DED,IX);  }
mov_ded_ixd(void)487 static void mov_ded_ixd(void)   { MOV_M(DED,IXD); }
mov_ix_rg(void)488 static void mov_ix_rg(void)     { MOV_M(IX,RG);   }
mov_ix_rgd(void)489 static void mov_ix_rgd(void)    { MOV_M(IX,RGD);  }
mov_ix_in(void)490 static void mov_ix_in(void)     { MOV_M(IX,IN);   }
mov_ix_ind(void)491 static void mov_ix_ind(void)    { MOV_M(IX,IND);  }
mov_ix_de(void)492 static void mov_ix_de(void)     { MOV_M(IX,DE);   }
mov_ix_ded(void)493 static void mov_ix_ded(void)    { MOV_M(IX,DED);  }
mov_ix_ix(void)494 static void mov_ix_ix(void)     { MOV_M(IX,IX);   }
mov_ix_ixd(void)495 static void mov_ix_ixd(void)    { MOV_M(IX,IXD);  }
mov_ixd_rg(void)496 static void mov_ixd_rg(void)    { MOV_M(IXD,RG);  }
mov_ixd_rgd(void)497 static void mov_ixd_rgd(void)   { MOV_M(IXD,RGD); }
mov_ixd_in(void)498 static void mov_ixd_in(void)    { MOV_M(IXD,IN);  }
mov_ixd_ind(void)499 static void mov_ixd_ind(void)   { MOV_M(IXD,IND); }
mov_ixd_de(void)500 static void mov_ixd_de(void)    { MOV_M(IXD,DE);  }
mov_ixd_ded(void)501 static void mov_ixd_ded(void)   { MOV_M(IXD,DED); }
mov_ixd_ix(void)502 static void mov_ixd_ix(void)    { MOV_M(IXD,IX);  }
mov_ixd_ixd(void)503 static void mov_ixd_ixd(void)   { MOV_M(IXD,IXD); }
504 
cmp_rg_rg(void)505 static void cmp_rg_rg(void)     { CMP_R(RG,RG);   }
cmp_rg_rgd(void)506 static void cmp_rg_rgd(void)    { CMP_M(RG,RGD);  }
cmp_rg_in(void)507 static void cmp_rg_in(void)     { CMP_M(RG,IN);   }
cmp_rg_ind(void)508 static void cmp_rg_ind(void)    { CMP_M(RG,IND);  }
cmp_rg_de(void)509 static void cmp_rg_de(void)     { CMP_M(RG,DE);   }
cmp_rg_ded(void)510 static void cmp_rg_ded(void)    { CMP_M(RG,DED);  }
cmp_rg_ix(void)511 static void cmp_rg_ix(void)     { CMP_M(RG,IX);   }
cmp_rg_ixd(void)512 static void cmp_rg_ixd(void)    { CMP_M(RG,IXD);  }
cmp_rgd_rg(void)513 static void cmp_rgd_rg(void)    { CMP_M(RGD,RG);  }
cmp_rgd_rgd(void)514 static void cmp_rgd_rgd(void)   { CMP_M(RGD,RGD); }
cmp_rgd_in(void)515 static void cmp_rgd_in(void)    { CMP_M(RGD,IN);  }
cmp_rgd_ind(void)516 static void cmp_rgd_ind(void)   { CMP_M(RGD,IND); }
cmp_rgd_de(void)517 static void cmp_rgd_de(void)    { CMP_M(RGD,DE);  }
cmp_rgd_ded(void)518 static void cmp_rgd_ded(void)   { CMP_M(RGD,DED); }
cmp_rgd_ix(void)519 static void cmp_rgd_ix(void)    { CMP_M(RGD,IX);  }
cmp_rgd_ixd(void)520 static void cmp_rgd_ixd(void)   { CMP_M(RGD,IXD); }
cmp_in_rg(void)521 static void cmp_in_rg(void)     { CMP_M(IN,RG);   }
cmp_in_rgd(void)522 static void cmp_in_rgd(void)    { CMP_M(IN,RGD);  }
cmp_in_in(void)523 static void cmp_in_in(void)     { CMP_M(IN,IN);   }
cmp_in_ind(void)524 static void cmp_in_ind(void)    { CMP_M(IN,IND);  }
cmp_in_de(void)525 static void cmp_in_de(void)     { CMP_M(IN,DE);   }
cmp_in_ded(void)526 static void cmp_in_ded(void)    { CMP_M(IN,DED);  }
cmp_in_ix(void)527 static void cmp_in_ix(void)     { CMP_M(IN,IX);   }
cmp_in_ixd(void)528 static void cmp_in_ixd(void)    { CMP_M(IN,IXD);  }
cmp_ind_rg(void)529 static void cmp_ind_rg(void)    { CMP_M(IND,RG);  }
cmp_ind_rgd(void)530 static void cmp_ind_rgd(void)   { CMP_M(IND,RGD); }
cmp_ind_in(void)531 static void cmp_ind_in(void)    { CMP_M(IND,IN);  }
cmp_ind_ind(void)532 static void cmp_ind_ind(void)   { CMP_M(IND,IND); }
cmp_ind_de(void)533 static void cmp_ind_de(void)    { CMP_M(IND,DE);  }
cmp_ind_ded(void)534 static void cmp_ind_ded(void)   { CMP_M(IND,DED); }
cmp_ind_ix(void)535 static void cmp_ind_ix(void)    { CMP_M(IND,IX);  }
cmp_ind_ixd(void)536 static void cmp_ind_ixd(void)   { CMP_M(IND,IXD); }
cmp_de_rg(void)537 static void cmp_de_rg(void)     { CMP_M(DE,RG);   }
cmp_de_rgd(void)538 static void cmp_de_rgd(void)    { CMP_M(DE,RGD);  }
cmp_de_in(void)539 static void cmp_de_in(void)     { CMP_M(DE,IN);   }
cmp_de_ind(void)540 static void cmp_de_ind(void)    { CMP_M(DE,IND);  }
cmp_de_de(void)541 static void cmp_de_de(void)     { CMP_M(DE,DE);   }
cmp_de_ded(void)542 static void cmp_de_ded(void)    { CMP_M(DE,DED);  }
cmp_de_ix(void)543 static void cmp_de_ix(void)     { CMP_M(DE,IX);   }
cmp_de_ixd(void)544 static void cmp_de_ixd(void)    { CMP_M(DE,IXD);  }
cmp_ded_rg(void)545 static void cmp_ded_rg(void)    { CMP_M(DED,RG);  }
cmp_ded_rgd(void)546 static void cmp_ded_rgd(void)   { CMP_M(DED,RGD); }
cmp_ded_in(void)547 static void cmp_ded_in(void)    { CMP_M(DED,IN);  }
cmp_ded_ind(void)548 static void cmp_ded_ind(void)   { CMP_M(DED,IND); }
cmp_ded_de(void)549 static void cmp_ded_de(void)    { CMP_M(DED,DE);  }
cmp_ded_ded(void)550 static void cmp_ded_ded(void)   { CMP_M(DED,DED); }
cmp_ded_ix(void)551 static void cmp_ded_ix(void)    { CMP_M(DED,IX);  }
cmp_ded_ixd(void)552 static void cmp_ded_ixd(void)   { CMP_M(DED,IXD); }
cmp_ix_rg(void)553 static void cmp_ix_rg(void)     { CMP_M(IX,RG);   }
cmp_ix_rgd(void)554 static void cmp_ix_rgd(void)    { CMP_M(IX,RGD);  }
cmp_ix_in(void)555 static void cmp_ix_in(void)     { CMP_M(IX,IN);   }
cmp_ix_ind(void)556 static void cmp_ix_ind(void)    { CMP_M(IX,IND);  }
cmp_ix_de(void)557 static void cmp_ix_de(void)     { CMP_M(IX,DE);   }
cmp_ix_ded(void)558 static void cmp_ix_ded(void)    { CMP_M(IX,DED);  }
cmp_ix_ix(void)559 static void cmp_ix_ix(void)     { CMP_M(IX,IX);   }
cmp_ix_ixd(void)560 static void cmp_ix_ixd(void)    { CMP_M(IX,IXD);  }
cmp_ixd_rg(void)561 static void cmp_ixd_rg(void)    { CMP_M(IXD,RG);  }
cmp_ixd_rgd(void)562 static void cmp_ixd_rgd(void)   { CMP_M(IXD,RGD); }
cmp_ixd_in(void)563 static void cmp_ixd_in(void)    { CMP_M(IXD,IN);  }
cmp_ixd_ind(void)564 static void cmp_ixd_ind(void)   { CMP_M(IXD,IND); }
cmp_ixd_de(void)565 static void cmp_ixd_de(void)    { CMP_M(IXD,DE);  }
cmp_ixd_ded(void)566 static void cmp_ixd_ded(void)   { CMP_M(IXD,DED); }
cmp_ixd_ix(void)567 static void cmp_ixd_ix(void)    { CMP_M(IXD,IX);  }
cmp_ixd_ixd(void)568 static void cmp_ixd_ixd(void)   { CMP_M(IXD,IXD); }
569 
bit_rg_rg(void)570 static void bit_rg_rg(void)     { BIT_R(RG,RG);   }
bit_rg_rgd(void)571 static void bit_rg_rgd(void)    { BIT_M(RG,RGD);  }
bit_rg_in(void)572 static void bit_rg_in(void)     { BIT_M(RG,IN);   }
bit_rg_ind(void)573 static void bit_rg_ind(void)    { BIT_M(RG,IND);  }
bit_rg_de(void)574 static void bit_rg_de(void)     { BIT_M(RG,DE);   }
bit_rg_ded(void)575 static void bit_rg_ded(void)    { BIT_M(RG,DED);  }
bit_rg_ix(void)576 static void bit_rg_ix(void)     { BIT_M(RG,IX);   }
bit_rg_ixd(void)577 static void bit_rg_ixd(void)    { BIT_M(RG,IXD);  }
bit_rgd_rg(void)578 static void bit_rgd_rg(void)    { BIT_M(RGD,RG);  }
bit_rgd_rgd(void)579 static void bit_rgd_rgd(void)   { BIT_M(RGD,RGD); }
bit_rgd_in(void)580 static void bit_rgd_in(void)    { BIT_M(RGD,IN);  }
bit_rgd_ind(void)581 static void bit_rgd_ind(void)   { BIT_M(RGD,IND); }
bit_rgd_de(void)582 static void bit_rgd_de(void)    { BIT_M(RGD,DE);  }
bit_rgd_ded(void)583 static void bit_rgd_ded(void)   { BIT_M(RGD,DED); }
bit_rgd_ix(void)584 static void bit_rgd_ix(void)    { BIT_M(RGD,IX);  }
bit_rgd_ixd(void)585 static void bit_rgd_ixd(void)   { BIT_M(RGD,IXD); }
bit_in_rg(void)586 static void bit_in_rg(void)     { BIT_M(IN,RG);   }
bit_in_rgd(void)587 static void bit_in_rgd(void)    { BIT_M(IN,RGD);  }
bit_in_in(void)588 static void bit_in_in(void)     { BIT_M(IN,IN);   }
bit_in_ind(void)589 static void bit_in_ind(void)    { BIT_M(IN,IND);  }
bit_in_de(void)590 static void bit_in_de(void)     { BIT_M(IN,DE);   }
bit_in_ded(void)591 static void bit_in_ded(void)    { BIT_M(IN,DED);  }
bit_in_ix(void)592 static void bit_in_ix(void)     { BIT_M(IN,IX);   }
bit_in_ixd(void)593 static void bit_in_ixd(void)    { BIT_M(IN,IXD);  }
bit_ind_rg(void)594 static void bit_ind_rg(void)    { BIT_M(IND,RG);  }
bit_ind_rgd(void)595 static void bit_ind_rgd(void)   { BIT_M(IND,RGD); }
bit_ind_in(void)596 static void bit_ind_in(void)    { BIT_M(IND,IN);  }
bit_ind_ind(void)597 static void bit_ind_ind(void)   { BIT_M(IND,IND); }
bit_ind_de(void)598 static void bit_ind_de(void)    { BIT_M(IND,DE);  }
bit_ind_ded(void)599 static void bit_ind_ded(void)   { BIT_M(IND,DED); }
bit_ind_ix(void)600 static void bit_ind_ix(void)    { BIT_M(IND,IX);  }
bit_ind_ixd(void)601 static void bit_ind_ixd(void)   { BIT_M(IND,IXD); }
bit_de_rg(void)602 static void bit_de_rg(void)     { BIT_M(DE,RG);   }
bit_de_rgd(void)603 static void bit_de_rgd(void)    { BIT_M(DE,RGD);  }
bit_de_in(void)604 static void bit_de_in(void)     { BIT_M(DE,IN);   }
bit_de_ind(void)605 static void bit_de_ind(void)    { BIT_M(DE,IND);  }
bit_de_de(void)606 static void bit_de_de(void)     { BIT_M(DE,DE);   }
bit_de_ded(void)607 static void bit_de_ded(void)    { BIT_M(DE,DED);  }
bit_de_ix(void)608 static void bit_de_ix(void)     { BIT_M(DE,IX);   }
bit_de_ixd(void)609 static void bit_de_ixd(void)    { BIT_M(DE,IXD);  }
bit_ded_rg(void)610 static void bit_ded_rg(void)    { BIT_M(DED,RG);  }
bit_ded_rgd(void)611 static void bit_ded_rgd(void)   { BIT_M(DED,RGD); }
bit_ded_in(void)612 static void bit_ded_in(void)    { BIT_M(DED,IN);  }
bit_ded_ind(void)613 static void bit_ded_ind(void)   { BIT_M(DED,IND); }
bit_ded_de(void)614 static void bit_ded_de(void)    { BIT_M(DED,DE);  }
bit_ded_ded(void)615 static void bit_ded_ded(void)   { BIT_M(DED,DED); }
bit_ded_ix(void)616 static void bit_ded_ix(void)    { BIT_M(DED,IX);  }
bit_ded_ixd(void)617 static void bit_ded_ixd(void)   { BIT_M(DED,IXD); }
bit_ix_rg(void)618 static void bit_ix_rg(void)     { BIT_M(IX,RG);   }
bit_ix_rgd(void)619 static void bit_ix_rgd(void)    { BIT_M(IX,RGD);  }
bit_ix_in(void)620 static void bit_ix_in(void)     { BIT_M(IX,IN);   }
bit_ix_ind(void)621 static void bit_ix_ind(void)    { BIT_M(IX,IND);  }
bit_ix_de(void)622 static void bit_ix_de(void)     { BIT_M(IX,DE);   }
bit_ix_ded(void)623 static void bit_ix_ded(void)    { BIT_M(IX,DED);  }
bit_ix_ix(void)624 static void bit_ix_ix(void)     { BIT_M(IX,IX);   }
bit_ix_ixd(void)625 static void bit_ix_ixd(void)    { BIT_M(IX,IXD);  }
bit_ixd_rg(void)626 static void bit_ixd_rg(void)    { BIT_M(IXD,RG);  }
bit_ixd_rgd(void)627 static void bit_ixd_rgd(void)   { BIT_M(IXD,RGD); }
bit_ixd_in(void)628 static void bit_ixd_in(void)    { BIT_M(IXD,IN);  }
bit_ixd_ind(void)629 static void bit_ixd_ind(void)   { BIT_M(IXD,IND); }
bit_ixd_de(void)630 static void bit_ixd_de(void)    { BIT_M(IXD,DE);  }
bit_ixd_ded(void)631 static void bit_ixd_ded(void)   { BIT_M(IXD,DED); }
bit_ixd_ix(void)632 static void bit_ixd_ix(void)    { BIT_M(IXD,IX);  }
bit_ixd_ixd(void)633 static void bit_ixd_ixd(void)   { BIT_M(IXD,IXD); }
634 
bic_rg_rg(void)635 static void bic_rg_rg(void)     { BIC_R(RG,RG);   }
bic_rg_rgd(void)636 static void bic_rg_rgd(void)    { BIC_M(RG,RGD);  }
bic_rg_in(void)637 static void bic_rg_in(void)     { BIC_M(RG,IN);   }
bic_rg_ind(void)638 static void bic_rg_ind(void)    { BIC_M(RG,IND);  }
bic_rg_de(void)639 static void bic_rg_de(void)     { BIC_M(RG,DE);   }
bic_rg_ded(void)640 static void bic_rg_ded(void)    { BIC_M(RG,DED);  }
bic_rg_ix(void)641 static void bic_rg_ix(void)     { BIC_M(RG,IX);   }
bic_rg_ixd(void)642 static void bic_rg_ixd(void)    { BIC_M(RG,IXD);  }
bic_rgd_rg(void)643 static void bic_rgd_rg(void)    { BIC_X(RGD,RG);  }
bic_rgd_rgd(void)644 static void bic_rgd_rgd(void)   { BIC_M(RGD,RGD); }
bic_rgd_in(void)645 static void bic_rgd_in(void)    { BIC_M(RGD,IN);  }
bic_rgd_ind(void)646 static void bic_rgd_ind(void)   { BIC_M(RGD,IND); }
bic_rgd_de(void)647 static void bic_rgd_de(void)    { BIC_M(RGD,DE);  }
bic_rgd_ded(void)648 static void bic_rgd_ded(void)   { BIC_M(RGD,DED); }
bic_rgd_ix(void)649 static void bic_rgd_ix(void)    { BIC_M(RGD,IX);  }
bic_rgd_ixd(void)650 static void bic_rgd_ixd(void)   { BIC_M(RGD,IXD); }
bic_in_rg(void)651 static void bic_in_rg(void)     { BIC_X(IN,RG);   }
bic_in_rgd(void)652 static void bic_in_rgd(void)    { BIC_M(IN,RGD);  }
bic_in_in(void)653 static void bic_in_in(void)     { BIC_M(IN,IN);   }
bic_in_ind(void)654 static void bic_in_ind(void)    { BIC_M(IN,IND);  }
bic_in_de(void)655 static void bic_in_de(void)     { BIC_M(IN,DE);   }
bic_in_ded(void)656 static void bic_in_ded(void)    { BIC_M(IN,DED);  }
bic_in_ix(void)657 static void bic_in_ix(void)     { BIC_M(IN,IX);   }
bic_in_ixd(void)658 static void bic_in_ixd(void)    { BIC_M(IN,IXD);  }
bic_ind_rg(void)659 static void bic_ind_rg(void)    { BIC_X(IND,RG);  }
bic_ind_rgd(void)660 static void bic_ind_rgd(void)   { BIC_M(IND,RGD); }
bic_ind_in(void)661 static void bic_ind_in(void)    { BIC_M(IND,IN);  }
bic_ind_ind(void)662 static void bic_ind_ind(void)   { BIC_M(IND,IND); }
bic_ind_de(void)663 static void bic_ind_de(void)    { BIC_M(IND,DE);  }
bic_ind_ded(void)664 static void bic_ind_ded(void)   { BIC_M(IND,DED); }
bic_ind_ix(void)665 static void bic_ind_ix(void)    { BIC_M(IND,IX);  }
bic_ind_ixd(void)666 static void bic_ind_ixd(void)   { BIC_M(IND,IXD); }
bic_de_rg(void)667 static void bic_de_rg(void)     { BIC_X(DE,RG);   }
bic_de_rgd(void)668 static void bic_de_rgd(void)    { BIC_M(DE,RGD);  }
bic_de_in(void)669 static void bic_de_in(void)     { BIC_M(DE,IN);   }
bic_de_ind(void)670 static void bic_de_ind(void)    { BIC_M(DE,IND);  }
bic_de_de(void)671 static void bic_de_de(void)     { BIC_M(DE,DE);   }
bic_de_ded(void)672 static void bic_de_ded(void)    { BIC_M(DE,DED);  }
bic_de_ix(void)673 static void bic_de_ix(void)     { BIC_M(DE,IX);   }
bic_de_ixd(void)674 static void bic_de_ixd(void)    { BIC_M(DE,IXD);  }
bic_ded_rg(void)675 static void bic_ded_rg(void)    { BIC_X(DED,RG);  }
bic_ded_rgd(void)676 static void bic_ded_rgd(void)   { BIC_M(DED,RGD); }
bic_ded_in(void)677 static void bic_ded_in(void)    { BIC_M(DED,IN);  }
bic_ded_ind(void)678 static void bic_ded_ind(void)   { BIC_M(DED,IND); }
bic_ded_de(void)679 static void bic_ded_de(void)    { BIC_M(DED,DE);  }
bic_ded_ded(void)680 static void bic_ded_ded(void)   { BIC_M(DED,DED); }
bic_ded_ix(void)681 static void bic_ded_ix(void)    { BIC_M(DED,IX);  }
bic_ded_ixd(void)682 static void bic_ded_ixd(void)   { BIC_M(DED,IXD); }
bic_ix_rg(void)683 static void bic_ix_rg(void)     { BIC_X(IX,RG);   }
bic_ix_rgd(void)684 static void bic_ix_rgd(void)    { BIC_M(IX,RGD);  }
bic_ix_in(void)685 static void bic_ix_in(void)     { BIC_M(IX,IN);   }
bic_ix_ind(void)686 static void bic_ix_ind(void)    { BIC_M(IX,IND);  }
bic_ix_de(void)687 static void bic_ix_de(void)     { BIC_M(IX,DE);   }
bic_ix_ded(void)688 static void bic_ix_ded(void)    { BIC_M(IX,DED);  }
bic_ix_ix(void)689 static void bic_ix_ix(void)     { BIC_M(IX,IX);   }
bic_ix_ixd(void)690 static void bic_ix_ixd(void)    { BIC_M(IX,IXD);  }
bic_ixd_rg(void)691 static void bic_ixd_rg(void)    { BIC_X(IXD,RG);  }
bic_ixd_rgd(void)692 static void bic_ixd_rgd(void)   { BIC_M(IXD,RGD); }
bic_ixd_in(void)693 static void bic_ixd_in(void)    { BIC_M(IXD,IN);  }
bic_ixd_ind(void)694 static void bic_ixd_ind(void)   { BIC_M(IXD,IND); }
bic_ixd_de(void)695 static void bic_ixd_de(void)    { BIC_M(IXD,DE);  }
bic_ixd_ded(void)696 static void bic_ixd_ded(void)   { BIC_M(IXD,DED); }
bic_ixd_ix(void)697 static void bic_ixd_ix(void)    { BIC_M(IXD,IX);  }
bic_ixd_ixd(void)698 static void bic_ixd_ixd(void)   { BIC_M(IXD,IXD); }
699 
bis_rg_rg(void)700 static void bis_rg_rg(void)     { BIS_R(RG,RG);   }
bis_rg_rgd(void)701 static void bis_rg_rgd(void)    { BIS_M(RG,RGD);  }
bis_rg_in(void)702 static void bis_rg_in(void)     { BIS_M(RG,IN);   }
bis_rg_ind(void)703 static void bis_rg_ind(void)    { BIS_M(RG,IND);  }
bis_rg_de(void)704 static void bis_rg_de(void)     { BIS_M(RG,DE);   }
bis_rg_ded(void)705 static void bis_rg_ded(void)    { BIS_M(RG,DED);  }
bis_rg_ix(void)706 static void bis_rg_ix(void)     { BIS_M(RG,IX);   }
bis_rg_ixd(void)707 static void bis_rg_ixd(void)    { BIS_M(RG,IXD);  }
bis_rgd_rg(void)708 static void bis_rgd_rg(void)    { BIS_X(RGD,RG);  }
bis_rgd_rgd(void)709 static void bis_rgd_rgd(void)   { BIS_M(RGD,RGD); }
bis_rgd_in(void)710 static void bis_rgd_in(void)    { BIS_M(RGD,IN);  }
bis_rgd_ind(void)711 static void bis_rgd_ind(void)   { BIS_M(RGD,IND); }
bis_rgd_de(void)712 static void bis_rgd_de(void)    { BIS_M(RGD,DE);  }
bis_rgd_ded(void)713 static void bis_rgd_ded(void)   { BIS_M(RGD,DED); }
bis_rgd_ix(void)714 static void bis_rgd_ix(void)    { BIS_M(RGD,IX);  }
bis_rgd_ixd(void)715 static void bis_rgd_ixd(void)   { BIS_M(RGD,IXD); }
bis_in_rg(void)716 static void bis_in_rg(void)     { BIS_X(IN,RG);   }
bis_in_rgd(void)717 static void bis_in_rgd(void)    { BIS_M(IN,RGD);  }
bis_in_in(void)718 static void bis_in_in(void)     { BIS_M(IN,IN);   }
bis_in_ind(void)719 static void bis_in_ind(void)    { BIS_M(IN,IND);  }
bis_in_de(void)720 static void bis_in_de(void)     { BIS_M(IN,DE);   }
bis_in_ded(void)721 static void bis_in_ded(void)    { BIS_M(IN,DED);  }
bis_in_ix(void)722 static void bis_in_ix(void)     { BIS_M(IN,IX);   }
bis_in_ixd(void)723 static void bis_in_ixd(void)    { BIS_M(IN,IXD);  }
bis_ind_rg(void)724 static void bis_ind_rg(void)    { BIS_X(IND,RG);  }
bis_ind_rgd(void)725 static void bis_ind_rgd(void)   { BIS_M(IND,RGD); }
bis_ind_in(void)726 static void bis_ind_in(void)    { BIS_M(IND,IN);  }
bis_ind_ind(void)727 static void bis_ind_ind(void)   { BIS_M(IND,IND); }
bis_ind_de(void)728 static void bis_ind_de(void)    { BIS_M(IND,DE);  }
bis_ind_ded(void)729 static void bis_ind_ded(void)   { BIS_M(IND,DED); }
bis_ind_ix(void)730 static void bis_ind_ix(void)    { BIS_M(IND,IX);  }
bis_ind_ixd(void)731 static void bis_ind_ixd(void)   { BIS_M(IND,IXD); }
bis_de_rg(void)732 static void bis_de_rg(void)     { BIS_X(DE,RG);   }
bis_de_rgd(void)733 static void bis_de_rgd(void)    { BIS_M(DE,RGD);  }
bis_de_in(void)734 static void bis_de_in(void)     { BIS_M(DE,IN);   }
bis_de_ind(void)735 static void bis_de_ind(void)    { BIS_M(DE,IND);  }
bis_de_de(void)736 static void bis_de_de(void)     { BIS_M(DE,DE);   }
bis_de_ded(void)737 static void bis_de_ded(void)    { BIS_M(DE,DED);  }
bis_de_ix(void)738 static void bis_de_ix(void)     { BIS_M(DE,IX);   }
bis_de_ixd(void)739 static void bis_de_ixd(void)    { BIS_M(DE,IXD);  }
bis_ded_rg(void)740 static void bis_ded_rg(void)    { BIS_X(DED,RG);  }
bis_ded_rgd(void)741 static void bis_ded_rgd(void)   { BIS_M(DED,RGD); }
bis_ded_in(void)742 static void bis_ded_in(void)    { BIS_M(DED,IN);  }
bis_ded_ind(void)743 static void bis_ded_ind(void)   { BIS_M(DED,IND); }
bis_ded_de(void)744 static void bis_ded_de(void)    { BIS_M(DED,DE);  }
bis_ded_ded(void)745 static void bis_ded_ded(void)   { BIS_M(DED,DED); }
bis_ded_ix(void)746 static void bis_ded_ix(void)    { BIS_M(DED,IX);  }
bis_ded_ixd(void)747 static void bis_ded_ixd(void)   { BIS_M(DED,IXD); }
bis_ix_rg(void)748 static void bis_ix_rg(void)     { BIS_X(IX,RG);   }
bis_ix_rgd(void)749 static void bis_ix_rgd(void)    { BIS_M(IX,RGD);  }
bis_ix_in(void)750 static void bis_ix_in(void)     { BIS_M(IX,IN);   }
bis_ix_ind(void)751 static void bis_ix_ind(void)    { BIS_M(IX,IND);  }
bis_ix_de(void)752 static void bis_ix_de(void)     { BIS_M(IX,DE);   }
bis_ix_ded(void)753 static void bis_ix_ded(void)    { BIS_M(IX,DED);  }
bis_ix_ix(void)754 static void bis_ix_ix(void)     { BIS_M(IX,IX);   }
bis_ix_ixd(void)755 static void bis_ix_ixd(void)    { BIS_M(IX,IXD);  }
bis_ixd_rg(void)756 static void bis_ixd_rg(void)    { BIS_X(IXD,RG);  }
bis_ixd_rgd(void)757 static void bis_ixd_rgd(void)   { BIS_M(IXD,RGD); }
bis_ixd_in(void)758 static void bis_ixd_in(void)    { BIS_M(IXD,IN);  }
bis_ixd_ind(void)759 static void bis_ixd_ind(void)   { BIS_M(IXD,IND); }
bis_ixd_de(void)760 static void bis_ixd_de(void)    { BIS_M(IXD,DE);  }
bis_ixd_ded(void)761 static void bis_ixd_ded(void)   { BIS_M(IXD,DED); }
bis_ixd_ix(void)762 static void bis_ixd_ix(void)    { BIS_M(IXD,IX);  }
bis_ixd_ixd(void)763 static void bis_ixd_ixd(void)   { BIS_M(IXD,IXD); }
764 
add_rg_rg(void)765 static void add_rg_rg(void)     { ADD_R(RG,RG);   }
add_rg_rgd(void)766 static void add_rg_rgd(void)    { ADD_M(RG,RGD);  }
add_rg_in(void)767 static void add_rg_in(void)     { ADD_M(RG,IN);   }
add_rg_ind(void)768 static void add_rg_ind(void)    { ADD_M(RG,IND);  }
add_rg_de(void)769 static void add_rg_de(void)     { ADD_M(RG,DE);   }
add_rg_ded(void)770 static void add_rg_ded(void)    { ADD_M(RG,DED);  }
add_rg_ix(void)771 static void add_rg_ix(void)     { ADD_M(RG,IX);   }
add_rg_ixd(void)772 static void add_rg_ixd(void)    { ADD_M(RG,IXD);  }
add_rgd_rg(void)773 static void add_rgd_rg(void)    { ADD_X(RGD,RG);  }
add_rgd_rgd(void)774 static void add_rgd_rgd(void)   { ADD_M(RGD,RGD); }
add_rgd_in(void)775 static void add_rgd_in(void)    { ADD_M(RGD,IN);  }
add_rgd_ind(void)776 static void add_rgd_ind(void)   { ADD_M(RGD,IND); }
add_rgd_de(void)777 static void add_rgd_de(void)    { ADD_M(RGD,DE);  }
add_rgd_ded(void)778 static void add_rgd_ded(void)   { ADD_M(RGD,DED); }
add_rgd_ix(void)779 static void add_rgd_ix(void)    { ADD_M(RGD,IX);  }
add_rgd_ixd(void)780 static void add_rgd_ixd(void)   { ADD_M(RGD,IXD); }
add_in_rg(void)781 static void add_in_rg(void)     { ADD_X(IN,RG);   }
add_in_rgd(void)782 static void add_in_rgd(void)    { ADD_M(IN,RGD);  }
add_in_in(void)783 static void add_in_in(void)     { ADD_M(IN,IN);   }
add_in_ind(void)784 static void add_in_ind(void)    { ADD_M(IN,IND);  }
add_in_de(void)785 static void add_in_de(void)     { ADD_M(IN,DE);   }
add_in_ded(void)786 static void add_in_ded(void)    { ADD_M(IN,DED);  }
add_in_ix(void)787 static void add_in_ix(void)     { ADD_M(IN,IX);   }
add_in_ixd(void)788 static void add_in_ixd(void)    { ADD_M(IN,IXD);  }
add_ind_rg(void)789 static void add_ind_rg(void)    { ADD_X(IND,RG);  }
add_ind_rgd(void)790 static void add_ind_rgd(void)   { ADD_M(IND,RGD); }
add_ind_in(void)791 static void add_ind_in(void)    { ADD_M(IND,IN);  }
add_ind_ind(void)792 static void add_ind_ind(void)   { ADD_M(IND,IND); }
add_ind_de(void)793 static void add_ind_de(void)    { ADD_M(IND,DE);  }
add_ind_ded(void)794 static void add_ind_ded(void)   { ADD_M(IND,DED); }
add_ind_ix(void)795 static void add_ind_ix(void)    { ADD_M(IND,IX);  }
add_ind_ixd(void)796 static void add_ind_ixd(void)   { ADD_M(IND,IXD); }
add_de_rg(void)797 static void add_de_rg(void)     { ADD_X(DE,RG);   }
add_de_rgd(void)798 static void add_de_rgd(void)    { ADD_M(DE,RGD);  }
add_de_in(void)799 static void add_de_in(void)     { ADD_M(DE,IN);   }
add_de_ind(void)800 static void add_de_ind(void)    { ADD_M(DE,IND);  }
add_de_de(void)801 static void add_de_de(void)     { ADD_M(DE,DE);   }
add_de_ded(void)802 static void add_de_ded(void)    { ADD_M(DE,DED);  }
add_de_ix(void)803 static void add_de_ix(void)     { ADD_M(DE,IX);   }
add_de_ixd(void)804 static void add_de_ixd(void)    { ADD_M(DE,IXD);  }
add_ded_rg(void)805 static void add_ded_rg(void)    { ADD_X(DED,RG);  }
add_ded_rgd(void)806 static void add_ded_rgd(void)   { ADD_M(DED,RGD); }
add_ded_in(void)807 static void add_ded_in(void)    { ADD_M(DED,IN);  }
add_ded_ind(void)808 static void add_ded_ind(void)   { ADD_M(DED,IND); }
add_ded_de(void)809 static void add_ded_de(void)    { ADD_M(DED,DE);  }
add_ded_ded(void)810 static void add_ded_ded(void)   { ADD_M(DED,DED); }
add_ded_ix(void)811 static void add_ded_ix(void)    { ADD_M(DED,IX);  }
add_ded_ixd(void)812 static void add_ded_ixd(void)   { ADD_M(DED,IXD); }
add_ix_rg(void)813 static void add_ix_rg(void)     { ADD_X(IX,RG);   }
add_ix_rgd(void)814 static void add_ix_rgd(void)    { ADD_M(IX,RGD);  }
add_ix_in(void)815 static void add_ix_in(void)     { ADD_M(IX,IN);   }
add_ix_ind(void)816 static void add_ix_ind(void)    { ADD_M(IX,IND);  }
add_ix_de(void)817 static void add_ix_de(void)     { ADD_M(IX,DE);   }
add_ix_ded(void)818 static void add_ix_ded(void)    { ADD_M(IX,DED);  }
add_ix_ix(void)819 static void add_ix_ix(void)     { ADD_M(IX,IX);   }
add_ix_ixd(void)820 static void add_ix_ixd(void)    { ADD_M(IX,IXD);  }
add_ixd_rg(void)821 static void add_ixd_rg(void)    { ADD_X(IXD,RG);  }
add_ixd_rgd(void)822 static void add_ixd_rgd(void)   { ADD_M(IXD,RGD); }
add_ixd_in(void)823 static void add_ixd_in(void)    { ADD_M(IXD,IN);  }
add_ixd_ind(void)824 static void add_ixd_ind(void)   { ADD_M(IXD,IND); }
add_ixd_de(void)825 static void add_ixd_de(void)    { ADD_M(IXD,DE);  }
add_ixd_ded(void)826 static void add_ixd_ded(void)   { ADD_M(IXD,DED); }
add_ixd_ix(void)827 static void add_ixd_ix(void)    { ADD_M(IXD,IX);  }
add_ixd_ixd(void)828 static void add_ixd_ixd(void)   { ADD_M(IXD,IXD); }
829 
xor_rg(void)830 static void xor_rg(void)        { XOR_R(RG);  }
xor_rgd(void)831 static void xor_rgd(void)       { XOR_M(RGD); }
xor_in(void)832 static void xor_in(void)        { XOR_M(IN);  }
xor_ind(void)833 static void xor_ind(void)       { XOR_M(IND); }
xor_de(void)834 static void xor_de(void)        { XOR_M(DE);  }
xor_ded(void)835 static void xor_ded(void)       { XOR_M(DED); }
xor_ix(void)836 static void xor_ix(void)        { XOR_M(IX);  }
xor_ixd(void)837 static void xor_ixd(void)       { XOR_M(IXD); }
838 
sob(void)839 static void sob(void)
840 {
841 	int sreg, source;
842 
843 	GET_SREG; source = REGD(sreg);
844 	source -= 1;
845 	REGW(sreg) = source;
846 	if (source)
847 		PC -= 2 * (t11.op & 0x3f);
848 }
849 
bpl(void)850 static void bpl(void)           { BR(!GET_N); }
bmi(void)851 static void bmi(void)           { BR( GET_N); }
bhi(void)852 static void bhi(void)           { BR(!GET_C && !GET_Z); }
blos(void)853 static void blos(void)          { BR( GET_C ||  GET_Z); }
bvc(void)854 static void bvc(void)           { BR(!GET_V); }
bvs(void)855 static void bvs(void)           { BR( GET_V); }
bcc(void)856 static void bcc(void)           { BR(!GET_C); }
bcs(void)857 static void bcs(void)           { BR( GET_C); }
858 
emt(void)859 static void emt(void)
860 {
861 	PUSH(PSW);
862 	PUSH(PC);
863 	PC = RWORD(0x18);
864 	PSW = RWORD(0x1a);
865 	t11_check_irqs();
866 }
867 
trap(void)868 static void trap(void)
869 {
870 	PUSH(PSW);
871 	PUSH(PC);
872 	PC = RWORD(0x1c);
873 	PSW = RWORD(0x1e);
874 	t11_check_irqs();
875 }
876 
clrb_rg(void)877 static void clrb_rg(void)       { CLRB_R(RG);  }
clrb_rgd(void)878 static void clrb_rgd(void)      { CLRB_M(RGD); }
clrb_in(void)879 static void clrb_in(void)       { CLRB_M(IN);  }
clrb_ind(void)880 static void clrb_ind(void)      { CLRB_M(IND); }
clrb_de(void)881 static void clrb_de(void)       { CLRB_M(DE);  }
clrb_ded(void)882 static void clrb_ded(void)      { CLRB_M(DED); }
clrb_ix(void)883 static void clrb_ix(void)       { CLRB_M(IX);  }
clrb_ixd(void)884 static void clrb_ixd(void)      { CLRB_M(IXD); }
885 
comb_rg(void)886 static void comb_rg(void)       { COMB_R(RG);  }
comb_rgd(void)887 static void comb_rgd(void)      { COMB_M(RGD); }
comb_in(void)888 static void comb_in(void)       { COMB_M(IN);  }
comb_ind(void)889 static void comb_ind(void)      { COMB_M(IND); }
comb_de(void)890 static void comb_de(void)       { COMB_M(DE);  }
comb_ded(void)891 static void comb_ded(void)      { COMB_M(DED); }
comb_ix(void)892 static void comb_ix(void)       { COMB_M(IX);  }
comb_ixd(void)893 static void comb_ixd(void)      { COMB_M(IXD); }
894 
incb_rg(void)895 static void incb_rg(void)       { INCB_R(RG);  }
incb_rgd(void)896 static void incb_rgd(void)      { INCB_M(RGD); }
incb_in(void)897 static void incb_in(void)       { INCB_M(IN);  }
incb_ind(void)898 static void incb_ind(void)      { INCB_M(IND); }
incb_de(void)899 static void incb_de(void)       { INCB_M(DE);  }
incb_ded(void)900 static void incb_ded(void)      { INCB_M(DED); }
incb_ix(void)901 static void incb_ix(void)       { INCB_M(IX);  }
incb_ixd(void)902 static void incb_ixd(void)      { INCB_M(IXD); }
903 
decb_rg(void)904 static void decb_rg(void)       { DECB_R(RG);  }
decb_rgd(void)905 static void decb_rgd(void)      { DECB_M(RGD); }
decb_in(void)906 static void decb_in(void)       { DECB_M(IN);  }
decb_ind(void)907 static void decb_ind(void)      { DECB_M(IND); }
decb_de(void)908 static void decb_de(void)       { DECB_M(DE);  }
decb_ded(void)909 static void decb_ded(void)      { DECB_M(DED); }
decb_ix(void)910 static void decb_ix(void)       { DECB_M(IX);  }
decb_ixd(void)911 static void decb_ixd(void)      { DECB_M(IXD); }
912 
negb_rg(void)913 static void negb_rg(void)       { NEGB_R(RG);  }
negb_rgd(void)914 static void negb_rgd(void)      { NEGB_M(RGD); }
negb_in(void)915 static void negb_in(void)       { NEGB_M(IN);  }
negb_ind(void)916 static void negb_ind(void)      { NEGB_M(IND); }
negb_de(void)917 static void negb_de(void)       { NEGB_M(DE);  }
negb_ded(void)918 static void negb_ded(void)      { NEGB_M(DED); }
negb_ix(void)919 static void negb_ix(void)       { NEGB_M(IX);  }
negb_ixd(void)920 static void negb_ixd(void)      { NEGB_M(IXD); }
921 
adcb_rg(void)922 static void adcb_rg(void)       { ADCB_R(RG);  }
adcb_rgd(void)923 static void adcb_rgd(void)      { ADCB_M(RGD); }
adcb_in(void)924 static void adcb_in(void)       { ADCB_M(IN);  }
adcb_ind(void)925 static void adcb_ind(void)      { ADCB_M(IND); }
adcb_de(void)926 static void adcb_de(void)       { ADCB_M(DE);  }
adcb_ded(void)927 static void adcb_ded(void)      { ADCB_M(DED); }
adcb_ix(void)928 static void adcb_ix(void)       { ADCB_M(IX);  }
adcb_ixd(void)929 static void adcb_ixd(void)      { ADCB_M(IXD); }
930 
sbcb_rg(void)931 static void sbcb_rg(void)       { SBCB_R(RG);  }
sbcb_rgd(void)932 static void sbcb_rgd(void)      { SBCB_M(RGD); }
sbcb_in(void)933 static void sbcb_in(void)       { SBCB_M(IN);  }
sbcb_ind(void)934 static void sbcb_ind(void)      { SBCB_M(IND); }
sbcb_de(void)935 static void sbcb_de(void)       { SBCB_M(DE);  }
sbcb_ded(void)936 static void sbcb_ded(void)      { SBCB_M(DED); }
sbcb_ix(void)937 static void sbcb_ix(void)       { SBCB_M(IX);  }
sbcb_ixd(void)938 static void sbcb_ixd(void)      { SBCB_M(IXD); }
939 
tstb_rg(void)940 static void tstb_rg(void)       { TSTB_R(RG);  }
tstb_rgd(void)941 static void tstb_rgd(void)      { TSTB_M(RGD); }
tstb_in(void)942 static void tstb_in(void)       { TSTB_M(IN);  }
tstb_ind(void)943 static void tstb_ind(void)      { TSTB_M(IND); }
tstb_de(void)944 static void tstb_de(void)       { TSTB_M(DE);  }
tstb_ded(void)945 static void tstb_ded(void)      { TSTB_M(DED); }
tstb_ix(void)946 static void tstb_ix(void)       { TSTB_M(IX);  }
tstb_ixd(void)947 static void tstb_ixd(void)      { TSTB_M(IXD); }
948 
rorb_rg(void)949 static void rorb_rg(void)       { RORB_R(RG);  }
rorb_rgd(void)950 static void rorb_rgd(void)      { RORB_M(RGD); }
rorb_in(void)951 static void rorb_in(void)       { RORB_M(IN);  }
rorb_ind(void)952 static void rorb_ind(void)      { RORB_M(IND); }
rorb_de(void)953 static void rorb_de(void)       { RORB_M(DE);  }
rorb_ded(void)954 static void rorb_ded(void)      { RORB_M(DED); }
rorb_ix(void)955 static void rorb_ix(void)       { RORB_M(IX);  }
rorb_ixd(void)956 static void rorb_ixd(void)      { RORB_M(IXD); }
957 
rolb_rg(void)958 static void rolb_rg(void)       { ROLB_R(RG);  }
rolb_rgd(void)959 static void rolb_rgd(void)      { ROLB_M(RGD); }
rolb_in(void)960 static void rolb_in(void)       { ROLB_M(IN);  }
rolb_ind(void)961 static void rolb_ind(void)      { ROLB_M(IND); }
rolb_de(void)962 static void rolb_de(void)       { ROLB_M(DE);  }
rolb_ded(void)963 static void rolb_ded(void)      { ROLB_M(DED); }
rolb_ix(void)964 static void rolb_ix(void)       { ROLB_M(IX);  }
rolb_ixd(void)965 static void rolb_ixd(void)      { ROLB_M(IXD); }
966 
asrb_rg(void)967 static void asrb_rg(void)       { ASRB_R(RG);  }
asrb_rgd(void)968 static void asrb_rgd(void)      { ASRB_M(RGD); }
asrb_in(void)969 static void asrb_in(void)       { ASRB_M(IN);  }
asrb_ind(void)970 static void asrb_ind(void)      { ASRB_M(IND); }
asrb_de(void)971 static void asrb_de(void)       { ASRB_M(DE);  }
asrb_ded(void)972 static void asrb_ded(void)      { ASRB_M(DED); }
asrb_ix(void)973 static void asrb_ix(void)       { ASRB_M(IX);  }
asrb_ixd(void)974 static void asrb_ixd(void)      { ASRB_M(IXD); }
975 
aslb_rg(void)976 static void aslb_rg(void)       { ASLB_R(RG);  }
aslb_rgd(void)977 static void aslb_rgd(void)      { ASLB_M(RGD); }
aslb_in(void)978 static void aslb_in(void)       { ASLB_M(IN);  }
aslb_ind(void)979 static void aslb_ind(void)      { ASLB_M(IND); }
aslb_de(void)980 static void aslb_de(void)       { ASLB_M(DE);  }
aslb_ded(void)981 static void aslb_ded(void)      { ASLB_M(DED); }
aslb_ix(void)982 static void aslb_ix(void)       { ASLB_M(IX);  }
aslb_ixd(void)983 static void aslb_ixd(void)      { ASLB_M(IXD); }
984 
mtps_rg(void)985 static void mtps_rg(void)       { MTPS_R(RG);  }
mtps_rgd(void)986 static void mtps_rgd(void)      { MTPS_M(RGD); }
mtps_in(void)987 static void mtps_in(void)       { MTPS_M(IN);  }
mtps_ind(void)988 static void mtps_ind(void)      { MTPS_M(IND); }
mtps_de(void)989 static void mtps_de(void)       { MTPS_M(DE);  }
mtps_ded(void)990 static void mtps_ded(void)      { MTPS_M(DED); }
mtps_ix(void)991 static void mtps_ix(void)       { MTPS_M(IX);  }
mtps_ixd(void)992 static void mtps_ixd(void)      { MTPS_M(IXD); }
993 
mfps_rg(void)994 static void mfps_rg(void)       { MFPS_R(RG);  }
mfps_rgd(void)995 static void mfps_rgd(void)      { MFPS_M(RGD); }
mfps_in(void)996 static void mfps_in(void)       { MFPS_M(IN);  }
mfps_ind(void)997 static void mfps_ind(void)      { MFPS_M(IND); }
mfps_de(void)998 static void mfps_de(void)       { MFPS_M(DE);  }
mfps_ded(void)999 static void mfps_ded(void)      { MFPS_M(DED); }
mfps_ix(void)1000 static void mfps_ix(void)       { MFPS_M(IX);  }
mfps_ixd(void)1001 static void mfps_ixd(void)      { MFPS_M(IXD); }
1002 
movb_rg_rg(void)1003 static void movb_rg_rg(void)     { MOVB_R(RG,RG);   }
movb_rg_rgd(void)1004 static void movb_rg_rgd(void)    { MOVB_M(RG,RGD);  }
movb_rg_in(void)1005 static void movb_rg_in(void)     { MOVB_M(RG,IN);   }
movb_rg_ind(void)1006 static void movb_rg_ind(void)    { MOVB_M(RG,IND);  }
movb_rg_de(void)1007 static void movb_rg_de(void)     { MOVB_M(RG,DE);   }
movb_rg_ded(void)1008 static void movb_rg_ded(void)    { MOVB_M(RG,DED);  }
movb_rg_ix(void)1009 static void movb_rg_ix(void)     { MOVB_M(RG,IX);   }
movb_rg_ixd(void)1010 static void movb_rg_ixd(void)    { MOVB_M(RG,IXD);  }
movb_rgd_rg(void)1011 static void movb_rgd_rg(void)    { MOVB_X(RGD,RG);  }
movb_rgd_rgd(void)1012 static void movb_rgd_rgd(void)   { MOVB_M(RGD,RGD); }
movb_rgd_in(void)1013 static void movb_rgd_in(void)    { MOVB_M(RGD,IN);  }
movb_rgd_ind(void)1014 static void movb_rgd_ind(void)   { MOVB_M(RGD,IND); }
movb_rgd_de(void)1015 static void movb_rgd_de(void)    { MOVB_M(RGD,DE);  }
movb_rgd_ded(void)1016 static void movb_rgd_ded(void)   { MOVB_M(RGD,DED); }
movb_rgd_ix(void)1017 static void movb_rgd_ix(void)    { MOVB_M(RGD,IX);  }
movb_rgd_ixd(void)1018 static void movb_rgd_ixd(void)   { MOVB_M(RGD,IXD); }
movb_in_rg(void)1019 static void movb_in_rg(void)     { MOVB_X(IN,RG);   }
movb_in_rgd(void)1020 static void movb_in_rgd(void)    { MOVB_M(IN,RGD);  }
movb_in_in(void)1021 static void movb_in_in(void)     { MOVB_M(IN,IN);   }
movb_in_ind(void)1022 static void movb_in_ind(void)    { MOVB_M(IN,IND);  }
movb_in_de(void)1023 static void movb_in_de(void)     { MOVB_M(IN,DE);   }
movb_in_ded(void)1024 static void movb_in_ded(void)    { MOVB_M(IN,DED);  }
movb_in_ix(void)1025 static void movb_in_ix(void)     { MOVB_M(IN,IX);   }
movb_in_ixd(void)1026 static void movb_in_ixd(void)    { MOVB_M(IN,IXD);  }
movb_ind_rg(void)1027 static void movb_ind_rg(void)    { MOVB_X(IND,RG);  }
movb_ind_rgd(void)1028 static void movb_ind_rgd(void)   { MOVB_M(IND,RGD); }
movb_ind_in(void)1029 static void movb_ind_in(void)    { MOVB_M(IND,IN);  }
movb_ind_ind(void)1030 static void movb_ind_ind(void)   { MOVB_M(IND,IND); }
movb_ind_de(void)1031 static void movb_ind_de(void)    { MOVB_M(IND,DE);  }
movb_ind_ded(void)1032 static void movb_ind_ded(void)   { MOVB_M(IND,DED); }
movb_ind_ix(void)1033 static void movb_ind_ix(void)    { MOVB_M(IND,IX);  }
movb_ind_ixd(void)1034 static void movb_ind_ixd(void)   { MOVB_M(IND,IXD); }
movb_de_rg(void)1035 static void movb_de_rg(void)     { MOVB_X(DE,RG);   }
movb_de_rgd(void)1036 static void movb_de_rgd(void)    { MOVB_M(DE,RGD);  }
movb_de_in(void)1037 static void movb_de_in(void)     { MOVB_M(DE,IN);   }
movb_de_ind(void)1038 static void movb_de_ind(void)    { MOVB_M(DE,IND);  }
movb_de_de(void)1039 static void movb_de_de(void)     { MOVB_M(DE,DE);   }
movb_de_ded(void)1040 static void movb_de_ded(void)    { MOVB_M(DE,DED);  }
movb_de_ix(void)1041 static void movb_de_ix(void)     { MOVB_M(DE,IX);   }
movb_de_ixd(void)1042 static void movb_de_ixd(void)    { MOVB_M(DE,IXD);  }
movb_ded_rg(void)1043 static void movb_ded_rg(void)    { MOVB_X(DED,RG);  }
movb_ded_rgd(void)1044 static void movb_ded_rgd(void)   { MOVB_M(DED,RGD); }
movb_ded_in(void)1045 static void movb_ded_in(void)    { MOVB_M(DED,IN);  }
movb_ded_ind(void)1046 static void movb_ded_ind(void)   { MOVB_M(DED,IND); }
movb_ded_de(void)1047 static void movb_ded_de(void)    { MOVB_M(DED,DE);  }
movb_ded_ded(void)1048 static void movb_ded_ded(void)   { MOVB_M(DED,DED); }
movb_ded_ix(void)1049 static void movb_ded_ix(void)    { MOVB_M(DED,IX);  }
movb_ded_ixd(void)1050 static void movb_ded_ixd(void)   { MOVB_M(DED,IXD); }
movb_ix_rg(void)1051 static void movb_ix_rg(void)     { MOVB_X(IX,RG);   }
movb_ix_rgd(void)1052 static void movb_ix_rgd(void)    { MOVB_M(IX,RGD);  }
movb_ix_in(void)1053 static void movb_ix_in(void)     { MOVB_M(IX,IN);   }
movb_ix_ind(void)1054 static void movb_ix_ind(void)    { MOVB_M(IX,IND);  }
movb_ix_de(void)1055 static void movb_ix_de(void)     { MOVB_M(IX,DE);   }
movb_ix_ded(void)1056 static void movb_ix_ded(void)    { MOVB_M(IX,DED);  }
movb_ix_ix(void)1057 static void movb_ix_ix(void)     { MOVB_M(IX,IX);   }
movb_ix_ixd(void)1058 static void movb_ix_ixd(void)    { MOVB_M(IX,IXD);  }
movb_ixd_rg(void)1059 static void movb_ixd_rg(void)    { MOVB_X(IXD,RG);  }
movb_ixd_rgd(void)1060 static void movb_ixd_rgd(void)   { MOVB_M(IXD,RGD); }
movb_ixd_in(void)1061 static void movb_ixd_in(void)    { MOVB_M(IXD,IN);  }
movb_ixd_ind(void)1062 static void movb_ixd_ind(void)   { MOVB_M(IXD,IND); }
movb_ixd_de(void)1063 static void movb_ixd_de(void)    { MOVB_M(IXD,DE);  }
movb_ixd_ded(void)1064 static void movb_ixd_ded(void)   { MOVB_M(IXD,DED); }
movb_ixd_ix(void)1065 static void movb_ixd_ix(void)    { MOVB_M(IXD,IX);  }
movb_ixd_ixd(void)1066 static void movb_ixd_ixd(void)   { MOVB_M(IXD,IXD); }
1067 
cmpb_rg_rg(void)1068 static void cmpb_rg_rg(void)     { CMPB_R(RG,RG);   }
cmpb_rg_rgd(void)1069 static void cmpb_rg_rgd(void)    { CMPB_M(RG,RGD);  }
cmpb_rg_in(void)1070 static void cmpb_rg_in(void)     { CMPB_M(RG,IN);   }
cmpb_rg_ind(void)1071 static void cmpb_rg_ind(void)    { CMPB_M(RG,IND);  }
cmpb_rg_de(void)1072 static void cmpb_rg_de(void)     { CMPB_M(RG,DE);   }
cmpb_rg_ded(void)1073 static void cmpb_rg_ded(void)    { CMPB_M(RG,DED);  }
cmpb_rg_ix(void)1074 static void cmpb_rg_ix(void)     { CMPB_M(RG,IX);   }
cmpb_rg_ixd(void)1075 static void cmpb_rg_ixd(void)    { CMPB_M(RG,IXD);  }
cmpb_rgd_rg(void)1076 static void cmpb_rgd_rg(void)    { CMPB_M(RGD,RG);  }
cmpb_rgd_rgd(void)1077 static void cmpb_rgd_rgd(void)   { CMPB_M(RGD,RGD); }
cmpb_rgd_in(void)1078 static void cmpb_rgd_in(void)    { CMPB_M(RGD,IN);  }
cmpb_rgd_ind(void)1079 static void cmpb_rgd_ind(void)   { CMPB_M(RGD,IND); }
cmpb_rgd_de(void)1080 static void cmpb_rgd_de(void)    { CMPB_M(RGD,DE);  }
cmpb_rgd_ded(void)1081 static void cmpb_rgd_ded(void)   { CMPB_M(RGD,DED); }
cmpb_rgd_ix(void)1082 static void cmpb_rgd_ix(void)    { CMPB_M(RGD,IX);  }
cmpb_rgd_ixd(void)1083 static void cmpb_rgd_ixd(void)   { CMPB_M(RGD,IXD); }
cmpb_in_rg(void)1084 static void cmpb_in_rg(void)     { CMPB_M(IN,RG);   }
cmpb_in_rgd(void)1085 static void cmpb_in_rgd(void)    { CMPB_M(IN,RGD);  }
cmpb_in_in(void)1086 static void cmpb_in_in(void)     { CMPB_M(IN,IN);   }
cmpb_in_ind(void)1087 static void cmpb_in_ind(void)    { CMPB_M(IN,IND);  }
cmpb_in_de(void)1088 static void cmpb_in_de(void)     { CMPB_M(IN,DE);   }
cmpb_in_ded(void)1089 static void cmpb_in_ded(void)    { CMPB_M(IN,DED);  }
cmpb_in_ix(void)1090 static void cmpb_in_ix(void)     { CMPB_M(IN,IX);   }
cmpb_in_ixd(void)1091 static void cmpb_in_ixd(void)    { CMPB_M(IN,IXD);  }
cmpb_ind_rg(void)1092 static void cmpb_ind_rg(void)    { CMPB_M(IND,RG);  }
cmpb_ind_rgd(void)1093 static void cmpb_ind_rgd(void)   { CMPB_M(IND,RGD); }
cmpb_ind_in(void)1094 static void cmpb_ind_in(void)    { CMPB_M(IND,IN);  }
cmpb_ind_ind(void)1095 static void cmpb_ind_ind(void)   { CMPB_M(IND,IND); }
cmpb_ind_de(void)1096 static void cmpb_ind_de(void)    { CMPB_M(IND,DE);  }
cmpb_ind_ded(void)1097 static void cmpb_ind_ded(void)   { CMPB_M(IND,DED); }
cmpb_ind_ix(void)1098 static void cmpb_ind_ix(void)    { CMPB_M(IND,IX);  }
cmpb_ind_ixd(void)1099 static void cmpb_ind_ixd(void)   { CMPB_M(IND,IXD); }
cmpb_de_rg(void)1100 static void cmpb_de_rg(void)     { CMPB_M(DE,RG);   }
cmpb_de_rgd(void)1101 static void cmpb_de_rgd(void)    { CMPB_M(DE,RGD);  }
cmpb_de_in(void)1102 static void cmpb_de_in(void)     { CMPB_M(DE,IN);   }
cmpb_de_ind(void)1103 static void cmpb_de_ind(void)    { CMPB_M(DE,IND);  }
cmpb_de_de(void)1104 static void cmpb_de_de(void)     { CMPB_M(DE,DE);   }
cmpb_de_ded(void)1105 static void cmpb_de_ded(void)    { CMPB_M(DE,DED);  }
cmpb_de_ix(void)1106 static void cmpb_de_ix(void)     { CMPB_M(DE,IX);   }
cmpb_de_ixd(void)1107 static void cmpb_de_ixd(void)    { CMPB_M(DE,IXD);  }
cmpb_ded_rg(void)1108 static void cmpb_ded_rg(void)    { CMPB_M(DED,RG);  }
cmpb_ded_rgd(void)1109 static void cmpb_ded_rgd(void)   { CMPB_M(DED,RGD); }
cmpb_ded_in(void)1110 static void cmpb_ded_in(void)    { CMPB_M(DED,IN);  }
cmpb_ded_ind(void)1111 static void cmpb_ded_ind(void)   { CMPB_M(DED,IND); }
cmpb_ded_de(void)1112 static void cmpb_ded_de(void)    { CMPB_M(DED,DE);  }
cmpb_ded_ded(void)1113 static void cmpb_ded_ded(void)   { CMPB_M(DED,DED); }
cmpb_ded_ix(void)1114 static void cmpb_ded_ix(void)    { CMPB_M(DED,IX);  }
cmpb_ded_ixd(void)1115 static void cmpb_ded_ixd(void)   { CMPB_M(DED,IXD); }
cmpb_ix_rg(void)1116 static void cmpb_ix_rg(void)     { CMPB_M(IX,RG);   }
cmpb_ix_rgd(void)1117 static void cmpb_ix_rgd(void)    { CMPB_M(IX,RGD);  }
cmpb_ix_in(void)1118 static void cmpb_ix_in(void)     { CMPB_M(IX,IN);   }
cmpb_ix_ind(void)1119 static void cmpb_ix_ind(void)    { CMPB_M(IX,IND);  }
cmpb_ix_de(void)1120 static void cmpb_ix_de(void)     { CMPB_M(IX,DE);   }
cmpb_ix_ded(void)1121 static void cmpb_ix_ded(void)    { CMPB_M(IX,DED);  }
cmpb_ix_ix(void)1122 static void cmpb_ix_ix(void)     { CMPB_M(IX,IX);   }
cmpb_ix_ixd(void)1123 static void cmpb_ix_ixd(void)    { CMPB_M(IX,IXD);  }
cmpb_ixd_rg(void)1124 static void cmpb_ixd_rg(void)    { CMPB_M(IXD,RG);  }
cmpb_ixd_rgd(void)1125 static void cmpb_ixd_rgd(void)   { CMPB_M(IXD,RGD); }
cmpb_ixd_in(void)1126 static void cmpb_ixd_in(void)    { CMPB_M(IXD,IN);  }
cmpb_ixd_ind(void)1127 static void cmpb_ixd_ind(void)   { CMPB_M(IXD,IND); }
cmpb_ixd_de(void)1128 static void cmpb_ixd_de(void)    { CMPB_M(IXD,DE);  }
cmpb_ixd_ded(void)1129 static void cmpb_ixd_ded(void)   { CMPB_M(IXD,DED); }
cmpb_ixd_ix(void)1130 static void cmpb_ixd_ix(void)    { CMPB_M(IXD,IX);  }
cmpb_ixd_ixd(void)1131 static void cmpb_ixd_ixd(void)   { CMPB_M(IXD,IXD); }
1132 
bitb_rg_rg(void)1133 static void bitb_rg_rg(void)     { BITB_R(RG,RG);   }
bitb_rg_rgd(void)1134 static void bitb_rg_rgd(void)    { BITB_M(RG,RGD);  }
bitb_rg_in(void)1135 static void bitb_rg_in(void)     { BITB_M(RG,IN);   }
bitb_rg_ind(void)1136 static void bitb_rg_ind(void)    { BITB_M(RG,IND);  }
bitb_rg_de(void)1137 static void bitb_rg_de(void)     { BITB_M(RG,DE);   }
bitb_rg_ded(void)1138 static void bitb_rg_ded(void)    { BITB_M(RG,DED);  }
bitb_rg_ix(void)1139 static void bitb_rg_ix(void)     { BITB_M(RG,IX);   }
bitb_rg_ixd(void)1140 static void bitb_rg_ixd(void)    { BITB_M(RG,IXD);  }
bitb_rgd_rg(void)1141 static void bitb_rgd_rg(void)    { BITB_M(RGD,RG);  }
bitb_rgd_rgd(void)1142 static void bitb_rgd_rgd(void)   { BITB_M(RGD,RGD); }
bitb_rgd_in(void)1143 static void bitb_rgd_in(void)    { BITB_M(RGD,IN);  }
bitb_rgd_ind(void)1144 static void bitb_rgd_ind(void)   { BITB_M(RGD,IND); }
bitb_rgd_de(void)1145 static void bitb_rgd_de(void)    { BITB_M(RGD,DE);  }
bitb_rgd_ded(void)1146 static void bitb_rgd_ded(void)   { BITB_M(RGD,DED); }
bitb_rgd_ix(void)1147 static void bitb_rgd_ix(void)    { BITB_M(RGD,IX);  }
bitb_rgd_ixd(void)1148 static void bitb_rgd_ixd(void)   { BITB_M(RGD,IXD); }
bitb_in_rg(void)1149 static void bitb_in_rg(void)     { BITB_M(IN,RG);   }
bitb_in_rgd(void)1150 static void bitb_in_rgd(void)    { BITB_M(IN,RGD);  }
bitb_in_in(void)1151 static void bitb_in_in(void)     { BITB_M(IN,IN);   }
bitb_in_ind(void)1152 static void bitb_in_ind(void)    { BITB_M(IN,IND);  }
bitb_in_de(void)1153 static void bitb_in_de(void)     { BITB_M(IN,DE);   }
bitb_in_ded(void)1154 static void bitb_in_ded(void)    { BITB_M(IN,DED);  }
bitb_in_ix(void)1155 static void bitb_in_ix(void)     { BITB_M(IN,IX);   }
bitb_in_ixd(void)1156 static void bitb_in_ixd(void)    { BITB_M(IN,IXD);  }
bitb_ind_rg(void)1157 static void bitb_ind_rg(void)    { BITB_M(IND,RG);  }
bitb_ind_rgd(void)1158 static void bitb_ind_rgd(void)   { BITB_M(IND,RGD); }
bitb_ind_in(void)1159 static void bitb_ind_in(void)    { BITB_M(IND,IN);  }
bitb_ind_ind(void)1160 static void bitb_ind_ind(void)   { BITB_M(IND,IND); }
bitb_ind_de(void)1161 static void bitb_ind_de(void)    { BITB_M(IND,DE);  }
bitb_ind_ded(void)1162 static void bitb_ind_ded(void)   { BITB_M(IND,DED); }
bitb_ind_ix(void)1163 static void bitb_ind_ix(void)    { BITB_M(IND,IX);  }
bitb_ind_ixd(void)1164 static void bitb_ind_ixd(void)   { BITB_M(IND,IXD); }
bitb_de_rg(void)1165 static void bitb_de_rg(void)     { BITB_M(DE,RG);   }
bitb_de_rgd(void)1166 static void bitb_de_rgd(void)    { BITB_M(DE,RGD);  }
bitb_de_in(void)1167 static void bitb_de_in(void)     { BITB_M(DE,IN);   }
bitb_de_ind(void)1168 static void bitb_de_ind(void)    { BITB_M(DE,IND);  }
bitb_de_de(void)1169 static void bitb_de_de(void)     { BITB_M(DE,DE);   }
bitb_de_ded(void)1170 static void bitb_de_ded(void)    { BITB_M(DE,DED);  }
bitb_de_ix(void)1171 static void bitb_de_ix(void)     { BITB_M(DE,IX);   }
bitb_de_ixd(void)1172 static void bitb_de_ixd(void)    { BITB_M(DE,IXD);  }
bitb_ded_rg(void)1173 static void bitb_ded_rg(void)    { BITB_M(DED,RG);  }
bitb_ded_rgd(void)1174 static void bitb_ded_rgd(void)   { BITB_M(DED,RGD); }
bitb_ded_in(void)1175 static void bitb_ded_in(void)    { BITB_M(DED,IN);  }
bitb_ded_ind(void)1176 static void bitb_ded_ind(void)   { BITB_M(DED,IND); }
bitb_ded_de(void)1177 static void bitb_ded_de(void)    { BITB_M(DED,DE);  }
bitb_ded_ded(void)1178 static void bitb_ded_ded(void)   { BITB_M(DED,DED); }
bitb_ded_ix(void)1179 static void bitb_ded_ix(void)    { BITB_M(DED,IX);  }
bitb_ded_ixd(void)1180 static void bitb_ded_ixd(void)   { BITB_M(DED,IXD); }
bitb_ix_rg(void)1181 static void bitb_ix_rg(void)     { BITB_M(IX,RG);   }
bitb_ix_rgd(void)1182 static void bitb_ix_rgd(void)    { BITB_M(IX,RGD);  }
bitb_ix_in(void)1183 static void bitb_ix_in(void)     { BITB_M(IX,IN);   }
bitb_ix_ind(void)1184 static void bitb_ix_ind(void)    { BITB_M(IX,IND);  }
bitb_ix_de(void)1185 static void bitb_ix_de(void)     { BITB_M(IX,DE);   }
bitb_ix_ded(void)1186 static void bitb_ix_ded(void)    { BITB_M(IX,DED);  }
bitb_ix_ix(void)1187 static void bitb_ix_ix(void)     { BITB_M(IX,IX);   }
bitb_ix_ixd(void)1188 static void bitb_ix_ixd(void)    { BITB_M(IX,IXD);  }
bitb_ixd_rg(void)1189 static void bitb_ixd_rg(void)    { BITB_M(IXD,RG);  }
bitb_ixd_rgd(void)1190 static void bitb_ixd_rgd(void)   { BITB_M(IXD,RGD); }
bitb_ixd_in(void)1191 static void bitb_ixd_in(void)    { BITB_M(IXD,IN);  }
bitb_ixd_ind(void)1192 static void bitb_ixd_ind(void)   { BITB_M(IXD,IND); }
bitb_ixd_de(void)1193 static void bitb_ixd_de(void)    { BITB_M(IXD,DE);  }
bitb_ixd_ded(void)1194 static void bitb_ixd_ded(void)   { BITB_M(IXD,DED); }
bitb_ixd_ix(void)1195 static void bitb_ixd_ix(void)    { BITB_M(IXD,IX);  }
bitb_ixd_ixd(void)1196 static void bitb_ixd_ixd(void)   { BITB_M(IXD,IXD); }
1197 
bicb_rg_rg(void)1198 static void bicb_rg_rg(void)     { BICB_R(RG,RG);   }
bicb_rg_rgd(void)1199 static void bicb_rg_rgd(void)    { BICB_M(RG,RGD);  }
bicb_rg_in(void)1200 static void bicb_rg_in(void)     { BICB_M(RG,IN);   }
bicb_rg_ind(void)1201 static void bicb_rg_ind(void)    { BICB_M(RG,IND);  }
bicb_rg_de(void)1202 static void bicb_rg_de(void)     { BICB_M(RG,DE);   }
bicb_rg_ded(void)1203 static void bicb_rg_ded(void)    { BICB_M(RG,DED);  }
bicb_rg_ix(void)1204 static void bicb_rg_ix(void)     { BICB_M(RG,IX);   }
bicb_rg_ixd(void)1205 static void bicb_rg_ixd(void)    { BICB_M(RG,IXD);  }
bicb_rgd_rg(void)1206 static void bicb_rgd_rg(void)    { BICB_X(RGD,RG);  }
bicb_rgd_rgd(void)1207 static void bicb_rgd_rgd(void)   { BICB_M(RGD,RGD); }
bicb_rgd_in(void)1208 static void bicb_rgd_in(void)    { BICB_M(RGD,IN);  }
bicb_rgd_ind(void)1209 static void bicb_rgd_ind(void)   { BICB_M(RGD,IND); }
bicb_rgd_de(void)1210 static void bicb_rgd_de(void)    { BICB_M(RGD,DE);  }
bicb_rgd_ded(void)1211 static void bicb_rgd_ded(void)   { BICB_M(RGD,DED); }
bicb_rgd_ix(void)1212 static void bicb_rgd_ix(void)    { BICB_M(RGD,IX);  }
bicb_rgd_ixd(void)1213 static void bicb_rgd_ixd(void)   { BICB_M(RGD,IXD); }
bicb_in_rg(void)1214 static void bicb_in_rg(void)     { BICB_X(IN,RG);   }
bicb_in_rgd(void)1215 static void bicb_in_rgd(void)    { BICB_M(IN,RGD);  }
bicb_in_in(void)1216 static void bicb_in_in(void)     { BICB_M(IN,IN);   }
bicb_in_ind(void)1217 static void bicb_in_ind(void)    { BICB_M(IN,IND);  }
bicb_in_de(void)1218 static void bicb_in_de(void)     { BICB_M(IN,DE);   }
bicb_in_ded(void)1219 static void bicb_in_ded(void)    { BICB_M(IN,DED);  }
bicb_in_ix(void)1220 static void bicb_in_ix(void)     { BICB_M(IN,IX);   }
bicb_in_ixd(void)1221 static void bicb_in_ixd(void)    { BICB_M(IN,IXD);  }
bicb_ind_rg(void)1222 static void bicb_ind_rg(void)    { BICB_X(IND,RG);  }
bicb_ind_rgd(void)1223 static void bicb_ind_rgd(void)   { BICB_M(IND,RGD); }
bicb_ind_in(void)1224 static void bicb_ind_in(void)    { BICB_M(IND,IN);  }
bicb_ind_ind(void)1225 static void bicb_ind_ind(void)   { BICB_M(IND,IND); }
bicb_ind_de(void)1226 static void bicb_ind_de(void)    { BICB_M(IND,DE);  }
bicb_ind_ded(void)1227 static void bicb_ind_ded(void)   { BICB_M(IND,DED); }
bicb_ind_ix(void)1228 static void bicb_ind_ix(void)    { BICB_M(IND,IX);  }
bicb_ind_ixd(void)1229 static void bicb_ind_ixd(void)   { BICB_M(IND,IXD); }
bicb_de_rg(void)1230 static void bicb_de_rg(void)     { BICB_X(DE,RG);   }
bicb_de_rgd(void)1231 static void bicb_de_rgd(void)    { BICB_M(DE,RGD);  }
bicb_de_in(void)1232 static void bicb_de_in(void)     { BICB_M(DE,IN);   }
bicb_de_ind(void)1233 static void bicb_de_ind(void)    { BICB_M(DE,IND);  }
bicb_de_de(void)1234 static void bicb_de_de(void)     { BICB_M(DE,DE);   }
bicb_de_ded(void)1235 static void bicb_de_ded(void)    { BICB_M(DE,DED);  }
bicb_de_ix(void)1236 static void bicb_de_ix(void)     { BICB_M(DE,IX);   }
bicb_de_ixd(void)1237 static void bicb_de_ixd(void)    { BICB_M(DE,IXD);  }
bicb_ded_rg(void)1238 static void bicb_ded_rg(void)    { BICB_X(DED,RG);  }
bicb_ded_rgd(void)1239 static void bicb_ded_rgd(void)   { BICB_M(DED,RGD); }
bicb_ded_in(void)1240 static void bicb_ded_in(void)    { BICB_M(DED,IN);  }
bicb_ded_ind(void)1241 static void bicb_ded_ind(void)   { BICB_M(DED,IND); }
bicb_ded_de(void)1242 static void bicb_ded_de(void)    { BICB_M(DED,DE);  }
bicb_ded_ded(void)1243 static void bicb_ded_ded(void)   { BICB_M(DED,DED); }
bicb_ded_ix(void)1244 static void bicb_ded_ix(void)    { BICB_M(DED,IX);  }
bicb_ded_ixd(void)1245 static void bicb_ded_ixd(void)   { BICB_M(DED,IXD); }
bicb_ix_rg(void)1246 static void bicb_ix_rg(void)     { BICB_X(IX,RG);   }
bicb_ix_rgd(void)1247 static void bicb_ix_rgd(void)    { BICB_M(IX,RGD);  }
bicb_ix_in(void)1248 static void bicb_ix_in(void)     { BICB_M(IX,IN);   }
bicb_ix_ind(void)1249 static void bicb_ix_ind(void)    { BICB_M(IX,IND);  }
bicb_ix_de(void)1250 static void bicb_ix_de(void)     { BICB_M(IX,DE);   }
bicb_ix_ded(void)1251 static void bicb_ix_ded(void)    { BICB_M(IX,DED);  }
bicb_ix_ix(void)1252 static void bicb_ix_ix(void)     { BICB_M(IX,IX);   }
bicb_ix_ixd(void)1253 static void bicb_ix_ixd(void)    { BICB_M(IX,IXD);  }
bicb_ixd_rg(void)1254 static void bicb_ixd_rg(void)    { BICB_X(IXD,RG);  }
bicb_ixd_rgd(void)1255 static void bicb_ixd_rgd(void)   { BICB_M(IXD,RGD); }
bicb_ixd_in(void)1256 static void bicb_ixd_in(void)    { BICB_M(IXD,IN);  }
bicb_ixd_ind(void)1257 static void bicb_ixd_ind(void)   { BICB_M(IXD,IND); }
bicb_ixd_de(void)1258 static void bicb_ixd_de(void)    { BICB_M(IXD,DE);  }
bicb_ixd_ded(void)1259 static void bicb_ixd_ded(void)   { BICB_M(IXD,DED); }
bicb_ixd_ix(void)1260 static void bicb_ixd_ix(void)    { BICB_M(IXD,IX);  }
bicb_ixd_ixd(void)1261 static void bicb_ixd_ixd(void)   { BICB_M(IXD,IXD); }
1262 
bisb_rg_rg(void)1263 static void bisb_rg_rg(void)     { BISB_R(RG,RG);   }
bisb_rg_rgd(void)1264 static void bisb_rg_rgd(void)    { BISB_M(RG,RGD);  }
bisb_rg_in(void)1265 static void bisb_rg_in(void)     { BISB_M(RG,IN);   }
bisb_rg_ind(void)1266 static void bisb_rg_ind(void)    { BISB_M(RG,IND);  }
bisb_rg_de(void)1267 static void bisb_rg_de(void)     { BISB_M(RG,DE);   }
bisb_rg_ded(void)1268 static void bisb_rg_ded(void)    { BISB_M(RG,DED);  }
bisb_rg_ix(void)1269 static void bisb_rg_ix(void)     { BISB_M(RG,IX);   }
bisb_rg_ixd(void)1270 static void bisb_rg_ixd(void)    { BISB_M(RG,IXD);  }
bisb_rgd_rg(void)1271 static void bisb_rgd_rg(void)    { BISB_X(RGD,RG);  }
bisb_rgd_rgd(void)1272 static void bisb_rgd_rgd(void)   { BISB_M(RGD,RGD); }
bisb_rgd_in(void)1273 static void bisb_rgd_in(void)    { BISB_M(RGD,IN);  }
bisb_rgd_ind(void)1274 static void bisb_rgd_ind(void)   { BISB_M(RGD,IND); }
bisb_rgd_de(void)1275 static void bisb_rgd_de(void)    { BISB_M(RGD,DE);  }
bisb_rgd_ded(void)1276 static void bisb_rgd_ded(void)   { BISB_M(RGD,DED); }
bisb_rgd_ix(void)1277 static void bisb_rgd_ix(void)    { BISB_M(RGD,IX);  }
bisb_rgd_ixd(void)1278 static void bisb_rgd_ixd(void)   { BISB_M(RGD,IXD); }
bisb_in_rg(void)1279 static void bisb_in_rg(void)     { BISB_X(IN,RG);   }
bisb_in_rgd(void)1280 static void bisb_in_rgd(void)    { BISB_M(IN,RGD);  }
bisb_in_in(void)1281 static void bisb_in_in(void)     { BISB_M(IN,IN);   }
bisb_in_ind(void)1282 static void bisb_in_ind(void)    { BISB_M(IN,IND);  }
bisb_in_de(void)1283 static void bisb_in_de(void)     { BISB_M(IN,DE);   }
bisb_in_ded(void)1284 static void bisb_in_ded(void)    { BISB_M(IN,DED);  }
bisb_in_ix(void)1285 static void bisb_in_ix(void)     { BISB_M(IN,IX);   }
bisb_in_ixd(void)1286 static void bisb_in_ixd(void)    { BISB_M(IN,IXD);  }
bisb_ind_rg(void)1287 static void bisb_ind_rg(void)    { BISB_X(IND,RG);  }
bisb_ind_rgd(void)1288 static void bisb_ind_rgd(void)   { BISB_M(IND,RGD); }
bisb_ind_in(void)1289 static void bisb_ind_in(void)    { BISB_M(IND,IN);  }
bisb_ind_ind(void)1290 static void bisb_ind_ind(void)   { BISB_M(IND,IND); }
bisb_ind_de(void)1291 static void bisb_ind_de(void)    { BISB_M(IND,DE);  }
bisb_ind_ded(void)1292 static void bisb_ind_ded(void)   { BISB_M(IND,DED); }
bisb_ind_ix(void)1293 static void bisb_ind_ix(void)    { BISB_M(IND,IX);  }
bisb_ind_ixd(void)1294 static void bisb_ind_ixd(void)   { BISB_M(IND,IXD); }
bisb_de_rg(void)1295 static void bisb_de_rg(void)     { BISB_X(DE,RG);   }
bisb_de_rgd(void)1296 static void bisb_de_rgd(void)    { BISB_M(DE,RGD);  }
bisb_de_in(void)1297 static void bisb_de_in(void)     { BISB_M(DE,IN);   }
bisb_de_ind(void)1298 static void bisb_de_ind(void)    { BISB_M(DE,IND);  }
bisb_de_de(void)1299 static void bisb_de_de(void)     { BISB_M(DE,DE);   }
bisb_de_ded(void)1300 static void bisb_de_ded(void)    { BISB_M(DE,DED);  }
bisb_de_ix(void)1301 static void bisb_de_ix(void)     { BISB_M(DE,IX);   }
bisb_de_ixd(void)1302 static void bisb_de_ixd(void)    { BISB_M(DE,IXD);  }
bisb_ded_rg(void)1303 static void bisb_ded_rg(void)    { BISB_X(DED,RG);  }
bisb_ded_rgd(void)1304 static void bisb_ded_rgd(void)   { BISB_M(DED,RGD); }
bisb_ded_in(void)1305 static void bisb_ded_in(void)    { BISB_M(DED,IN);  }
bisb_ded_ind(void)1306 static void bisb_ded_ind(void)   { BISB_M(DED,IND); }
bisb_ded_de(void)1307 static void bisb_ded_de(void)    { BISB_M(DED,DE);  }
bisb_ded_ded(void)1308 static void bisb_ded_ded(void)   { BISB_M(DED,DED); }
bisb_ded_ix(void)1309 static void bisb_ded_ix(void)    { BISB_M(DED,IX);  }
bisb_ded_ixd(void)1310 static void bisb_ded_ixd(void)   { BISB_M(DED,IXD); }
bisb_ix_rg(void)1311 static void bisb_ix_rg(void)     { BISB_X(IX,RG);   }
bisb_ix_rgd(void)1312 static void bisb_ix_rgd(void)    { BISB_M(IX,RGD);  }
bisb_ix_in(void)1313 static void bisb_ix_in(void)     { BISB_M(IX,IN);   }
bisb_ix_ind(void)1314 static void bisb_ix_ind(void)    { BISB_M(IX,IND);  }
bisb_ix_de(void)1315 static void bisb_ix_de(void)     { BISB_M(IX,DE);   }
bisb_ix_ded(void)1316 static void bisb_ix_ded(void)    { BISB_M(IX,DED);  }
bisb_ix_ix(void)1317 static void bisb_ix_ix(void)     { BISB_M(IX,IX);   }
bisb_ix_ixd(void)1318 static void bisb_ix_ixd(void)    { BISB_M(IX,IXD);  }
bisb_ixd_rg(void)1319 static void bisb_ixd_rg(void)    { BISB_X(IXD,RG);  }
bisb_ixd_rgd(void)1320 static void bisb_ixd_rgd(void)   { BISB_M(IXD,RGD); }
bisb_ixd_in(void)1321 static void bisb_ixd_in(void)    { BISB_M(IXD,IN);  }
bisb_ixd_ind(void)1322 static void bisb_ixd_ind(void)   { BISB_M(IXD,IND); }
bisb_ixd_de(void)1323 static void bisb_ixd_de(void)    { BISB_M(IXD,DE);  }
bisb_ixd_ded(void)1324 static void bisb_ixd_ded(void)   { BISB_M(IXD,DED); }
bisb_ixd_ix(void)1325 static void bisb_ixd_ix(void)    { BISB_M(IXD,IX);  }
bisb_ixd_ixd(void)1326 static void bisb_ixd_ixd(void)   { BISB_M(IXD,IXD); }
1327 
sub_rg_rg(void)1328 static void sub_rg_rg(void)     { SUB_R(RG,RG);   }
sub_rg_rgd(void)1329 static void sub_rg_rgd(void)    { SUB_M(RG,RGD);  }
sub_rg_in(void)1330 static void sub_rg_in(void)     { SUB_M(RG,IN);   }
sub_rg_ind(void)1331 static void sub_rg_ind(void)    { SUB_M(RG,IND);  }
sub_rg_de(void)1332 static void sub_rg_de(void)     { SUB_M(RG,DE);   }
sub_rg_ded(void)1333 static void sub_rg_ded(void)    { SUB_M(RG,DED);  }
sub_rg_ix(void)1334 static void sub_rg_ix(void)     { SUB_M(RG,IX);   }
sub_rg_ixd(void)1335 static void sub_rg_ixd(void)    { SUB_M(RG,IXD);  }
sub_rgd_rg(void)1336 static void sub_rgd_rg(void)    { SUB_X(RGD,RG);  }
sub_rgd_rgd(void)1337 static void sub_rgd_rgd(void)   { SUB_M(RGD,RGD); }
sub_rgd_in(void)1338 static void sub_rgd_in(void)    { SUB_M(RGD,IN);  }
sub_rgd_ind(void)1339 static void sub_rgd_ind(void)   { SUB_M(RGD,IND); }
sub_rgd_de(void)1340 static void sub_rgd_de(void)    { SUB_M(RGD,DE);  }
sub_rgd_ded(void)1341 static void sub_rgd_ded(void)   { SUB_M(RGD,DED); }
sub_rgd_ix(void)1342 static void sub_rgd_ix(void)    { SUB_M(RGD,IX);  }
sub_rgd_ixd(void)1343 static void sub_rgd_ixd(void)   { SUB_M(RGD,IXD); }
sub_in_rg(void)1344 static void sub_in_rg(void)     { SUB_X(IN,RG);   }
sub_in_rgd(void)1345 static void sub_in_rgd(void)    { SUB_M(IN,RGD);  }
sub_in_in(void)1346 static void sub_in_in(void)     { SUB_M(IN,IN);   }
sub_in_ind(void)1347 static void sub_in_ind(void)    { SUB_M(IN,IND);  }
sub_in_de(void)1348 static void sub_in_de(void)     { SUB_M(IN,DE);   }
sub_in_ded(void)1349 static void sub_in_ded(void)    { SUB_M(IN,DED);  }
sub_in_ix(void)1350 static void sub_in_ix(void)     { SUB_M(IN,IX);   }
sub_in_ixd(void)1351 static void sub_in_ixd(void)    { SUB_M(IN,IXD);  }
sub_ind_rg(void)1352 static void sub_ind_rg(void)    { SUB_X(IND,RG);  }
sub_ind_rgd(void)1353 static void sub_ind_rgd(void)   { SUB_M(IND,RGD); }
sub_ind_in(void)1354 static void sub_ind_in(void)    { SUB_M(IND,IN);  }
sub_ind_ind(void)1355 static void sub_ind_ind(void)   { SUB_M(IND,IND); }
sub_ind_de(void)1356 static void sub_ind_de(void)    { SUB_M(IND,DE);  }
sub_ind_ded(void)1357 static void sub_ind_ded(void)   { SUB_M(IND,DED); }
sub_ind_ix(void)1358 static void sub_ind_ix(void)    { SUB_M(IND,IX);  }
sub_ind_ixd(void)1359 static void sub_ind_ixd(void)   { SUB_M(IND,IXD); }
sub_de_rg(void)1360 static void sub_de_rg(void)     { SUB_X(DE,RG);   }
sub_de_rgd(void)1361 static void sub_de_rgd(void)    { SUB_M(DE,RGD);  }
sub_de_in(void)1362 static void sub_de_in(void)     { SUB_M(DE,IN);   }
sub_de_ind(void)1363 static void sub_de_ind(void)    { SUB_M(DE,IND);  }
sub_de_de(void)1364 static void sub_de_de(void)     { SUB_M(DE,DE);   }
sub_de_ded(void)1365 static void sub_de_ded(void)    { SUB_M(DE,DED);  }
sub_de_ix(void)1366 static void sub_de_ix(void)     { SUB_M(DE,IX);   }
sub_de_ixd(void)1367 static void sub_de_ixd(void)    { SUB_M(DE,IXD);  }
sub_ded_rg(void)1368 static void sub_ded_rg(void)    { SUB_X(DED,RG);  }
sub_ded_rgd(void)1369 static void sub_ded_rgd(void)   { SUB_M(DED,RGD); }
sub_ded_in(void)1370 static void sub_ded_in(void)    { SUB_M(DED,IN);  }
sub_ded_ind(void)1371 static void sub_ded_ind(void)   { SUB_M(DED,IND); }
sub_ded_de(void)1372 static void sub_ded_de(void)    { SUB_M(DED,DE);  }
sub_ded_ded(void)1373 static void sub_ded_ded(void)   { SUB_M(DED,DED); }
sub_ded_ix(void)1374 static void sub_ded_ix(void)    { SUB_M(DED,IX);  }
sub_ded_ixd(void)1375 static void sub_ded_ixd(void)   { SUB_M(DED,IXD); }
sub_ix_rg(void)1376 static void sub_ix_rg(void)     { SUB_X(IX,RG);   }
sub_ix_rgd(void)1377 static void sub_ix_rgd(void)    { SUB_M(IX,RGD);  }
sub_ix_in(void)1378 static void sub_ix_in(void)     { SUB_M(IX,IN);   }
sub_ix_ind(void)1379 static void sub_ix_ind(void)    { SUB_M(IX,IND);  }
sub_ix_de(void)1380 static void sub_ix_de(void)     { SUB_M(IX,DE);   }
sub_ix_ded(void)1381 static void sub_ix_ded(void)    { SUB_M(IX,DED);  }
sub_ix_ix(void)1382 static void sub_ix_ix(void)     { SUB_M(IX,IX);   }
sub_ix_ixd(void)1383 static void sub_ix_ixd(void)    { SUB_M(IX,IXD);  }
sub_ixd_rg(void)1384 static void sub_ixd_rg(void)    { SUB_X(IXD,RG);  }
sub_ixd_rgd(void)1385 static void sub_ixd_rgd(void)   { SUB_M(IXD,RGD); }
sub_ixd_in(void)1386 static void sub_ixd_in(void)    { SUB_M(IXD,IN);  }
sub_ixd_ind(void)1387 static void sub_ixd_ind(void)   { SUB_M(IXD,IND); }
sub_ixd_de(void)1388 static void sub_ixd_de(void)    { SUB_M(IXD,DE);  }
sub_ixd_ded(void)1389 static void sub_ixd_ded(void)   { SUB_M(IXD,DED); }
sub_ixd_ix(void)1390 static void sub_ixd_ix(void)    { SUB_M(IXD,IX);  }
sub_ixd_ixd(void)1391 static void sub_ixd_ixd(void)   { SUB_M(IXD,IXD); }
1392