From 5a8a76249a3b024318d20f15fc5fce5ead4d0554 Mon Sep 17 00:00:00 2001 From: Jeff Date: Tue, 28 Mar 2017 16:31:02 -0700 Subject: [PATCH] Reordered flag output in the debugger to match bit order --- modules/pdp10/lib/debugger.js | 22 +++++++++++----------- versions/pdpjs/1.34.3/pdp10-dbg.js | 6 +++--- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/modules/pdp10/lib/debugger.js b/modules/pdp10/lib/debugger.js index b8d66b27e..4a498140b 100644 --- a/modules/pdp10/lib/debugger.js +++ b/modules/pdp10/lib/debugger.js @@ -922,15 +922,15 @@ class DebuggerPDP10 extends Debugger { case DebuggerPDP10.REGS.PS: value = (cpu.getPS() / PDP10.HALF_SHIFT)|0; break; + case DebuggerPDP10.REGS.OV: + value = (cpu.regPS & PDP10.PSFLAG.AROV)? 1 : 0; + break; case DebuggerPDP10.REGS.C0: value = (cpu.regPS & PDP10.PSFLAG.CRY0)? 1 : 0; break; case DebuggerPDP10.REGS.C1: value = (cpu.regPS & PDP10.PSFLAG.CRY1)? 1 : 0; break; - case DebuggerPDP10.REGS.OV: - value = (cpu.regPS & PDP10.PSFLAG.AROV)? 1 : 0; - break; case DebuggerPDP10.REGS.ND: value = (cpu.regPS & PDP10.PSFLAG.DCK)? 1 : 0; break; @@ -961,15 +961,15 @@ class DebuggerPDP10 extends Debugger { case DebuggerPDP10.REGS.PS: cpu.setPS(value * PDP10.HALF_SHIFT); break; + case DebuggerPDP10.REGS.OV: + flag = PDP10.PSFLAG.AROV; + break; case DebuggerPDP10.REGS.C0: flag = PDP10.PSFLAG.CRY0; break; case DebuggerPDP10.REGS.C1: flag = PDP10.PSFLAG.CRY1; break; - case DebuggerPDP10.REGS.OV: - flag = PDP10.PSFLAG.AROV; - break; case DebuggerPDP10.REGS.ND: flag = PDP10.PSFLAG.DCK; break; @@ -2256,7 +2256,7 @@ class DebuggerPDP10 extends Debugger { { var sReg = this.getRegName(iReg); if (sReg) { - var nBits = (iReg >= DebuggerPDP10.REGS.C0? 1 : (iReg == DebuggerPDP10.REGS.RA? 23 : 18)); + var nBits = (iReg >= DebuggerPDP10.REGS.OV? 1 : (iReg == DebuggerPDP10.REGS.RA? 23 : 18)); sReg += '=' + this.toStrBase(this.getRegValue(iReg), nBits) + ' '; } return sReg; @@ -4076,15 +4076,15 @@ if (DEBUGGER) { RA: 1, EA: 2, PS: 3, - C0: 4, // single-bit "register" representing the Carry 0 flag - C1: 5, // single-bit "register" representing the Carry 1 flag - OV: 6, // single-bit "register" representing the Overflow flag + OV: 4, // single-bit "register" representing the Overflow flag + C0: 5, // single-bit "register" representing the Carry 0 flag + C1: 6, // single-bit "register" representing the Carry 1 flag ND: 7, // single-bit "register" representing the No Divide flag PD: 8, // single-bit "register" representing the Pushdown Overflow flag }; DebuggerPDP10.REGNAMES = [ - "PC", "RA", "EA", "PS", "C0", "C1", "OV", "ND", "PD" + "PC", "RA", "EA", "PS", "OV", "C0", "C1", "ND", "PD" ]; /* diff --git a/versions/pdpjs/1.34.3/pdp10-dbg.js b/versions/pdpjs/1.34.3/pdp10-dbg.js index d83d608f6..effde3d36 100644 --- a/versions/pdpjs/1.34.3/pdp10-dbg.js +++ b/versions/pdpjs/1.34.3/pdp10-dbg.js @@ -189,7 +189,7 @@ function ff(a,b,c){var d,e;c||(c=Z());var f=c.B;if(void 0!==b){a:{var g,f=a.aa[0 null;switch(f[1].toLowerCase()){case "ops":h=0}if(null==h)break;b=b.replace(f[0],h.toString())}}"%"==b.charAt(0)&&(d=!0,b=b.substr(1));var p,f=b,u;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(f=f.toUpperCase(),h=0;ha&&a>=-A&&(a+=C);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function jf(a,b){return K(a,b/Tb,18)+" "+K(a,b%Tb,18)} function $e(a,b){a.D=a;a.ba=a.Eb=536870916;a.Z=null;a.R=[];b=Ke(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in ac){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;db){a.u("unknown register: "+f);return}var f=0,h=a.v;switch(b){case lf:G(h, -g);bf(a.M,h.i);break;case of:rd(h,g*y);break;case pf:f=65536;break;case qf:f=32768;break;case rf:f=131072;break;case sf:f=32;break;case tf:f=262144}f&&(h.j=g?h.j|f:h.j&~f);J(a.H);a.u("updated registers:")}}a.u(ng(a,e));c&&(bf(a.M,d.i),zf(a,K(a,a.M.B,18)))}}function wg(a,b){b=Ea(b);var c=b.match(/^(['"])(.*?)\1$/);c?1h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.u(l)}h[3]&&(g=h[3],f=null);h=a.ia;l=b;h.B=l.B;h.cb=l.cb;h.oa=l.oa;h.S=l.S;a.u(Bf(a,b,g,f));e-=b.B-k;c++}}} function Nf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(xf+b):(a.T&&(a.u("ended assemble at "+K(a,a.ia.B,18)),a.T=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.Z=null;if(Lb(a)&&0p||"z"> ";Xa(function(){for(var a=w(document,v,"debugger"),b=0;b