mirror of
https://github.com/TomHarte/CLK.git
synced 2024-11-22 12:33:29 +00:00
Implement MOV.
This commit is contained in:
parent
da029ee344
commit
97d3a9fa78
@ -823,6 +823,11 @@ void lea(
|
||||
destination = IntT(address<model, uint16_t>(instruction, instruction.source(), registers, memory));
|
||||
}
|
||||
|
||||
template <typename IntT>
|
||||
void mov(IntT &destination, IntT source) {
|
||||
destination = source;
|
||||
}
|
||||
|
||||
template <typename FlowControllerT>
|
||||
void int_(uint8_t vector, FlowControllerT &flow_controller) {
|
||||
flow_controller.interrupt(vector);
|
||||
@ -1018,6 +1023,7 @@ template <
|
||||
case Operation::LES: if constexpr (data_size == DataSize::Word) Primitive::ld<model, Source::ES>(instruction, destination(), memory, registers); return;
|
||||
|
||||
case Operation::LEA: Primitive::lea<model>(instruction, destination(), memory, registers); return;
|
||||
case Operation::MOV: Primitive::mov(destination(), source()); return;
|
||||
|
||||
case Operation::JO: jcc(status.condition<Condition::Overflow>()); return;
|
||||
case Operation::JNO: jcc(!status.condition<Condition::Overflow>()); return;
|
||||
|
@ -384,7 +384,16 @@ struct FailedExecution {
|
||||
|
||||
// TODO: LOOP, LOOPE, LOOPNE
|
||||
|
||||
// TODO: MOV
|
||||
// MOV
|
||||
@"88.json.gz", @"89.json.gz", @"8A.json.gz", @"8B.json.gz",
|
||||
@"8C.json.gz", @"8E.json.gz",
|
||||
@"A0.json.gz", @"A1.json.gz", @"A2.json.gz", @"A3.json.gz",
|
||||
@"B0.json.gz", @"B1.json.gz", @"B2.json.gz", @"B3.json.gz",
|
||||
@"B4.json.gz", @"B5.json.gz", @"B6.json.gz", @"B7.json.gz",
|
||||
@"B8.json.gz", @"B9.json.gz", @"BA.json.gz", @"BB.json.gz",
|
||||
@"BC.json.gz", @"BD.json.gz", @"BE.json.gz", @"BF.json.gz",
|
||||
@"C6.json.gz", @"C7.json.gz",
|
||||
|
||||
/*
|
||||
// AND
|
||||
@"20.json.gz", @"21.json.gz", @"22.json.gz", @"23.json.gz", @"24.json.gz", @"25.json.gz",
|
||||
|
Loading…
Reference in New Issue
Block a user