mirror of
https://github.com/TomHarte/CLK.git
synced 2024-11-26 23:52:26 +00:00
Imports Bcc tests.
This commit is contained in:
parent
6a44c682ad
commit
60fe84ad16
@ -27,6 +27,56 @@
|
||||
_machine.reset();
|
||||
}
|
||||
|
||||
// MARK: Bcc
|
||||
|
||||
- (void)performBccb:(uint16_t)opcode {
|
||||
_machine->set_program({
|
||||
uint16_t(opcode | 6) // Bcc.b +6
|
||||
});
|
||||
|
||||
_machine->run_for_instructions(1);
|
||||
}
|
||||
|
||||
- (void)performBccw:(uint16_t)opcode {
|
||||
_machine->set_program({
|
||||
opcode, 0x0006 // Bcc.w +6
|
||||
});
|
||||
|
||||
_machine->run_for_instructions(1);
|
||||
}
|
||||
|
||||
- (void)testBHIb {
|
||||
[self performBccb:0x6200];
|
||||
|
||||
const auto state = _machine->get_processor_state();
|
||||
XCTAssertEqual(state.program_counter, 0x1008 + 4);
|
||||
XCTAssertEqual(_machine->get_cycle_count(), 10);
|
||||
}
|
||||
|
||||
- (void)testBLOb {
|
||||
[self performBccb:0x6500];
|
||||
|
||||
const auto state = _machine->get_processor_state();
|
||||
XCTAssertEqual(state.program_counter, 0x1002 + 4);
|
||||
XCTAssertEqual(_machine->get_cycle_count(), 8);
|
||||
}
|
||||
|
||||
- (void)testBHIw {
|
||||
[self performBccw:0x6200];
|
||||
|
||||
const auto state = _machine->get_processor_state();
|
||||
XCTAssertEqual(state.program_counter, 0x1008 + 4);
|
||||
XCTAssertEqual(_machine->get_cycle_count(), 10);
|
||||
}
|
||||
|
||||
- (void)testBLOw {
|
||||
[self performBccw:0x6500];
|
||||
|
||||
const auto state = _machine->get_processor_state();
|
||||
XCTAssertEqual(state.program_counter, 0x1004 + 4);
|
||||
XCTAssertEqual(_machine->get_cycle_count(), 12);
|
||||
}
|
||||
|
||||
// MARK: BRA
|
||||
|
||||
- (void)testBRAb {
|
||||
|
Loading…
Reference in New Issue
Block a user