sigma: Fix breakpoint state restore
This commit is contained in:
parent
2a69f1bdfa
commit
677e89bab0
2 changed files with 4 additions and 0 deletions
|
@ -120,6 +120,7 @@
|
||||||
114: RAD: device address must include unit identifier everywhere, for interrupt generation.
|
114: RAD: device address must include unit identifier everywhere, for interrupt generation.
|
||||||
115. MT: error handling not consistent.
|
115. MT: error handling not consistent.
|
||||||
116: IO: dangling else in write direct mode 1 code causes incorrect behavior.
|
116: IO: dangling else in write direct mode 1 code causes incorrect behavior.
|
||||||
|
117: CPU: sim_interval is decremented before breakpoint test, which is incorrect.
|
||||||
|
|
||||||
|
|
||||||
Diagnostic Notes
|
Diagnostic Notes
|
||||||
|
|
|
@ -25,6 +25,8 @@
|
||||||
|
|
||||||
cpu central processor
|
cpu central processor
|
||||||
|
|
||||||
|
12-Jul-22 RMS Fix incorrect decrement on breakpoint (Ken Rector)
|
||||||
|
|
||||||
The system state for the Sigma CPU is as follows:
|
The system state for the Sigma CPU is as follows:
|
||||||
|
|
||||||
RF[0:15][0:31]<0:31> register blocks
|
RF[0:15][0:31]<0:31> register blocks
|
||||||
|
@ -476,6 +478,7 @@ while (reason == 0) { /* loop until stop */
|
||||||
if (sim_brk_summ &&
|
if (sim_brk_summ &&
|
||||||
sim_brk_test (PC, SWMASK ('E'))) { /* breakpoint? */
|
sim_brk_test (PC, SWMASK ('E'))) { /* breakpoint? */
|
||||||
reason = STOP_IBKPT; /* stop simulation */
|
reason = STOP_IBKPT; /* stop simulation */
|
||||||
|
sim_interval++; /* undo decrement */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (PSW_QRX9 && (PC & PSW1_XA)) /* S9 real ext && ext? */
|
if (PSW_QRX9 && (PC & PSW1_XA)) /* S9 real ext && ext? */
|
||||||
|
|
Loading…
Add table
Reference in a new issue