Changeset 35 for Deliverables/D4.1
- Timestamp:
- Sep 3, 2010, 3:44:27 PM (11 years ago)
- Location:
- Deliverables/D4.1
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
Deliverables/D4.1/ASM.mli
r31 r35 40 40 carry * [ bit | nbit]) union3 41 41 | ORL of 42 (acc * [ reg | d irect | indirect ],42 (acc * [ reg | data | direct | indirect ], 43 43 direct * [ acc | data ], 44 44 carry * [ bit | nbit]) union3 45 45 | XRL of 46 (acc * [ reg | direct | indirect ],46 (acc * [ data | reg | direct | indirect ], 47 47 direct * [ acc | data ]) union2 48 48 | CLR of [ acc | carry | bit ] -
Deliverables/D4.1/ASMInterpret.ml
r33 r35 269 269 | (false,true,false,false),(true,r1,r2,r3) -> 270 270 ORL (`U1(`A, `REG(r1,r2,r3))), pc, 1 271 | (false,true,false,false),(false,true,false,true) -> 272 let pc,b1 = next pc in 273 ORL (`U1(`A, `DIRECT b1)), pc, 1 274 | (false,true,false,false),(false,true,true,i1) -> 275 ORL (`U1(`A, `INDIRECT i1)), pc, 1 276 | (false,true,false,false),(false,true,false,false) -> 277 let pc,b1 = next pc in 278 ORL (`U1(`A, `DATA b1)), pc, 1 279 | (false,true,false,false),(false,false,true,false) -> 280 let pc,b1 = next pc in 281 ORL (`U2(`DIRECT b1, `A)), pc, 1 282 | (false,true,false,false),(false,false,true,true) -> 283 let pc,b1 = next pc in 284 let pc,b2 = next pc in 285 ORL (`U2 (`DIRECT b1, `DATA b2)), pc, 2 286 | (false,true,true,true),(false,false,true,false) -> 287 let pc,b1 = next7 pc in 288 ORL (`U3 (`C, `BIT b1)), pc, 2 289 | (true,false,true,false),(false,false,false,false) -> 290 let pc,b1 = next7 pc in 291 ORL (`U3 (`C, `NBIT b1)), pc, 2 292 | (true,true,false,true),(false,false,false,false) -> 293 let pc,b1 = next pc in 294 POP (`DIRECT b1), pc, 2 295 | (true,true,false,false),(false,false,false,false) -> 296 let pc,b1 = next pc in 297 PUSH (`DIRECT b1), pc, 2 298 | (false,false,true,false),(false,false,true,false) -> 299 RET, pc, 2 300 | (false,false,true,true),(false,false,true,false) -> 301 RETI, pc, 2 302 | (false,false,true,false),(false,false,true,true) -> 303 RL `A, pc, 1 304 | (false,false,true,true),(false,false,true,true) -> 305 RLC `A, pc, 1 306 | (false,false,false,false),(false,false,true,true) -> 307 RR `A, pc, 1 308 | (false,false,false,true),(false,false,true,true) -> 309 RRC `A, pc, 1 310 | (true,true,false,true),(false,false,true,true) -> 311 SETB `C, pc, 1 312 | (true,true,false,true),(false,false,true,false) -> 313 let pc,b1 = next7 pc in 314 SETB (`BIT b1), pc, 1 315 | (true,false,false,false),(false,false,false,false) -> 316 let pc,b1 = next pc in 317 SJMP (`REL b1), pc, 2 318 | (true,false,false,true),(false,true,false,true) -> 319 let pc,b1 = next pc in 320 SUBB (`A, `DIRECT b1), pc, 1 321 | (true,false,false,true),(false,true,true,i1) -> 322 SUBB (`A, `INDIRECT i1), pc, 1 323 | (true,false,false,true),(false,true,false,false) -> 324 let pc,b1 = next pc in 325 SUBB (`A, `DATA b1), pc, 1 326 | (true,true,false,false),(false,true,false,false) -> 327 SWAP `A, pc, 1 328 | (true,true,false,false),(true,r1,r2,r3) -> 329 XCH (`A, `REG(r1,r2,r3)), pc, 1 330 | (true,true,false,false),(false,true,false,true) -> 331 let pc,b1 = next pc in 332 XCH (`A, `DIRECT b1), pc, 1 333 | (true,true,false,false),(false,true,true,i1) -> 334 XCH (`A, `INDIRECT i1), pc, 1 335 | (true,true,false,true),(false,true,true,i1) -> 336 XCHD(`A, `INDIRECT i1), pc, 1 337 | (false,true,true,false),(true,r1,r2,r3) -> 338 XRL(`U1(`A, `REG(r1,r2,r3))), pc, 1 339 | (false,true,true,false),(false,true,false,true) -> 340 let pc,b1 = next pc in 341 XRL(`U1(`A, `DIRECT b1)), pc, 1 342 | (false,true,true,false),(false,true,true,i1) -> 343 XRL(`U1(`A, `INDIRECT i1)), pc, 1 344 | (false,true,true,false),(false,true,false,false) -> 345 let pc,b1 = next pc in 346 XRL(`U1(`A, `DATA b1)), pc, 1 347 | (false,true,true,false),(false,false,true,false) -> 348 let pc,b1 = next pc in 349 XRL(`U2(`DIRECT b1, `A)), pc, 1 350 | (false,true,true,false),(false,false,true,true) -> 351 let pc,b1 = next pc in 352 let pc,b2 = next pc in 353 XRL(`U2(`DIRECT b1, `DATA b2)), pc, 2 271 354 with 272 355 Not_found -> raise BOO
Note: See TracChangeset
for help on using the changeset viewer.