diff --git a/PDP10/kx10_cpu.c b/PDP10/kx10_cpu.c index 2e921cfb..db86c6e6 100644 --- a/PDP10/kx10_cpu.c +++ b/PDP10/kx10_cpu.c @@ -6418,13 +6418,17 @@ unasign: goto last; AR = MB; SC = (AR >> 24) & 077; /* S */ + FE = (AR >> 30) & 077; /* P */ +#if KL + if (SC || (QKLB && t20_page && FE > 36)) { +#else if (SC) { +#endif int bpw, left, newb, adjw, adjb; - FE = (AR >> 30) & 077; /* P */ f = 0; #if KL - if (QKLB && t20_page && pc_sect != 0 && FE > 36) { + if (QKLB && t20_page && FE > 36) { if (FE == 077) goto muuo; f = 1; @@ -6513,7 +6517,7 @@ unasign: AR = MB; SCAD = (AR >> 30) & 077; #if KL - if (QKLB && t20_page && pc_sect != 0 && SCAD > 36) { /* Extended pointer */ + if (QKLB && t20_page && SCAD > 36) { /* Extended pointer */ f = SCAD - 37; if (SCAD == 077) goto muuo; @@ -6590,9 +6594,6 @@ unasign: if ((IR & 04) == 0) break; goto ldb_ptr; - } else { - if ((IR & 04) == 0) - break; } /* Fall through */ @@ -6611,7 +6612,7 @@ unasign: SC = (AR >> 24) & 077; SCAD = (AR >> 30) & 077; #if KL - if (QKLB && t20_page && pc_sect != 0 && SCAD > 36) { /* Extended pointer */ + if (QKLB && t20_page && SCAD > 36) { /* Extended pointer */ f = SCAD - 37; if (SCAD == 077) goto muuo; @@ -12299,7 +12300,7 @@ do_byte_setup(int n, int wr, int *pos, int *sz) np = (p + (0777 ^ s) + 1) & 0777; /* Advance pointer */ #if KL - if (QKLB && t20_page && pc_sect != 0) { + if (QKLB && t20_page) { if (p > 36) { /* Extended pointer */ int i = p - 37; *sz = s = _byte_adj[i].s; @@ -12590,7 +12591,7 @@ adj_byte(int n) /* Advance pointer */ np = (p + (0777 ^ s) + 1) & 0777; #if KL - if (QKLB && t20_page && pc_sect != 0) { + if (QKLB && t20_page) { if (p > 36) { /* Extended pointer */ int i = p - 37; s = _byte_adj[i].s; @@ -12651,7 +12652,7 @@ adv_byte(int n) /* Advance pointer */ np = (p + (0777 ^ s) + 1) & 0777; #if KL - if (QKLB && t20_page && pc_sect != 0) { + if (QKLB && t20_page) { if (p > 36) { /* Extended pointer */ int i = p - 37; s = _byte_adj[i].s;