mirror of
https://github.com/TomHarte/CLK.git
synced 2025-02-16 18:30:32 +00:00
Fix SETMOC.
This commit is contained in:
parent
da2aea94e3
commit
2432396eaa
@ -1048,11 +1048,6 @@ void setmo(IntT &destination, Status &status) {
|
||||
status.set_from<IntT, Flag::Sign, Flag::Zero, Flag::ParityOdd>(destination);
|
||||
}
|
||||
|
||||
template <typename IntT>
|
||||
void setmoc(IntT &destination, uint8_t cl, Status &status) {
|
||||
if(cl) setmo(destination, status);
|
||||
}
|
||||
|
||||
template <typename IntT>
|
||||
inline void rcl(IntT &destination, uint8_t count, Status &status) {
|
||||
/*
|
||||
@ -1775,7 +1770,11 @@ template <
|
||||
return;
|
||||
case Operation::SETMOC:
|
||||
if constexpr (model == Model::i8086) {
|
||||
Primitive::setmoc(destination_w(), registers.cl(), status);
|
||||
// Test CL out here to avoid taking a reference to memory if
|
||||
// no write is going to occur.
|
||||
if(registers.cl()) {
|
||||
Primitive::setmo(destination_w(), status);
|
||||
}
|
||||
break;
|
||||
} else {
|
||||
// TODO.
|
||||
|
Loading…
x
Reference in New Issue
Block a user