More memptr adjustments

Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
This commit is contained in:
Adrian Conlon
2018-08-17 13:59:59 +01:00
parent 1abe3ae456
commit ed76038bfa
12 changed files with 52 additions and 69 deletions

View File

@@ -21,14 +21,14 @@ uint8_t EightBit::IntelProcessor::pop() {
}
EightBit::register16_t EightBit::IntelProcessor::getWord() {
BUS().ADDRESS() = MEMPTR()++;
const auto low = BUS().read();
++BUS().ADDRESS();
MEMPTR() = ++BUS().ADDRESS();
const auto high = BUS().read();
return register16_t(low, high);
}
void EightBit::IntelProcessor::setWord(const register16_t value) {
BUS().write(MEMPTR()++, value.low);
BUS().write(++BUS().ADDRESS(), value.high);
BUS().write(value.low);
MEMPTR() = ++BUS().ADDRESS();
BUS().write(value.high);
}