Changeset 32 for Deliverables/D4.1/ASMInterpret.ml
- Timestamp:
- Sep 3, 2010, 1:36:32 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Deliverables/D4.1/ASMInterpret.ml
r31 r32 198 198 let pc,b2 = next pc in 199 199 LJMP (`ADDR16 (b1,b1)), pc, 2 200 | (true,true,true,false),(true,r1,r2,r3) -> 201 MOV (`U1 (`A, `REG(r1,r2,r3))), pc, 1 202 | (true,true,true,false),(false,true,false,true) -> 203 let pc,b1 = next pc in 204 MOV (`U1 (`A, `DIRECT b1)), pc, 1 205 | (true,true,true,false),(false,true,true,i1) -> 206 MOV (`U1 (`A, `INDIRECT i1)), pc, 1 207 | (false,true,true,true),(false,true,false,false) -> 208 let pc,b1 = next pc in 209 MOV (`U1 (`A, `DATA b1)), pc, 1 210 | (true,true,true,true),(true,r1,r2,r3) -> 211 MOV (`U2 (`REG(r1,r2,r3), `A)), pc, 1 212 | (true,false,true,false),(true,r1,r2,r3) -> 213 let pc,b1 = next pc in 214 MOV (`U2 (`REG(r1,r2,r3), (`DIRECT b1))), pc, 2 215 | (false,true,true,true),(true,r1,r2,r3) -> 216 let pc,b1 = next pc in 217 MOV (`U2 (`REG(r1,r2,r3), (`DATA b1))), pc, 1 218 | (true,true,true,true),(false,true,false,true) -> 219 let pc,b1 = next pc in 220 MOV (`U3 (`DIRECT b1, `A)), pc, 1 221 | (true,false,false,false),(true,r1,r2,r3) -> 222 let pc,b1 = next pc in 223 MOV (`U3 (`DIRECT b1, `REG(r1,r2,r3))), pc, 2 224 | (true,false,false,false),(false,true,false,true) -> 225 let pc,b1 = next pc in 226 let pc,b2 = next pc in 227 MOV (`U3 (`DIRECT b1, `DIRECT b2)), pc, 2 228 | (true,false,false,false),(false,true,true,i1) -> 229 let pc,b1 = next pc in 230 MOV (`U3 (`DIRECT b1, `INDIRECT i1)), pc, 2 231 | (false,true,true,true),(false,true,false,true) -> 232 let pc,b1 = next pc in 233 let pc,b2 = next pc in 234 MOV (`U3 (`DIRECT b1, `DATA b2)), pc, 2 235 | (true,true,true,true),(false,true,true,i1) -> 236 MOV (`U2 (`INDIRECT i1, `A)), pc, 1 237 | (true,false,true,false),(false,true,true,i1) -> 238 let pc,b1 = next pc in 239 MOV (`U2 (`INDIRECT i1, `DIRECT b1)), pc, 2 240 | (false,true,true,true),(false,true,true,i1) -> 241 let pc,b1 = next pc in 242 MOV (`U2 (`INDIRECT i1, `DATA b1)), pc, 1 243 | (true,false,true,false),(false,false,true,false) -> 244 let pc,b1 = next7 pc in 245 MOV (`U5 (`C, `BIT b1)), pc, 1 246 | (true,false,false,true),(false,false,true,false) -> 247 let pc,b1 = next7 pc in 248 MOV (`U6 (`BIT b1, `C)), pc, 2 249 | (true,false,false,true),(false,false,false,false) -> 250 let pc,b1 = next pc in 251 let pc,b2 = next pc in 252 MOV (`U4 (`DPTR, `DATA16(b1,b2))), pc, 2 200 253 with 201 254 Not_found -> raise BOO
Note: See TracChangeset
for help on using the changeset viewer.