1
0
mirror of https://github.com/TomHarte/CLK.git synced 2025-01-18 08:31:04 +00:00

Fix LEA, proceed to non-functional LINK and UNLK.

This commit is contained in:
Thomas Harte 2022-05-03 20:45:36 -04:00
parent de58ec71fd
commit d3b55a74a5
2 changed files with 15 additions and 6 deletions

View File

@ -262,7 +262,7 @@ template <Model model, Operation t_operation = Operation::Undefined> uint8_t ope
// No operands are fetched or stored.
// (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:
return 0;
@ -337,9 +337,6 @@ template <Model model, Operation t_operation = Operation::Undefined> uint8_t ope
case Operation::MULU: case Operation::MULS:
return FetchOp1 | FetchOp2 | StoreOp2;
// case Operation::MOVEMw:
// case Operation::MOVEMl:
//
// Two-operand; read both, write source.
//
@ -351,6 +348,12 @@ template <Model model, Operation t_operation = Operation::Undefined> uint8_t ope
//
case Operation::EXG:
return FetchOp1 | FetchOp2 | StoreOp1 | StoreOp2;
//
// Two-operand; just write destination.
//
case Operation::LEA:
return StoreOp2;
}
}

View File

@ -39,6 +39,7 @@
// cmp
// dbcc_scc
// eori_andi_ori
// lea
// Skipped for now, for implying a more granular decoder:
//
@ -50,11 +51,16 @@
// divu_divs
// eor_and_or (which invokes BCD)
// exg (also BCD)
// chk
//
// And because possibly my old CHK is pushing the wrong program counter?
//
// ext.json
- (void)setUp {
// 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"]];
_testSet = [NSSet setWithArray:@[@"EXT/EXTB 0031"]];
_fileSet = [NSSet setWithArray:@[@"link_unlk.json"]];
// _testSet = [NSSet setWithArray:@[@"EXT/EXTB 0031"]];
// _fileSet = [NSSet setWithArray:@[@"jmp_jsr.json"]];
// _testSet = [NSSet setWithArray:@[@"CHK 41a8"]];
}