2017-08-10 11:26:02 +00:00
|
|
|
auto V30MZ::instructionStoreFlagsAcc() -> void {
|
2016-02-04 10:29:08 +00:00
|
|
|
wait(3);
|
|
|
|
r.f = (r.f & 0xff00) | r.ah;
|
|
|
|
}
|
|
|
|
|
2017-08-10 11:26:02 +00:00
|
|
|
auto V30MZ::instructionLoadAccFlags() -> void {
|
2016-02-04 10:29:08 +00:00
|
|
|
wait(1);
|
|
|
|
r.ah = (r.f & 0x00ff);
|
|
|
|
}
|
|
|
|
|
2017-08-10 11:26:02 +00:00
|
|
|
auto V30MZ::instructionComplementCarry() -> void {
|
2016-02-04 10:29:08 +00:00
|
|
|
wait(3);
|
|
|
|
r.f.c = !r.f.c;
|
|
|
|
}
|
|
|
|
|
2017-08-10 11:26:02 +00:00
|
|
|
auto V30MZ::instructionClearFlag(uint bit) -> void {
|
2016-02-04 10:29:08 +00:00
|
|
|
wait(3);
|
2016-06-08 22:26:35 +00:00
|
|
|
r.f &= ~(1 << bit);
|
2016-02-04 10:29:08 +00:00
|
|
|
}
|
|
|
|
|
2017-08-10 11:26:02 +00:00
|
|
|
auto V30MZ::instructionSetFlag(uint bit) -> void {
|
2016-02-04 10:29:08 +00:00
|
|
|
wait(3);
|
2016-06-08 22:26:35 +00:00
|
|
|
r.f |= 1 << bit;
|
|
|
|
if(bit == r.f.i.bit) state.poll = false;
|
2016-02-04 10:29:08 +00:00
|
|
|
}
|