KA10: Clean up some section errors in KL10B extended addressing.
This commit is contained in:
parent
7acb4554bb
commit
b848cb1234
1 changed files with 15 additions and 1 deletions
|
@ -5929,6 +5929,8 @@ unasign:
|
||||||
MB = AR;
|
MB = AR;
|
||||||
if (Mem_write(0, 0))
|
if (Mem_write(0, 0))
|
||||||
goto last;
|
goto last;
|
||||||
|
if ((IR & 04) == 0)
|
||||||
|
break;
|
||||||
goto ld_ptr;
|
goto ld_ptr;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -7715,7 +7717,6 @@ jrstf:
|
||||||
sect = pc_sect;
|
sect = pc_sect;
|
||||||
#endif
|
#endif
|
||||||
AR = AOB(AR);
|
AR = AOB(AR);
|
||||||
AB = AR & RMASK;
|
|
||||||
if (AR & C1) {
|
if (AR & C1) {
|
||||||
#if KI | KL
|
#if KI | KL
|
||||||
if (!pi_cycle)
|
if (!pi_cycle)
|
||||||
|
@ -7728,6 +7729,7 @@ jrstf:
|
||||||
#if KL
|
#if KL
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
AB = AR & RMASK;
|
||||||
MB = BR;
|
MB = BR;
|
||||||
if (hst_lnt)
|
if (hst_lnt)
|
||||||
hst[hst_p].mb = MB;
|
hst[hst_p].mb = MB;
|
||||||
|
@ -7741,6 +7743,7 @@ jrstf:
|
||||||
flag1 = glb_sect;
|
flag1 = glb_sect;
|
||||||
glb_sect = 0;
|
glb_sect = 0;
|
||||||
sect = pc_sect;
|
sect = pc_sect;
|
||||||
|
/* Decide if our stack pointer is global or local */
|
||||||
if (QKLB && t20_page) {
|
if (QKLB && t20_page) {
|
||||||
if ((xct_flag & 1) != 0)
|
if ((xct_flag & 1) != 0)
|
||||||
sect = prev_sect;
|
sect = prev_sect;
|
||||||
|
@ -7750,11 +7753,14 @@ jrstf:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
/* Fetch top of stack */
|
||||||
AB = AR & RMASK;
|
AB = AR & RMASK;
|
||||||
if (Mem_read(0, 0, 0))
|
if (Mem_read(0, 0, 0))
|
||||||
goto last;
|
goto last;
|
||||||
if (hst_lnt)
|
if (hst_lnt)
|
||||||
hst[hst_p].mb = MB;
|
hst[hst_p].mb = MB;
|
||||||
|
|
||||||
|
/* Save in location */
|
||||||
AB = BR & RMASK;
|
AB = BR & RMASK;
|
||||||
#if KL
|
#if KL
|
||||||
BYF5 = 0; /* Now back to data */
|
BYF5 = 0; /* Now back to data */
|
||||||
|
@ -7766,6 +7772,8 @@ jrstf:
|
||||||
if (Mem_write(0, 0))
|
if (Mem_write(0, 0))
|
||||||
goto last;
|
goto last;
|
||||||
#if KL
|
#if KL
|
||||||
|
/* Determine if we had globabl stack pointer or not */
|
||||||
|
sect = pc_sect;
|
||||||
if (QKLB && t20_page) {
|
if (QKLB && t20_page) {
|
||||||
if ((xct_flag & 1) != 0)
|
if ((xct_flag & 1) != 0)
|
||||||
sect = prev_sect;
|
sect = prev_sect;
|
||||||
|
@ -8647,6 +8655,12 @@ last:
|
||||||
#if KL
|
#if KL
|
||||||
/* Handle page fault and traps */
|
/* Handle page fault and traps */
|
||||||
if (page_enable && page_fault) {
|
if (page_enable && page_fault) {
|
||||||
|
if (hst_lnt) {
|
||||||
|
hst_p = hst_p + 1;
|
||||||
|
if (hst_p >= hst_lnt) {
|
||||||
|
hst_p = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
page_fault = 0;
|
page_fault = 0;
|
||||||
BYF5 = 0;
|
BYF5 = 0;
|
||||||
#if KL_ITS
|
#if KL_ITS
|
||||||
|
|
Loading…
Add table
Reference in a new issue