microprogram break register

This commit is contained in:
folkert van heusden 2023-03-20 14:23:32 +01:00
parent 3761b177af
commit ce730c6ea1
Signed by untrusted user who does not match committer: folkert
GPG key ID: 6B6455EDFEED3BD1
2 changed files with 12 additions and 0 deletions

10
bus.cpp
View file

@ -617,6 +617,15 @@ void bus::write(const uint16_t a, const bool word_mode, uint16_t value, const bo
c -> setStackLimitRegister(v); c -> setStackLimitRegister(v);
return; return;
} }
if (a == ADDR_MICROPROG_BREAK_REG) { // microprogram break register
microprogram_break_register = (microprogram_break_register & 0xff00) | value;
return;
}
if (a == ADDR_MICROPROG_BREAK_REG + 1) { // microprogram break register
microprogram_break_register = (microprogram_break_register & 0x00ff) | (value << 8);
return;
}
} }
else { else {
if (a == ADDR_PSW) { // PSW if (a == ADDR_PSW) { // PSW
@ -663,6 +672,7 @@ void bus::write(const uint16_t a, const bool word_mode, uint16_t value, const bo
} }
if (a == ADDR_MICROPROG_BREAK_REG) { // microprogram break register if (a == ADDR_MICROPROG_BREAK_REG) { // microprogram break register
microprogram_break_register = value;
return; return;
} }
} }

2
bus.h
View file

@ -87,6 +87,8 @@ private:
uint16_t lf_csr { 0 }; uint16_t lf_csr { 0 };
uint16_t microprogram_break_register { 0 };
uint16_t console_switches { 0 }; uint16_t console_switches { 0 };
uint16_t console_leds { 0 }; uint16_t console_leds { 0 };