mirror of
https://github.com/TomHarte/CLK.git
synced 2025-01-18 23:29:49 +00:00
Fix LEA, proceed to non-functional LINK and UNLK.
This commit is contained in:
parent
de58ec71fd
commit
d3b55a74a5
@ -262,7 +262,7 @@ template <Model model, Operation t_operation = Operation::Undefined> uint8_t ope
|
|||||||
// No operands are fetched or stored.
|
// No operands are fetched or stored.
|
||||||
// (which means that source and destination will appear as their effective addresses)
|
// (which means that source and destination will appear as their effective addresses)
|
||||||
//
|
//
|
||||||
case Operation::LEA: case Operation::PEA:
|
case Operation::PEA:
|
||||||
case Operation::JMP: case Operation::JSR:
|
case Operation::JMP: case Operation::JSR:
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
@ -337,9 +337,6 @@ template <Model model, Operation t_operation = Operation::Undefined> uint8_t ope
|
|||||||
case Operation::MULU: case Operation::MULS:
|
case Operation::MULU: case Operation::MULS:
|
||||||
return FetchOp1 | FetchOp2 | StoreOp2;
|
return FetchOp1 | FetchOp2 | StoreOp2;
|
||||||
|
|
||||||
// case Operation::MOVEMw:
|
|
||||||
// case Operation::MOVEMl:
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Two-operand; read both, write source.
|
// Two-operand; read both, write source.
|
||||||
//
|
//
|
||||||
@ -351,6 +348,12 @@ template <Model model, Operation t_operation = Operation::Undefined> uint8_t ope
|
|||||||
//
|
//
|
||||||
case Operation::EXG:
|
case Operation::EXG:
|
||||||
return FetchOp1 | FetchOp2 | StoreOp1 | StoreOp2;
|
return FetchOp1 | FetchOp2 | StoreOp1 | StoreOp2;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Two-operand; just write destination.
|
||||||
|
//
|
||||||
|
case Operation::LEA:
|
||||||
|
return StoreOp2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,6 +39,7 @@
|
|||||||
// cmp
|
// cmp
|
||||||
// dbcc_scc
|
// dbcc_scc
|
||||||
// eori_andi_ori
|
// eori_andi_ori
|
||||||
|
// lea
|
||||||
|
|
||||||
// Skipped for now, for implying a more granular decoder:
|
// Skipped for now, for implying a more granular decoder:
|
||||||
//
|
//
|
||||||
@ -50,11 +51,16 @@
|
|||||||
// divu_divs
|
// divu_divs
|
||||||
// eor_and_or (which invokes BCD)
|
// eor_and_or (which invokes BCD)
|
||||||
// exg (also BCD)
|
// exg (also BCD)
|
||||||
|
// chk
|
||||||
|
//
|
||||||
|
// And because possibly my old CHK is pushing the wrong program counter?
|
||||||
|
//
|
||||||
|
// ext.json
|
||||||
|
|
||||||
- (void)setUp {
|
- (void)setUp {
|
||||||
// To limit tests run to a subset of files and/or of tests, uncomment and fill in below.
|
// To limit tests run to a subset of files and/or of tests, uncomment and fill in below.
|
||||||
_fileSet = [NSSet setWithArray:@[@"ext.json", @"jmp_jsr.json"]];
|
_fileSet = [NSSet setWithArray:@[@"link_unlk.json"]];
|
||||||
_testSet = [NSSet setWithArray:@[@"EXT/EXTB 0031"]];
|
// _testSet = [NSSet setWithArray:@[@"EXT/EXTB 0031"]];
|
||||||
// _fileSet = [NSSet setWithArray:@[@"jmp_jsr.json"]];
|
// _fileSet = [NSSet setWithArray:@[@"jmp_jsr.json"]];
|
||||||
// _testSet = [NSSet setWithArray:@[@"CHK 41a8"]];
|
// _testSet = [NSSet setWithArray:@[@"CHK 41a8"]];
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user