0 $accept: program $end 1 program: program line 2 | /* empty */ 3 line: LABEL ':' 4 | LABEL DB db 5 | LABEL DW dw 6 | LABEL EQU expr 7 | instr 8 | SEGTEXT 9 | SEGDATA 10 | SEGTEXT ORG HEX16 11 | SEGDATA ORG HEX16 12 db: edb 13 | db ',' edb 14 edb: expr 15 | expr ':' expr 16 | STR_LITERAL 17 dw: edw 18 | expr ':' expr 19 | dw ',' edw 20 edw: expr 21 expr: CHAR_LITERAL 22 | BIN8 23 | BIN16 24 | HEX8 25 | HEX16 26 | DECI 27 | LABEL 28 | '-' expr 29 | expr '+' expr 30 | expr '-' expr 31 | expr '*' expr 32 | '(' expr ')' 33 instr: NOP 34 | HALT 35 | MOV A ',' X 36 | MOV A ',' Y 37 | MOV A ',' SP 38 | MOV A ',' DP 39 | MOV X ',' A 40 | MOV X ',' Y 41 | MOV Y ',' A 42 | MOV Y ',' X 43 | MOV SP ',' A 44 | MOV SP ',' DP 45 | MOV DP ',' A 46 | MOV DP ',' SP 47 | MOV AL ',' MSW 48 | MOV MSW ',' AL 49 | PUSH A 50 | PUSH X 51 | PUSH Y 52 | PUSH SP 53 | PUSH DP 54 | PUSH PC 55 | POP A 56 | POP X 57 | POP Y 58 | POP SP 59 | POP DP 60 | POP PC 61 | JMP expr 62 | CALL expr 63 | RET 64 | IRET 65 | CALL '(' SP ')' 66 | LD A ',' expr 67 | LD A ',' '(' SP ')' 68 | LD A ',' '(' SP ':' expr ')' 69 | LD A ',' '(' DP ':' expr ')' 70 | LD A ',' '(' A ':' expr ')' 71 | LD A ',' '(' X ':' expr ')' 72 | LD A ',' '(' Y ':' expr ')' 73 | LD X ',' expr 74 | LD X ',' '(' SP ')' 75 | LD X ',' '(' SP ':' expr ')' 76 | LD X ',' '(' DP ':' expr ')' 77 | LD X ',' '(' A ':' expr ')' 78 | LD X ',' '(' X ':' expr ')' 79 | LD X ',' '(' Y ':' expr ')' 80 | LD Y ',' expr 81 | LD Y ',' '(' SP ')' 82 | LD Y ',' '(' SP ':' expr ')' 83 | LD Y ',' '(' DP ':' expr ')' 84 | LD Y ',' '(' A ':' expr ')' 85 | LD Y ',' '(' X ':' expr ')' 86 | LD Y ',' '(' Y ':' expr ')' 87 | LD AH ',' expr 88 | LD AL ',' expr 89 | LD AH ',' '(' SP ':' expr ')' 90 | LD AL ',' '(' SP ':' expr ')' 91 | LD AH ',' '(' DP ':' expr ')' 92 | LD AL ',' '(' DP ':' expr ')' 93 | LD AH ',' '(' DP ':' X ')' 94 | LD AL ',' '(' DP ':' X ')' 95 | LD AH ',' '(' X ':' expr ')' 96 | LD AL ',' '(' X ':' expr ')' 97 | LD AH ',' '(' Y ':' expr ')' 98 | LD AL ',' '(' Y ':' expr ')' 99 | ST '(' SP ')' ',' A 100 | ST '(' SP ':' expr ')' ',' A 101 | ST '(' DP ':' expr ')' ',' A 102 | ST '(' A ':' expr ')' ',' A 103 | ST '(' X ':' expr ')' ',' A 104 | ST '(' Y ':' expr ')' ',' A 105 | ST '(' SP ')' ',' X 106 | ST '(' SP ':' expr ')' ',' X 107 | ST '(' DP ':' expr ')' ',' X 108 | ST '(' A ':' expr ')' ',' X 109 | ST '(' X ':' expr ')' ',' X 110 | ST '(' Y ':' expr ')' ',' X 111 | ST '(' SP ')' ',' Y 112 | ST '(' SP ':' expr ')' ',' Y 113 | ST '(' DP ':' expr ')' ',' Y 114 | ST '(' A ':' expr ')' ',' Y 115 | ST '(' X ':' expr ')' ',' Y 116 | ST '(' Y ':' expr ')' ',' Y 117 | ST '(' SP ')' ',' AH 118 | ST '(' SP ')' ',' AL 119 | ST '(' SP ':' expr ')' ',' AH 120 | ST '(' SP ':' expr ')' ',' AL 121 | ST '(' DP ':' expr ')' ',' AH 122 | ST '(' DP ':' expr ')' ',' AL 123 | ST '(' DP ':' X ')' ',' AH 124 | ST '(' DP ':' X ')' ',' AL 125 | ST '(' X ':' expr ')' ',' AH 126 | ST '(' X ':' expr ')' ',' AL 127 | ST '(' Y ':' expr ')' ',' AH 128 | ST '(' Y ':' expr ')' ',' AL 129 | ADD A ',' expr 130 | ADD A ',' X 131 | ADD A ',' Y 132 | ADD A ',' '(' SP ')' 133 | ADD A ',' '(' SP ':' expr ')' 134 | ADD A ',' '(' DP ':' expr ')' 135 | ADD AH ',' '(' SP ')' 136 | ADD AH ',' '(' SP ':' expr ')' 137 | ADD AH ',' '(' DP ':' expr ')' 138 | ADD AL ',' '(' SP ')' 139 | ADD AL ',' '(' SP ':' expr ')' 140 | ADD AL ',' '(' DP ':' expr ')' 141 | SUB A ',' expr 142 | SUB A ',' X 143 | SUB A ',' Y 144 | SUB A ',' '(' SP ')' 145 | SUB A ',' '(' SP ':' expr ')' 146 | SUB A ',' '(' DP ':' expr ')' 147 | SUB AH ',' '(' SP ')' 148 | SUB AH ',' '(' SP ':' expr ')' 149 | SUB AH ',' '(' DP ':' expr ')' 150 | SUB AL ',' '(' SP ')' 151 | SUB AL ',' '(' SP ':' expr ')' 152 | SUB AL ',' '(' DP ':' expr ')' 153 | AND A ',' expr 154 | AND A ',' X 155 | AND A ',' Y 156 | AND A ',' '(' SP ')' 157 | AND A ',' '(' SP ':' expr ')' 158 | AND A ',' '(' DP ':' expr ')' 159 | AND AH ',' '(' SP ')' 160 | AND AH ',' '(' SP ':' expr ')' 161 | AND AH ',' '(' DP ':' expr ')' 162 | AND AL ',' '(' SP ')' 163 | AND AL ',' '(' SP ':' expr ')' 164 | AND AL ',' '(' DP ':' expr ')' 165 | OR A ',' expr 166 | OR A ',' X 167 | OR A ',' Y 168 | OR A ',' '(' SP ')' 169 | OR A ',' '(' SP ':' expr ')' 170 | OR A ',' '(' DP ':' expr ')' 171 | OR AH ',' '(' SP ')' 172 | OR AH ',' '(' SP ':' expr ')' 173 | OR AH ',' '(' DP ':' expr ')' 174 | OR AL ',' '(' SP ')' 175 | OR AL ',' '(' SP ':' expr ')' 176 | OR AL ',' '(' DP ':' expr ')' 177 | XOR A ',' expr 178 | XOR A ',' A 179 | XOR A ',' X 180 | XOR A ',' Y 181 | XOR X ',' X 182 | XOR Y ',' Y 183 | SHL A 184 | SHL X 185 | SHL Y 186 | SHR A 187 | SHR X 188 | SHR Y 189 | SHL AH 190 | SHL AL 191 | SHR AH 192 | SHR AL 193 | ADC A ',' X 194 | ADC A ',' Y 195 | SBC A ',' X 196 | SBC A ',' Y 197 | ADD SP ',' expr 198 | ADD DP ',' expr 199 | ADD X ',' expr 200 | ADD Y ',' expr 201 | PUSH AH 202 | PUSH AL 203 | CMP A ',' expr 204 | CMP A ',' X 205 | CMP A ',' Y 206 | CMP A ',' '(' SP ')' 207 | CMP A ',' '(' SP ':' expr ')' 208 | CMP A ',' '(' DP ':' expr ')' 209 | CMP AH ',' '(' SP ')' 210 | CMP AH ',' '(' SP ':' expr ')' 211 | CMP AH ',' '(' DP ':' expr ')' 212 | CMP AL ',' '(' SP ')' 213 | CMP AL ',' '(' SP ':' expr ')' 214 | CMP AL ',' '(' DP ':' expr ')' 215 | JE expr 216 | JL expr 217 | JLE expr 218 | JG expr 219 | JGE expr 220 | JZ expr 221 | JNE expr 222 | JNZ expr 223 | JC expr 224 | JNC expr 225 | JN expr 226 | JNN expr 227 | JV expr 228 | JNV expr 229 | INC X 230 | DEC X 231 | INC Y 232 | DEC Y 233 | LD A ',' '(' DP ')' 234 | LD A ',' '(' DP ':' X ')' 235 | LD A ',' '(' DP ':' Y ')' 236 | ST '(' DP ')' ',' A 237 | ST '(' DP ':' X ')' ',' A 238 | ST '(' DP ':' Y ')' ',' A 239 | LD AL ',' '(' DP ')' 240 | ST '(' DP ')' ',' AL 241 | PUSH expr 242 | LD DP ',' expr 243 | LD SP ',' expr 244 | ADD AH ',' expr 245 | ADD AL ',' expr 246 | SUB AH ',' expr 247 | SUB AL ',' expr 248 | AND AH ',' expr 249 | AND AL ',' expr 250 | OR AH ',' expr 251 | OR AL ',' expr 252 | CMP AH ',' expr 253 | CMP AL ',' expr 254 | STI 255 | CLI 256 | SYSCALL expr