microprogram break register
This commit is contained in:
parent
3761b177af
commit
ce730c6ea1
2 changed files with 12 additions and 0 deletions
10
bus.cpp
10
bus.cpp
|
@ -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
2
bus.h
|
@ -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 };
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue