Strip leading zeros from selected debugger constants (typically immediate values)
This commit is contained in:
parent
15fe831fc7
commit
eb5aaa5d66
10 changed files with 348 additions and 335 deletions
|
|
@ -750,7 +750,7 @@ function Kr(a,b,c){var d=null;if(b=jr(a,b,!0)){a.cc(b);var e=zr(a,b,!0);if(e.len
|
|||
function Lr(a,b){if(b[1]&&"?"!=b[1]){var c="json"==b[1],d,e=0,f=0,g=c?{}:jr(a,b[1]);if(g&&(d=rq(a,b[2],"drive #"),void 0!==d)){if(!c){e=rq(a,b[3],"sector #");if(void 0===e)return;f=rq(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.tc;2<=d&&a.Jb&&(d-=2,h=a.Jb);if(h){var k=h.mj(d);if(k)if(k.za)if(c)Hr(a),a.O(k.za.toJSON());else if(h.Uk(k,e,f)){var m=0,n=!1;for(b=cr(g);!n&&0<k.Hb--;)(function(a,b){h.Le(k,function(c){0>c?(a.O("out of data at address "+cr(b)),n=!0):(a.qc(b,c,1,!0),m++)})})(a,g);ad(a.F,
|
||||
!0);a.O(m+" bytes read at "+b)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")}
|
||||
function pr(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Tb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(b&&1<b.length){var e=b[1];if(a.Tb&&"fp"==e){c=a.Tb;d=gg(c);b=c.jc;for(var f=0;8>f;f++){var g=c,e=null;if(f<g.X.length){var e=[],h=g.B+f&7;e[0]=h;e[1]=Fg(g,h);e[2]=g.X[h];h<<=1;e[3]=g.aa[h];e[4]=g.aa[h+1];g=Jg(g,e[3],e[4]);e[5]=g[0];e[6]=g[1];e[7]=g[2]}if(!e)break;
|
||||
a.O("ST"+f+": "+pa(e[2].toFixed(15),24,!0)+" "+r(e[4])+","+r(e[3])+" ["+e[0]+":"+Fq[e[1]]+"]")}a.O(" B3SSS210ESPUOZDI xxxIRRPPIxPUOZDI");a.O("SW: "+fa(d,16)+" ("+v(d)+") CW: "+fa(b,16)+" ("+v(b)+")");return}if("p"==e)d=80286<=a.F.ja;else{f=e.indexOf("=");if(0<f)b=e.substr(f+1),e=e.substr(0,f);else if(2<b.length)b=b[2];else{a.O("missing value for "+b[1]);return}f=!1;g=pq(a,b);if(void 0!==g)switch(f=!0,h=e.toUpperCase(),"E"==h.charAt(0)&&4>=a.Ja&&(h=null),h){case "AL":a.F.G=a.F.G&
|
||||
a.O("ST"+f+": "+pa(e[2].toFixed(15),24,!0)+" "+r(e[4])+","+r(e[3])+" ["+e[0]+":"+Fq[e[1]]+"]")}a.O(" B3SSS210ESPUOZDI xxxIRRPPIxPUOZDI");a.O("SW: "+fa(d,16)+" ("+v(d)+") CW: "+fa(b,16)+" ("+v(b)+")");return}if("p"==e)d=80286<=a.F.ja;else{f=e.indexOf("=");if(0<f)b=e.substr(f+1),e=e.substr(0,f);else if(2<b.length)b=b[2];else{a.O("missing value for "+b[1]);return}g=pq(a,b);if(void 0===g)return;f=!0;h=e.toUpperCase();"E"==h.charAt(0)&&4>=a.Ja&&(h=null);switch(h){case "AL":a.F.G=a.F.G&
|
||||
-256|g&255;break;case "AH":a.F.G=a.F.G&-65281|g<<8&255;break;case "AX":a.F.G=a.F.G&-65536|g&65535;break;case "BL":a.F.H=a.F.H&-256|g&255;break;case "BH":a.F.H=a.F.H&-65281|g<<8&255;break;case "BX":a.F.H=a.F.H&-65536|g&65535;break;case "CL":a.F.I=a.F.I&-256|g&255;break;case "CH":a.F.I=a.F.I&-65281|g<<8&255;break;case "CX":a.F.I=a.F.I&-65536|g&65535;break;case "DL":a.F.M=a.F.M&-256|g&255;break;case "DH":a.F.M=a.F.M&-65281|g<<8&255;break;case "DX":a.F.M=a.F.M&-65536|g&65535;break;case "SP":I(a.F,J(a.F)&
|
||||
-65536|g&65535);break;case "BP":a.F.P=a.F.P&-65536|g&65535;break;case "SI":a.F.K=a.F.K&-65536|g&65535;break;case "DI":a.F.J=a.F.J&-65536|g&65535;break;case "DS":Ad(a.F,g);break;case "ES":Bd(a.F,g);break;case "SS":ud(a.F,g);break;case "CS":sf(a.F,g);a.aa=vq(a,M(a.F),a.F.wa.Z);break;case "IP":case "EIP":O(a.F,g);a.aa=vq(a,M(a.F),a.F.wa.Z);break;case "PC":case "PS":Dd(a.F,g);break;case "C":g?Ef(a.F):Ff(a.F);break;case "P":g?(e=a.F,e.resultType&=-3,e.ca|=4):(e=a.F,e.resultType&=-3,e.ca&=-5);break;case "A":g?
|
||||
Mf(a.F):Kf(a.F);break;case "Z":g?Nf(a.F):Lf(a.F);break;case "S":g?(e=a.F,e.resultType&=-17,e.ca|=128):(e=a.F,e.resultType&=-17,e.ca&=-129);break;case "I":g?(e=a.F,e.ca|=512):(e=a.F,e.ca&=-513);break;case "D":g?(e=a.F,e.ca|=1024):(e=a.F,e.ca&=-1025);break;case "V":g?Gf(a.F):Hf(a.F);break;default:var k=!0;if(80286<=a.F.ja)switch(k=!1,h){case "MS":Of(a.F,g);break;case "TR":-1===a.F.Sa.load(g)&&(f=!1);break;default:if(k=!0,80386<=a.F.ja)switch(k=!1,h){case "EAX":a.F.G=g;break;case "EBX":a.F.H=g;break;
|
||||
|
|
|
|||
Loading…
Reference in a new issue