Corrected a few expression parser changes that had adversely affected other debuggers (eg, PCx86)
This commit is contained in:
parent
09dc4dcb9a
commit
38f709bb7a
8 changed files with 78 additions and 76 deletions
|
|
@ -50,8 +50,8 @@ var la={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[4
|
|||
"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,ce:65,ti:66,ui:67,vi:68,E:69,wi:70,xi:71,yi:72,zi:73,Ai:74,Bi:75,Ci:76,Di:77,Ei:78,Fi:79,Gi:80,Q:81,Hi:82,Ii:83,Ji:84,Ki:85,Li:86,Mi:87,Ni:88,Oi:89,eg:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,de:97,vl:98,xl:99,d:100,e:101,Hl:102,Il:103,Jl:104,Kl:105,an:106,k:107,dn:108,hn:109,n:110,qn:111,p:112,q:113,r:114,No:115,t:116,Ro:117,So:118,To:119,x:120,
|
||||
y:121,z:122,"{":123,"|":124,"}":125,"~":126,Np:127},ma={};ma[173]=n["-"];ma[186]=n[";"];ma[187]=n["="];ma[189]=n["-"];ma[188]=n[","];ma[190]=n["."];ma[191]=n["/"];ma[192]=n["`"];ma[219]=n["["];ma[220]=n["\\"];ma[221]=n["]"];ma[222]=n["'"];var na={};na[n["1"]]=n["!"];na[n["2"]]=n["@"];na[n["3"]]=n["#"];na[n["4"]]=n.$;na[n["5"]]=n["%"];na[n["6"]]=n["^"];na[n["7"]]=n["&"];na[n["8"]]=n["*"];na[n["9"]]=n["("];na[n["0"]]=n[")"];na[186]=n[":"];na[187]=n["+"];na[188]=n["<"];na[189]=n._;na[190]=n[">"];
|
||||
na[191]=n["?"];na[192]=n["~"];na[219]=n["{"];na[220]=n["|"];na[221]=n["}"];na[222]=n['"'];na[173]=n._;na[61]=n["+"];na[59]=n[":"];
|
||||
function oa(a,b){var c;if(a){b||(b=10);var d,e,f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));d=e=a.charAt(0);"#"==e?(b=8,e=""):"$"==e&&(b=16,e="");d!=e?a=a.substr(1):(d=e=a.substr(0,2),"0b"==e&&f||"^B"==e?(b=2,e=""):"0o"==e||"^O"==e?(b=8,e=""):"^D"==e?(b=10,e=""):"0x"==e&&(b=16,e=""),d!=e&&(a=a.substr(2)));d=e=a.slice(-1);"Y"==e||"y"==e?(b=2,e=""):"."==e?(b=10,e=""):"H"==e||"h"==e?(b=16,e=""):"K"==e?e="000":"M"==e?e="000000":"G"==e&&(e="000000000");d!=e&&(a=a.slice(0,-1)+e);var g;d=0;if(e=a.match(/(-?[0-9]+)B([0-9]*)/))a=
|
||||
e[1],d=35-((e[2]||35)&255);e=a;((f=b)&&10!=f?16==f?e.match(/^-?[0-9a-f]+$/i):8==f?e.match(/^-?[0-7]+$/):2==f&&e.match(/^-?[01]+$/):e.match(/^-?[0-9]+$/))&&!isNaN(g=parseInt(a,b))&&(d&&(0>g&&(g+=Math.pow(2,36)),g=0<d?g*Math.pow(2,d):Math.trunc(g/Math.pow(2,-d))),c=g)}return c}
|
||||
function oa(a,b){var c;if(a){b||(b=10);var d,e,f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));d=e=a.charAt(0);"#"==e?(b=8,e=""):"$"==e&&(b=16,e="");d!=e?a=a.substr(1):(d=e=a.substr(0,2),"0b"==e&&f||"^B"==e?(b=2,e=""):"0o"==e||"^O"==e?(b=8,e=""):"^D"==e?(b=10,e=""):"0x"==e&&(b=16,e=""),d!=e&&(a=a.substr(2)));d=e=a.slice(-1);"Y"==e||"y"==e?(b=2,e=""):"."==e?(b=10,e=""):"H"==e||"h"==e?(b=16,e=""):"K"==e?e="000":"M"==e?e="000000":"G"==e&&(e="000000000");d!=e&&(a=a.slice(0,-1)+e);var g;d=0;10>=b&&(e=a.match(/(-?[0-9]+)B([0-9]*)/))&&
|
||||
(a=e[1],d=35-((e[2]||35)&255));e=a;((f=b)&&10!=f?16==f?e.match(/^-?[0-9a-f]+$/i):8==f?e.match(/^-?[0-7]+$/):2==f&&e.match(/^-?[01]+$/):e.match(/^-?[0-9]+$/))&&!isNaN(g=parseInt(a,b))&&(d&&(0>g&&(g+=Math.pow(2,36)),g=0<d?g*Math.pow(2,d):Math.trunc(g/Math.pow(2,-d))),c=g)}return c}
|
||||
function pa(a,b,c,d,e){e=void 0===e?0:e;var f="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));for(var g=e||-1;0<c--;){g||(f=","+f,g=e);if(null==a)f="?"+f;else{var h=a%b,h=h+(0<=h&&9>=h?48:55),f=String.fromCharCode(h)+f;a=Math.trunc(a/b)}g--}return(void 0===d?"":d)+f}function qa(a,b,c){b?36<b&&(b=36):(b=Math.abs(a),b=255>=b?8:262143>=b?18:36);return pa(a,2,b,"",c)}
|
||||
function ra(a,b,c){b?12<b&&(b=12):(b=Math.abs(a),b=262143>=b?6:16777215>=b?8:12);return pa(a,8,b,c?"0o":"")}function q(a,b,c){b?9<b&&(b=9):(b=Math.abs(a),b=65535>=b?4:4294967295>=b?8:9);return pa(a,16,b,c?"0x":"")}function r(a){return q(a,2,!0)}function sa(a){return q(a,4,!0)}function ta(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}
|
||||
function va(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function wa(a,b){return-1!==a.indexOf(b,a.length-b.length)}function xa(a){return a.replace(/[&<>"']/g,function(a){return ya[a]})}function Aa(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function Ba(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
|
||||
|
|
@ -713,23 +713,23 @@ function kx(a,b){if(a.errorCode)return-1;do{if(a.cb&&a.sa.write(a.cb,a.Sa++,b))b
|
|||
var Sw="Hard Drive",Vw=["XTC","ATC","COMPAQ"],Tw=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,
|
||||
6],19:[1023,8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}],Lw=496,ox=1,rx=0,ix=16,qx=3,px=15,lx=16,hx=1,gx=8,fx=16,Pw=64,dx=128,ux=16,vx=32,wx=48,xx=64,yx=
|
||||
112,sx=144,zx=145,tx=240,Ax=2,nx=4,Gx=0,Hx=2,Kx=0,Lx=1,Cx=3,Mx=5,Nx=8,Px=10,$w=12,Rx=15,Ix=224,Jx=228,Rw=0,Ex=4,Tx=20,Qw=0,ax=1,Xw=2,Yw=4,Zw=8,Ww=32,Iw={800:Gw.prototype.Tm,801:Gw.prototype.Um,802:Gw.prototype.Sm},Hw={496:Gw.prototype.nl,497:Gw.prototype.$l,498:Gw.prototype.bm,499:Gw.prototype.cm,500:Gw.prototype.Yl,501:Gw.prototype.Xl,502:Gw.prototype.Zl,503:Gw.prototype.dm},Kw={800:Gw.prototype.ro,801:Gw.prototype.uo,802:Gw.prototype.to,803:Gw.prototype.so,807:Gw.prototype.hi,811:Gw.prototype.hi,
|
||||
815:Gw.prototype.hi},Jw={496:Gw.prototype.An,497:Gw.prototype.Fn,498:Gw.prototype.Dn,499:Gw.prototype.En,500:Gw.prototype.zn,501:Gw.prototype.yn,502:Gw.prototype.Bn,503:Gw.prototype.xn,1014:Gw.prototype.Cn};$a(function(){for(var a=zb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=vb(c),d=new Gw(d);yb(d,c)}});function Vx(a){mb.call(this,"Debugger",a);this.F=+a.base||16;this.ha=["{","}"];this.Aa=["[","]"];this.Z=this.la=this.N=0;this.ga=!1;this.A=-1;this.C=[];this.I={}}ba(Vx,mb);
|
||||
815:Gw.prototype.hi},Jw={496:Gw.prototype.An,497:Gw.prototype.Fn,498:Gw.prototype.Dn,499:Gw.prototype.En,500:Gw.prototype.zn,501:Gw.prototype.yn,502:Gw.prototype.Bn,503:Gw.prototype.xn,1014:Gw.prototype.Cn};$a(function(){for(var a=zb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=vb(c),d=new Gw(d);yb(d,c)}});function Vx(a){mb.call(this,"Debugger",a);this.D=+a.base||16;this.ha=["{","}"];this.Aa=["[","]"];this.Z=this.la=this.N=0;this.ga=!1;this.A=-1;this.C=[];this.I={}}ba(Vx,mb);
|
||||
Vx.prototype.gh=function(){return-1};Vx.prototype.hh=function(){};Vx.prototype.Pk=function(a,b){return a.replace("["+b+"]","unimplemented")};
|
||||
Vx.prototype.Cg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.ga?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Ba(a.substring(d,f))),d=f+1}}return b};
|
||||
function Wx(a,b,c){var d=a;b=b||32;if(c)if(32==b)d=a>>>0;else if(32>b)d=a&(1<<b)-1;else{if(b=Math.pow(2,b),0>a||a>=b)d=a%b,0>d&&(d+=b)}else 32>=b?d=a<<32-b>>32-b:(b=Math.pow(2,b-1),a>=b?(d=a%b,(a/b|0)&1&&(d-=b)):a<-b&&(d=a%b,((-a-1)/b|0)&1?d&&(d+=b):d||(d-=b)));a!=d&&(a=d);return a}
|
||||
function Xx(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e,f=a.pop();e=a.pop();switch(d){case "*":e*=f;break;case "/":if(!f)return!1;e=Math.trunc(e/f);break;case "^/":if(!f)return!1;e%=f;break;case "+":e+=f;break;case "-":e-=f;break;case "<<":e<<=f;break;case ">>":e>>=f;break;case ">>>":e>>>=f;break;case "<":e=e<f?1:0;break;case "<=":e=e<=f?1:0;break;case ">":e=e>f?1:0;break;case ">=":e=e>=f?1:0;break;case "==":e=e==f?1:0;break;case "!=":e=e!=f?1:0;break;case "&":e&=
|
||||
f;break;case "!":case "|":e|=f;break;case "^!":e|=f;break;case "&&":e=e&&f?1:0;break;case "||":e=e||f?1:0;break;case ",,":e=Wx(e,18,!0)*Math.pow(2,18)+Wx(f,18,!0);break;case "_":case "^_":"^_"==d&&(f=35-(f&255));f&&(e=Wx(e,0,!0),e=0<f?e*Math.pow(2,f):Math.trunc(e/Math.pow(2,-f)));break;default:return!1}a.push(Wx(e))}return!0}
|
||||
function Yx(a,b,c,d,e,f){var g,h,k,m=!1,p=0,v=[],u=[],E=a.F;for(a.F=e;c<d;){var G;h=b[c++].trim();k=c<d?b[c++]:"";if(h)G=Zx(a,h,null,f,p);else if("{"==k){h=1;for(G=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;G=Yx(a,b,G,c-1,a.F,f);null!=G&&p&&(G=$x(G,p));h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if(" "==k)continue;if("^B"==k){a.F=2;continue}if("^O"==k){a.F=8;continue}if("^D"==k){a.F=10;continue}if(!(p&-1073741824)){if("+"==k)continue;if("-"==k){p=p<<2|1;continue}if("~"==
|
||||
k||"^-"==k){p=p<<2|2;continue}if("^L"==k){p=p<<2|3;continue}}m=!0;break}if(void 0===G)if(f)f.push(h),G=0;else{m=!0;f=[];break}v.push(Wx(G));if(" "==k)if(c<b.length-1&&!b[c])c++,k=b[c++];else{m=!0;break}if(!k)break;p="<"==a.ha[0]?ay:by;if(!p[k]){m=!0;break}u.length&&p[k]<=p[u[u.length-1]]&&Xx(v,u,1);u.push(k);a.F="^_"==k?10:e;p=0}if(m||!Xx(v,u)||1!=v.length)m=!0;m?f||a.P("parse error ("+(h||k)+")"):g=v.pop();a.F=E;return g}
|
||||
function Yx(a,b,c,d,e,f){var g,h,k,m=!1,p=0,v=[],u=[],E=a.D;for(a.D=e;c<d;){var G;h=b[c++].trim();k=c<d?b[c++]:"";if(h)G=Zx(a,h,null,f,p);else if("{"==k){h=1;for(G=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;G=Yx(a,b,G,c-1,a.D,f);null!=G&&p&&(G=$x(G,p));h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if(" "==k)continue;if("^B"==k){a.D=2;continue}if("^O"==k){a.D=8;continue}if("^D"==k){a.D=10;continue}if(!(p&-1073741824)){if("+"==k)continue;if("-"==k){p=p<<2|1;continue}if("~"==
|
||||
k||"^-"==k){p=p<<2|2;continue}if("^L"==k){p=p<<2|3;continue}}m=!0;break}if(void 0===G)if(f)f.push(h),G=0;else{m=!0;f=[];break}v.push(Wx(G));if(" "==k)if(c<b.length-1&&!b[c])c++,k=b[c++];else{m=!0;break}if(!k)break;p="<"==a.ha[0]?ay:by;if(!p[k]){m=!0;break}u.length&&p[k]<=p[u[u.length-1]]&&Xx(v,u,1);u.push(k);a.D="^_"==k?10:e;p=0}if(m||!Xx(v,u)||1!=v.length)m=!0;m?f||a.P("parse error ("+(h||k)+")"):g=v.pop();a.D=E;return g}
|
||||
function cy(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,h=f+1,k=e;h<b.length;){var m=b[h++];if(m==c){k=-1;break}if(!k)break;k--;m=m.charCodeAt(0);7==d?m&=127:m=m-32&63;g=Wx(g*Math.pow(2,d)+m,d*e,!0)}if(0<=k){a.P("parse error ("+c+b+c+")");break}else b=b.substr(0,f)+dy(a,g,-1)+b.substr(h)}return b}
|
||||
function ey(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.ha[0]&&(b=b.split(a.ha[0]).join("{").split(a.ha[1]).join("}"));b=cy(a,b,'"',7,5);if(!b)return d;b=cy(a,b,"'",6,6);if(!b)return d;b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," ");b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=Yx(a,b,0,b.length,a.F,c);void 0!==d&&e&&fy(a,null,d)}return d}
|
||||
function ey(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.ha[0]&&(b=b.split(a.ha[0]).join("{").split(a.ha[1]).join("}"));b=cy(a,b,'"',7,5);if(!b)return d;b=cy(a,b,"'",6,6);if(!b)return d;b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," ");b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=Yx(a,b,0,b.length,a.D,c);void 0!==d&&e&&fy(a,null,d)}return d}
|
||||
function gy(a,b){var c,d=a.ha[0],e=a.ha[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=ey(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?dy(a,g):"undefined")}if(a.Aa.length)for(d=a.Aa[0],e=a.Aa[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=a.Pk(b,c[1]);for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=a.Z-a.la}if(null==
|
||||
e)break;b=b.replace(d[0],e.toString())}return b}function $x(a,b){for(;b;){switch(b&3){case 1:a=-Wx(a);break;case 2:a|=-1;break;case 3:for(var c=35;0<=c&&!(a&Math.pow(2,c));)c--;a=35-c}b>>>=2}return a}
|
||||
function Zx(a,b,c,d,e){e=void 0===e?0:e;var f,g=Array.isArray(d)?d:void 0;if(null!=b){f=a.gh(b);if(0<=f)f=a.hh(f);else if(f=b,a.I[f]?f=a.I[f].value:(f=f.substr(0,6),f=a.I[f]&&a.I[f].value),null!=f){var h=a.I[b]&&a.I[b].Qo;h&&(g?g.push(h):(a.P(b+" is undefined ("+h+")"),f=void 0))}else f=oa(b,1<b.length?a.F:10);null!=f?f=Wx($x(f,e)):d||a.P("invalid "+(c?c:"value")+": "+b)}else d||a.P("missing "+(c||"value"));return f}
|
||||
function fy(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.F?dy(a,c,32,8,1)+" "+c+".":dy(a,c,32,16,1)+" "+dy(a,c,32,8,1)+" "+dy(a,c,32,2,8)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}function hy(a,b){var c=0;if(a.I){if(b)return fy(a,b,a.I[b]&&a.I[b].value);b=Object.keys(a.I);b.sort();for(var d=0;d<b.length;d++)fy(a,b[d],a.I[b[d]].value),c++}return 0<c}
|
||||
function dy(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.F){case 2:b=qa(b,0<c?c:0,e);break;case 8:b=ra(b,0<c?(c+2)/3|0:0,!!e);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=99999>=Math.abs(b)?5:11;b=pa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
|
||||
function Zx(a,b,c,d,e){e=void 0===e?0:e;var f,g=Array.isArray(d)?d:void 0;if(null!=b){f=a.gh(b);if(0<=f)f=a.hh(f);else if(f=b,a.I[f]?f=a.I[f].value:(f=f.substr(0,6),f=a.I[f]&&a.I[f].value),null!=f){var h=a.I[b]&&a.I[b].Qo;h&&(g?g.push(h):(a.P(b+" is undefined ("+h+")"),f=void 0))}else f=oa(b,1<b.length||10<a.D?a.D:10);null!=f?f=Wx($x(f,e)):d||a.P("invalid "+(c?c:"value")+": "+b)}else d||a.P("missing "+(c||"value"));return f}
|
||||
function fy(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.D?dy(a,c,32,8,1)+" "+c+".":dy(a,c,32,16,1)+" "+dy(a,c,32,8,1)+" "+dy(a,c,32,2,8)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}function hy(a,b){var c=0;if(a.I){if(b)return fy(a,b,a.I[b]&&a.I[b].value);b=Object.keys(a.I);b.sort();for(var d=0;d<b.length;d++)fy(a,b[d],a.I[b[d]].value),c++}return 0<c}
|
||||
function dy(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.D){case 2:b=qa(b,0<c?c:0,e);break;case 8:b=ra(b,0<c?(c+2)/3|0:0,!!e);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=99999>=Math.abs(b)?5:11;b=pa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
|
||||
var by={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},ay={",,":1,"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20};
|
||||
function iy(a){Vx.call(this,a);this.ta=4;this.ma=5;this.wa=1048575;this.M=jy(this);this.Ma=jy(this);this.da=jy(this);this.D=[];this.B=this.aa=this.O=[];ky(this);this.xa=0;ly(this);this.Ba={};my(this,a.messages);this.Ga=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return ny(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return ny(b,a)})}ba(iy,Vx);l=iy.prototype;
|
||||
function iy(a){Vx.call(this,a);this.ta=4;this.ma=5;this.wa=1048575;this.M=jy(this);this.Ma=jy(this);this.da=jy(this);this.F=[];this.B=this.aa=this.O=[];ky(this);this.xa=0;ly(this);this.Ba={};my(this,a.messages);this.Ga=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return ny(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return ny(b,a)})}ba(iy,Vx);l=iy.prototype;
|
||||
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.pa=a;this.eb=Wb(a,"FDC");this.Ta=Wb(a,"HDC");this.Tc=Wb(a,"FPU");this.G=Wb(a,"Mouse");(a=yd(a,"messages"))&&my(this,a);this.ma=b.I>>2;this.wa=b.N;this.Ya=new Ud(this.H,7,"DBG");this.qa=oy;80186<=this.H.ca&&(this.qa=oy.slice(),this.qa[15]=py,80286<=this.H.ca&&(this.qa[15]=qy,80386<=this.H.ca&&(this.ta=8)));zl(this,64,function(a){ry(d,d.H.sc,a[0])});zl(this,4,function(a){if(a=a[0]){var b=Zx(d,a);if(void 0===b)d.P("invalid selector: "+a);else if(a=sy(d,
|
||||
b,ty),d.P("dumpSel("+sa(a?a.U:b)+"): %"+q(a?a.Lb:null,d.ma)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var e=uy[a.type];e&&(c=e[0],b=e[1])}!c||a.lb&32768||(c+=",not present");d.P((b?"seg="+sa(a.ua&65535)+" off="+sa(a.Ka):"base="+q(a.ua,d.ma)+" limit="+vy(a.Ka))+" type="+r(a.type>>8)+" ("+c+") ext="+sa(a.ext&-65296)+
|
||||
" dpl="+r(a.qc))}}else d.P("no selector")});zl(this,134217728,function(a){var b;(a=a[0])&&(b=Zx(d,a));if(void 0===b)d.P("invalid MCB");else for(d.P("dumpMCB("+sa(b)+")");b;){a=jy(d,0,b);var c=d.Ia(a,1),e=d.Yc(a,2),k=d.Yc(a,5);if(77!=c&&90!=c)break;d.P(wy(0,b)+": '"+String.fromCharCode(c)+"' PID="+sa(e)+" LEN="+sa(k)+' "'+xy(d,a,8)+'"');b+=1+k}});zl(this,128,function(a){ry(d,d.H.aa,a[0],d.H.aa!==d.H.sc)});zl(this,8,function(a){a:{if(a=a[0]){var b=Zx(d,a);if(void 0===b){d.P("invalid task selector: "+
|
||||
|
|
@ -748,7 +748,7 @@ d+6,2);80386<=c.ca&&(h|=(k&65280)<<16,e|=(k&15)<<16,k&128&&(e=e<<12|4095));a.U=b
|
|||
l.jb=function(a,b){return a.Hb?Dy(this,a,b?4:0):this.Yc(a,b?2:0)};l.Yc=function(a,b){var c=65535,d=this.Sb(a,!1,2);-1!==d&&(c=xg(this.H,d,2,a.type==Ly)|0,b&&My(this,a,b));return c};function Dy(a,b,c){var d=-1,e=a.Sb(b,!1,4);-1!==e&&(d=xg(a.H,e,4,b.type==Ly)|0,c&&My(a,b,c));return d}l.fc=function(a,b,c,d){var e=this.Sb(a,!0,1);if(-1!==e){if(a.type!=Ly)this.H.fc(e,b);else{var f=this.ka;f.aa[(e&f.C)>>>f.A].bf(e&f.D,b&255,e)}c&&My(this,a,c);d||Bd(this.H,!0)}};
|
||||
l.il=function(a,b,c){var d=this.Sb(a,!0,2);-1!==d&&(a.type!=Ly?this.H.fb(d,b):Jc(this.ka,d,b),c&&My(this,a,c),Bd(this.H,!0))};function jy(a,b,c,d,e,f,g){return Ny(a,{},b,c,d,e,f,g)}function Ny(a,b,c,d,e,f,g,h){b.Ja=c||0;b.U=d;b.ya=e;b.type=f||(Jy(a)?ty:Ky);b.Hb=null!=g?g:!(!a.H||4!=a.H.Z.W);b.dc=null!=h?h:!(!a.H||4!=a.H.Z.Jc);b.Jd=!1;return b}function Oy(a){return[a.Ja,a.U,a.ya,a.Jd,a.Hb,a.dc,a.Fe,a.bh]}function Py(a){return{Ja:a[0],U:a[1],ya:a[2],Jd:a[3],Hb:a[4],dc:a[5],Fe:a[6],bh:a[7]}}
|
||||
function Qy(a,b,c){if(null!=b.U&&(a=sy(a,b.U,b.type))){var d=b.Ja&a.wa;if(!a.Oc){if(d>>>0>=a.Nb)return!1}else if(d>>>0<a.Nb)return!1;c&&(b.Ja=d,b.Hb=4==a.W,b.dc=4==a.Jc)}return!0}
|
||||
function Ry(a,b,c,d){var e,f=c?a.M:a.Ma;c=d?Sy:f.type;var g=f.Ja,h=f.U,f=f.ya;if(void 0!==b){b=gy(a,b);e=b.charAt(0);f=b.indexOf(":");switch(e){case "&":c=Ky;break;case "#":c=ty;break;case "%":c=Ty;e=b.charAt(1);"%"==e&&(c=Ly,e+=e);g=0;h=null;break;default:0<=f&&(c=Sy),e=""}e&&(b=b.substr(e.length),f-=e.length);e=b;var k;if(e.match(/^[a-z_][a-z0-9_]*$/i))for(var m=e.toUpperCase(),p=0;p<a.D.length;p++){e=a.D[p];var v=e.Fd[m];if(void 0!==v){m=v.o;void 0!==m&&(k=v.s,void 0===k&&(k=e.U),k=jy(a,m,k,v.p));
|
||||
function Ry(a,b,c,d){var e,f=c?a.M:a.Ma;c=d?Sy:f.type;var g=f.Ja,h=f.U,f=f.ya;if(void 0!==b){b=gy(a,b);e=b.charAt(0);f=b.indexOf(":");switch(e){case "&":c=Ky;break;case "#":c=ty;break;case "%":c=Ty;e=b.charAt(1);"%"==e&&(c=Ly,e+=e);g=0;h=null;break;default:0<=f&&(c=Sy),e=""}e&&(b=b.substr(e.length),f-=e.length);e=b;var k;if(e.match(/^[a-z_][a-z0-9_]*$/i))for(var m=e.toUpperCase(),p=0;p<a.F.length;p++){e=a.F[p];var v=e.Fd[m];if(void 0!==v){m=v.o;void 0!==m&&(k=v.s,void 0===k&&(k=e.U),k=jy(a,m,k,v.p));
|
||||
break}}if(e=k)return e;0>f?null!=h?(g=ey(a,b,void 0),f=null):(f=ey(a,b,void 0),null==f&&(g=null)):(h=ey(a,b.substring(0,f),void 0),g=ey(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=jy(a,g,h,f,c),d||Qy(a,e,!0)||(a.P("invalid offset: "+Hy(e)),e=null));return e}function Uy(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.sl=a.Cg(b.Yk=c[2]))}l.Pk=function(a,b){var c=Ry(this,b);return a.replace("["+b+"]",c?q(this.jb(c),c.Hb?8:4):"undefined")};
|
||||
function My(a,b,c){c=c||1;null!=b.ya&&(b.ya+=c);null!=b.U&&(b.Ja+=c,Qy(a,b)||(b.Ja=0,b.ya=null))}function wy(a,b,c){return null!=b?q(b,4)+":"+q(a,a&-65536||c?8:4):q(a)}function Hy(a){var b;switch(a.type){case Ky:case Vy:b="&";break;case ty:b="#";break;case Ty:b="%";break;case Ly:b="%%";break;default:b=a.U?"":"%"}return a.type>=Ty||null==a.U?b+q(a.ya):b+wy(a.Ja,a.U,a.dc)}
|
||||
function xy(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Ia(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}
|
||||
|
|
@ -765,7 +765,7 @@ function Mb(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.ic&h)==h)h=null,null!=e&&(h=a
|
|||
function ly(a,b){var c;if(Ig(a)){if(!a.V||!a.V.length){a.V=Array(Oz);for(c=0;c<a.V.length;c++)a.V[c]=jy(a);a.oa=0;b||a.P("instruction history buffer allocated")}if(!a.L||!a.L.length)for(a.L=Array(256),c=0;c<a.L.length;c++)a.L[c]=[c,0]}else a.V&&a.V.length&&!b&&a.P("instruction history buffer freed"),a.oa=0,a.V=[],a.L=[]}function Pz(a,b){if(!Qz(a))return!1;a.H.Uf(b);return!0}
|
||||
function Iy(a,b,c,d){if(!Qz(a))return!1;a.N=0;do{b||Ig(a)&&Lg(a,a.H.da,0);try{var e=a.H.Lg(b);0<e&&(a.N+=e,Gd(a.H,e,!0),Cd(a.H,e),a.Z++)}catch(g){if("number"!=typeof g){var f=g;a.N=0;Fb(a.H,f.stack||f.message)}}}while(a.H.N&3312);!1!==d&&Bd(a.H);Nz(a,c||!1);return 0<a.N}l.Jb=function(a){this.H&&this.H.Jb(a)};function Nz(a,b){void 0===b&&(b=!0);a.M=jy(a,A(a.H),a.H.Z.U);b&&1!=a.K?Rz(a):Sz(a)}
|
||||
function Qz(a){var b;if(b=a.H&&Gb(a.H))b=a.H,b.ea.Yb?b=!0:(b.P(b.toString()+" not powered"),b=!1);b&&!Jb(a.H)?(a=a.H,a.ea.error?(a.P(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.Xb=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Wb=function(a,b){b&&this.P(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){ly(this);this.Z=this.la=0;this.za=null;this.N=0;this.M=jy(this,A(this.H),this.H.Z.U);this.ea.vb=!1;Tz(this);a||Nz(this)};
|
||||
l.save=function(){var a=new Wf(this);a.set(0,Oy(this.M));a.set(1,Oy(this.da));a.set(2,[this.C,this.ga,this.ic]);a.set(3,this.D);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.M=Py(a[b++]),this.da=Py(a[b++]),this.C=a[b][0],"string"==typeof this.C&&(this.C=[this.C]),this.ga=a[b][1],this.ic|=a[b][2]);a[3]&&(this.D=a[3]);return!0};l.start=function(a,b){this.K||this.P("running");this.ea.vb=!0;this.hb=a;this.jd=b};
|
||||
l.save=function(){var a=new Wf(this);a.set(0,Oy(this.M));a.set(1,Oy(this.da));a.set(2,[this.C,this.ga,this.ic]);a.set(3,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.M=Py(a[b++]),this.da=Py(a[b++]),this.C=a[b][0],"string"==typeof this.C&&(this.C=[this.C]),this.ga=a[b][1],this.ic|=a[b][2]);a[3]&&(this.F=a[3]);return!0};l.start=function(a,b){this.K||this.P("running");this.ea.vb=!0;this.hb=a;this.jd=b};
|
||||
l.stop=function(a,b){if(this.ea.vb){this.ea.vb=!1;this.N=b-this.jd;if(!this.K){b="stopped";if(this.N){a-=this.hb;var c=0<a?Math.round(1E3*this.N/a):0;b+=" (";Ig(this)&&(b+=this.Z+" opcodes, ",this.la-=this.Z,this.Z=0);b+=this.N+" cycles, "+a+" ms, "+c+" hz)"}else t(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.P(b)}Nz(this,!0);this.ld();Tz(this,this.H.da)}};function Ig(a){return 1<a.B.length||!!a.xa||t(a,16)}
|
||||
function Lg(a,b,c){var d=a.H;if(0<c&&(a.xa&&!--a.xa||Uz(a,b,1,a.B)))return!0;0<=c&&a.L.length&&(a.Z++,b=xg(d,b),null!=b&&(a.L[b][1]++,Ny(a,a.V[a.oa],A(d),d.Z.U),++a.oa==a.V.length&&(a.oa=0)));return!1}function pd(a,b,c){return Uz(a,b,c||1,a.aa)?(a.Jb(!0),!0):!1}function rd(a,b,c){return Uz(a,b,c||1,a.O)?(a.Jb(!0),!0):!1}function Pc(a,b,c){a.P("break on input from port "+sa(b)+": "+q(c));a.Jb(!0)}function Tc(a,b,c){a.P("break on output to port "+sa(b)+": "+q(c));a.Jb(!0)}
|
||||
function ky(a){var b,c;a.B=["bp"];if(a.aa)for(b=1;b<a.aa.length;b++)c=a.aa[b],kf(a.H,a.Sb(c),!1,c.type==Ly);a.aa=["br"];if(a.O)for(b=1;b<a.O.length;b++)c=a.O[b],kf(a.H,a.Sb(c),!0,c.type==Ly);a.O=["bw"];a.Da=0}
|
||||
|
|
@ -784,9 +784,9 @@ function WA(a,b){switch(b){case "V":a=hg(a.H);break;case "D":a=a.H.O&1024;break;
|
|||
function YA(a,b,c){return b.$b+"="+q(b.U,4)+(c?"["+q(b.ua,a.ma)+","+vy(b.Ka)+"]":"")}function ZA(a,b,c,d,e){return b+"="+(null!=c?q(c,4):"")+"["+q(d,a.ma)+","+q(e-d,4)+"]"}
|
||||
function $A(a,b){var c;void 0===b&&(b=Jy(a));c=XA(a,gz)+XA(a,jz)+XA(a,hz)+XA(a,iz)+(4<a.ta?"\n":"")+XA(a,kz)+XA(a,lz)+XA(a,mz)+XA(a,nz)+"\n"+YA(a,a.H.Y,b)+" "+YA(a,a.H.Ca,b)+" "+YA(a,a.H.oa,b)+" ";if(b){var d="TR="+q(a.H.la.U,4),e=a.ka,e="A20="+(e.J||e.N!=e.C?"OFF ":"ON ");80386>a.H.ca&&(d="\n"+d,c+=e,e="");c+="\n"+YA(a,a.H.Z,b)+" ";80386<=a.H.ca&&(e+="\n",c+=YA(a,a.H.Ga,b)+" "+YA(a,a.H.Ha,b)+"\n");c+=ZA(a,"LD",a.H.Eb.U,a.H.Eb.ua,a.H.Eb.ua+a.H.Eb.Ka)+" "+ZA(a,"GD",null,a.H.Kb,a.H.Pc)+" "+ZA(a,"ID",
|
||||
null,a.H.Pb,a.H.cd)+" ";c=c+(d+" "+e)+XA(a,Ez);80386<=a.H.ca&&(c+=XA(a,Gz)+XA(a,Hz))}else 80386<=a.H.ca&&(c+=YA(a,a.H.Ga,b)+" "+YA(a,a.H.Ha,b)+" ");return c+=XA(a,Jz)+WA(a,"V")+WA(a,"D")+WA(a,"I")+WA(a,"T")+WA(a,"S")+WA(a,"Z")+WA(a,"A")+WA(a,"P")+WA(a,"C")}l.gj=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function $p(a,b,c,d,e,f,g,h){var k={},m=[],p;for(p in h){var v=h[p];"number"==typeof v&&(h[p]=v={o:v});var u=v.o,E=v.s,G=v.a;if(void 0!==u){void 0!==E&&(k.Ja=u,k.U=E,k.ya=null,a.Sb(k),(k.ya&-65536)==(a.ka.N&-65536)&&(k.ya&=1048575),v.p=k.ya);var E=m,u=[u>>>0,p],I=Da(E,u,a.gj);0>I&&E.splice(-(I+1),0,u)}G&&(v.a=G.replace(/''/g,'"'))}a.D.push({Rf:b,pn:c,U:d,Ja:e,ya:f,en:g,Fd:h,Pi:m})}
|
||||
function Fy(a,b,c){for(var d=0;d<a.D.length;d++){var e=a.D[d];if(!b||e.Rf==b)if(b&&c==e.pn||!b&&c==e.U){a.D.splice(d,1);break}}}function FA(a,b,c){for(var d=[],e=b.Ja>>>0,f=a.Sb(b)>>>0,g=0;g<a.D.length;g++){var h=a.D[g],k=h.U,m=h.Ja>>>0,p=h.ya;null!=p&&(p>>>=0);var v=h.en;48==k&&(k=40);if(k==b.U&&e>=m&&e<m+v||null!=p&&f>=p&&f<p+v){b=Da(h.Pi,[e],a.gj);0<=b?aB(a,g,b,d):c&&(b=~b,aB(a,g,b-1,d),aB(a,g,b,d));break}}!d.length&&(a=a.ka.wj(f,!0))&&(d.push(a),d.push(f));return d}
|
||||
function aB(a,b,c,d){var e={},f=a.D[b].Pi,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.D[b].Fd[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function bB(a){a.Ie&&(a.Ie.value="")}
|
||||
function $p(a,b,c,d,e,f,g,h){var k={},m=[],p;for(p in h){var v=h[p];"number"==typeof v&&(h[p]=v={o:v});var u=v.o,E=v.s,G=v.a;if(void 0!==u){void 0!==E&&(k.Ja=u,k.U=E,k.ya=null,a.Sb(k),(k.ya&-65536)==(a.ka.N&-65536)&&(k.ya&=1048575),v.p=k.ya);var E=m,u=[u>>>0,p],I=Da(E,u,a.gj);0>I&&E.splice(-(I+1),0,u)}G&&(v.a=G.replace(/''/g,'"'))}a.F.push({Rf:b,pn:c,U:d,Ja:e,ya:f,en:g,Fd:h,Pi:m})}
|
||||
function Fy(a,b,c){for(var d=0;d<a.F.length;d++){var e=a.F[d];if(!b||e.Rf==b)if(b&&c==e.pn||!b&&c==e.U){a.F.splice(d,1);break}}}function FA(a,b,c){for(var d=[],e=b.Ja>>>0,f=a.Sb(b)>>>0,g=0;g<a.F.length;g++){var h=a.F[g],k=h.U,m=h.Ja>>>0,p=h.ya;null!=p&&(p>>>=0);var v=h.en;48==k&&(k=40);if(k==b.U&&e>=m&&e<m+v||null!=p&&f>=p&&f<p+v){b=Da(h.Pi,[e],a.gj);0<=b?aB(a,g,b,d):c&&(b=~b,aB(a,g,b-1,d),aB(a,g,b,d));break}}!d.length&&(a=a.ka.wj(f,!0))&&(d.push(a),d.push(f));return d}
|
||||
function aB(a,b,c,d){var e={},f=a.F[b].Pi,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].Fd[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function bB(a){a.Ie&&(a.Ie.value="")}
|
||||
function cB(a,b){if("?"==b)a.P("frequency commands:"),a.P("\tclear\tclear all frequency counts");else{var c=0;if(a.L)if("clear"==b){for(b=0;b<a.L.length;b++)a.L[b]=[b,0];a.P("frequency data cleared");c++}else if(void 0!==b)a.P("unknown frequency command: "+b),c++;else{var d=a.L.slice();d.sort(function(a,b){return b[1]-a[1]});for(b=0;b<d.length;b++){var e=d[b][0],f=d[b][1];f&&(a.P(($z[a.qa[e][0]]+" ").substr(0,5)+" ("+r(e)+"): "+f+" times"),c++)}}c||a.P("no frequency data available")}}
|
||||
function dB(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return hy(a)||a.P("no variables"),!0;if(!c[2])return hy(a,c[1]);if(!c[3])return delete a.I[c[1]],!0;b=ey(a,c[3]);return void 0!==b?(a.I[c[1]]={value:b,Qo:void 0},!0):!1}a.P("invalid assignment:"+b);return!1}
|
||||
function eB(a,b,c){var d=null;if(b=Ry(a,b,!0)){a.Sb(b);var e=FA(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.Ja-e[1])&&(g=" + "+sa(f)),f=e[0]+" ("+wy(e[1],b.U)+")"+g,c&&a.P(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.Ja)&&(g=" - "+sa(f)),f=e[4]+" ("+wy(e[5],b.U)+")"+g,c&&a.P(f),d||(d=f))}else c&&a.P("no symbols")}return d}
|
||||
|
|
@ -807,12 +807,12 @@ Ry(a,g[1],!0);if(v)if(a.da=v,void 0===g[2])a.P("begin assemble at "+Hy(v)),a.ga=
|
|||
a.P("\tbc [a]\tclear breakpoint at addr [a]"),a.P("\tbl\tlist all breakpoints"),a.P("\tbn [n]\tbreak after [n] instruction(s)");else{var T=G.charAt(1);if("l"==T){var L;L=0+Xz(a,a.B);L+=Xz(a,a.aa);(L+=Xz(a,a.O))||a.P("no breakpoints")}else if("n"==T)a.xa=Zx(a,I),a.P("break after "+a.xa+" instruction(s)");else if(void 0===I)a.P("missing breakpoint address");else{var ua={};if("*"!=I&&(ua=Ry(a,I,!0,!0),!ua))break a;I=null==ua.Ja?I:sa(ua.Ja);"c"==T?null==ua.Ja?(ky(a),a.P("all breakpoints cleared")):Gy(a,
|
||||
a.B,ua)||Gy(a,a.aa,ua)||Gy(a,a.O,ua)||a.P("breakpoint missing: "+Hy(ua)):"i"==T?a.P("breakpoint "+(Mc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+I+" (input)"):"o"==T?a.P("breakpoint "+(Qc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+I+" (output)"):null!=ua.Ja&&(Uy(a,ua,J),"p"==T?a.Gd(a.B,ua):"r"==T?a.Gd(a.aa,ua):"w"==T?a.Gd(a.O,ua):a.P("unknown breakpoint command: "+T))}}}break;case "c":bB(a);break;case "d":a:{var ca=g,xb,za=ca[0],cb=ca[1],Sa=ca[2],rb=ca[3];if("?"==cb){var db="";for(xb in Rb)a.Ba[xb]&&
|
||||
(db&&(db+=","),db+=xb);db+=",state,symbols";a.P("dump memory commands:");a.P("\tdb [a] [#] dump # bytes at address a");a.P("\tdw [a] [#] dump # words at address a");a.P("\tdd [a] [#] dump # dwords at address a");a.P("\tdh [#] [#] dump # instructions from history");a.P("\tdi [#] dump descriptor info for IDT #");a.P("\tds [#] dump descriptor info for selector #");db.length&&a.P("dump extension commands:\n\t"+db)}else if("state"==cb){var rc=kB(a.pa,!0);rc?"console"==Sa?console.log(rc):
|
||||
(bB(a),a.P(rc)):a.P("powerOff() error")}else if("symbols"==cb)for(var ib=0;ib<a.D.length;ib++){var df=a.D[ib],Ld;for(Ld in df.Fd)if("."!=Ld.charAt(0)){var ef=df.Fd[Ld],vg=ef.o;if(void 0!==vg){var ff=ef.s;void 0===ff&&(ff=df.U);var wg=df.Fd[Ld].l;wg&&(Ld=wg);a.P(wy(vg,ff)+" "+Ld)}}}else{if("ds"==za||"dg"==za||"dl"==za)za="d",ca=[za,"desc",cb];"d"==za&&"page"==cb&&(za="dp",ca.shift());if("dp"==za){ca.shift();var qm=ca[0];if(qm){var Qg=a.Sb(Ry(a,qm));if(-1===Qg)a.P("invalid address: "+qm);else{var pf,
|
||||
(bB(a),a.P(rc)):a.P("powerOff() error")}else if("symbols"==cb)for(var ib=0;ib<a.F.length;ib++){var df=a.F[ib],Ld;for(Ld in df.Fd)if("."!=Ld.charAt(0)){var ef=df.Fd[Ld],vg=ef.o;if(void 0!==vg){var ff=ef.s;void 0===ff&&(ff=df.U);var wg=df.Fd[Ld].l;wg&&(Ld=wg);a.P(wy(vg,ff)+" "+Ld)}}}else{if("ds"==za||"dg"==za||"dl"==za)za="d",ca=[za,"desc",cb];"d"==za&&"page"==cb&&(za="dp",ca.shift());if("dp"==za){ca.shift();var qm=ca[0];if(qm){var Qg=a.Sb(Ry(a,qm));if(-1===Qg)a.P("invalid address: "+qm);else{var pf,
|
||||
Qa=null;if(80386<=a.H.ca){var qf=a.ka,Qa={};Qa.Jk=(Qg&-4194304)>>>20;Qa.Ti=a.H.Wc+Qa.Jk;Qa.nb=qf.aa[(Qa.Ti&qf.C)>>>qf.A];Qa.Aj=Qa.nb.Nd(Qa.Jk);Qa.Kk=(Qg&4190208)>>>10;Qa.Ui=(Qa.Aj&-4096)+Qa.Kk;Qa.ob=qf.aa[(Qa.Ui&qf.C)>>>qf.A];Qa.Bj=Qa.ob.Nd(Qa.Kk);Qa.ul=(Qa.Bj&-4096)+(Qg&4095)}if(pf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var we="%"+q(Qg),we=we+(" %%"+Wy(pf.Ti,pf.Aj)),we=
|
||||
we+(" %%"+Wy(pf.Ui,pf.Bj,!0)),we=we+(" %%"+q(pf.ul));a.P(we)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";fB(a,ca);break a}for(xb in Rb)if(ca[1]==xb){var wt=a.Ba[xb];wt?(ca.shift(),ca.shift(),wt(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.ib||"db")}else a.ib=za;if("dh"==za){var xt=cb,yt=Sa,zt="",At=0,Lc=a.oa,jd=a.V;if(jd.length){var uc=+xt||a.Xa,Rg=+yt||10;isNaN(uc)?uc=Rg:zt="more ";uc>jd.length&&(a.P("note: only "+
|
||||
jd.length+" available"),uc=jd.length);Lc-=uc;0>Lc&&(null==jd[jd.length-1].U?(uc=Lc+uc,Lc=0):Lc+=jd.length);var rm=[];"call"==yt&&(Rg=1E5,rm=["CALL"]);for(void 0!==xt&&a.P(uc+" instructions earlier:");0<Rg&&Lc!=a.oa;){var xe=jd[Lc++];if(null==xe.U)break;var Sg=jy(a,xe.Ja,xe.U,xe.ya,xe.type,xe.Hb,xe.dc),aC=uc--,Bt=Zz(a,Sg,"history",aC);(!rm.length||0<=Bt.indexOf(rm[0]))&&a.P(Bt);Sg.Fe&&(Lc+=Sg.Fe,Rg-=Sg.Fe,uc-=Sg.Fe);Lc>=jd.length&&(Lc=0);a.Xa=uc;At++;Rg--}}At||(a.P("no "+zt+"history available"),a.Xa=
|
||||
void 0)}else if("di"==za){ca.shift();var sm=ca[0];if(sm){var Tg=Zx(a,sm);if(void 0===Tg||0>Tg||255<Tg)a.P("invalid vector: "+sm);else{var Ct="&",Dt=!!(a.H.qa&1),Et=!1,Wi=a.H.Pb+(Tg<<(Dt?3:2)),Ft=a.H.ja(Wi+0),bC=a.H.ja(Wi+2);Dt&&(Ct="#",a.H.ja(Wi+4)&2048&&(Et=!0,Ft|=a.H.ja(Wi+6)<<16));a.P("dumpIDT("+sa(Tg)+"): "+Ct+q(bC,4)+":"+q(Ft,Et?8:4))}}else a.P("no IDT vector")}else if("dt"==za)ca.shift(),a.P("no information");else{var rf=Ry(a,cb);if(rf&&(null!=rf.U||null!=rf.ya)){var Xi=0;Sa&&("l"==Sa.charAt(0)&&
|
||||
(Sa=Sa.substr(1)||rb),Xi=Zx(a,Sa)>>>0,65536<Xi&&(Xi=65536));for(var Ug="",sf="dd"==za?4:"dw"==za?2:1,Yi=sf*Xi||128,cC=Yi+15>>4||1;cC--&&0<Yi;){var Vg=0,tm=0,Wg,um="",Gt="",cb=Hy(rf);for(Wg=4==sf?16:a.F;0<Wg&&0<Yi;Wg--){var Zi=a.Ia(rf,1),Vg=Vg|Zi<<(tm++<<3);tm==sf&&(um+=8==a.F?ra(Vg,3*sf):q(Vg,2*sf),um+=1==sf?9==Wg?"-":" ":" ",Vg=tm=0);Gt+=32<=Zi&&128>Zi?String.fromCharCode(Zi):".";Yi--}Ug&&(Ug+="\n");Ug+=cb+" "+um+(Wg?"":" "+Gt)}Ug&&a.P(Ug);a.Ma=rf}}}}}break;case "e":if("else"==g[0])break;var $i=
|
||||
(Sa=Sa.substr(1)||rb),Xi=Zx(a,Sa)>>>0,65536<Xi&&(Xi=65536));for(var Ug="",sf="dd"==za?4:"dw"==za?2:1,Yi=sf*Xi||128,cC=Yi+15>>4||1;cC--&&0<Yi;){var Vg=0,tm=0,Wg,um="",Gt="",cb=Hy(rf);for(Wg=4==sf?16:a.D;0<Wg&&0<Yi;Wg--){var Zi=a.Ia(rf,1),Vg=Vg|Zi<<(tm++<<3);tm==sf&&(um+=8==a.D?ra(Vg,3*sf):q(Vg,2*sf),um+=1==sf?9==Wg?"-":" ":" ",Vg=tm=0);Gt+=32<=Zi&&128>Zi?String.fromCharCode(Zi):".";Yi--}Ug&&(Ug+="\n");Ug+=cb+" "+um+(Wg?"":" "+Gt)}Ug&&a.P(Ug);a.Ma=rf}}}}}break;case "e":if("else"==g[0])break;var $i=
|
||||
1,Ht=255,It=a.Ia,Jt=a.fc;"ew"==g[0]&&($i=2,Ht=65535,It=a.Yc,Jt=a.il);var Kt=$i<<1,Lt=g[1];if(null==Lt)a.P("edit memory commands:"),a.P("\teb [a] [...] edit bytes at address a"),a.P("\tew [a] [...] edit words at address a");else{var aj=Ry(a,Lt);if(aj)for(var bj=2;bj<g.length;bj++){var Xg=ey(a,g[bj]);if(void 0===Xg){a.P("unrecognized value: "+g[bj]);break}Xg&~Ht&&a.P("warning: "+q(Xg)+" exceeds "+$i+"-byte value");var dC=It.call(a,aj);a.P("changing "+Hy(aj)+" from "+q(dC,Kt,!0)+" to "+q(Xg,Kt,!0));
|
||||
Jt.call(a,aj,Xg,$i)}}break;case "f":cB(a,g[1]);break;case "g":a:{var Mt=g[1],eC=b;"gt"==g[0]&&(a.Ca=!0);if(void 0!==Mt){var vm=Ry(a,Mt,!0);if(!vm)break a;Uy(a,vm,eC);a.Gd(a.B,vm,!0)}Pz(a,!0)||c||a.P("cpu busy or unavailable, run command ignored")}break;case "h":a:{var wm;if(a.ea.vb)wm="halting",a.Jb();else{if(Jb(a,!0))break a;wm="already halted"}c||a.P(wm)}break;case "i":if("if"==g[0]){var xm;var Yg=b.substr(2),Yg=Ba(Yg);ey(a,Yg)?(c||a.P("true: "+Yg),xm=!0):(c||a.P("false: "+Yg),xm=!1);xm||(d=!1);
|
||||
break}if("int"==g[0]){var cj;a:switch(Zx(a,g[1])){case 19:Vk(a,19,a.H.da,!0);a.la=a.Z;cj=!0;break a;case 33:Vk(a,33,a.H.da,!0);a.la=a.Z;cj=!0;break a;default:cj=!1}cj||(d=!1);break}var ym=g[1];if(ym&&"?"!=ym){var zm=Zx(a,ym);if(void 0!==zm){var fC=Oc(a.ka,zm,1);a.P(sa(zm)+": "+r(fC))}}else a.P("input commands:"),a.P("\ti [p]\tread port [p]"),a.P("warning: port accesses can affect hardware state");break;case "k":var gC=g[0];if("?"==g[1])a.P("stack trace commands:"),a.P("\tk\tshow frame addresses"),
|
||||
|
|
|
|||
|
|
@ -50,8 +50,8 @@ var la={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[4
|
|||
"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Bd:65,wh:66,xh:67,zh:68,E:69,Ah:70,Bh:71,Ch:72,Dh:73,Eh:74,Fh:75,Gh:76,Hh:77,Ih:78,Jh:79,Kh:80,Q:81,Lh:82,Mh:83,Nh:84,Oh:85,Ph:86,Qh:87,Rh:88,Sh:89,sf:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Cd:97,jk:98,kk:99,d:100,e:101,vk:102,wk:103,xk:104,yk:105,Jl:106,k:107,Ll:108,Pl:109,n:110,Vl:111,p:112,q:113,r:114,pn:115,t:116,sn:117,tn:118,un:119,x:120,
|
||||
y:121,z:122,"{":123,"|":124,"}":125,"~":126,po:127},ma={};ma[173]=n["-"];ma[186]=n[";"];ma[187]=n["="];ma[189]=n["-"];ma[188]=n[","];ma[190]=n["."];ma[191]=n["/"];ma[192]=n["`"];ma[219]=n["["];ma[220]=n["\\"];ma[221]=n["]"];ma[222]=n["'"];var p={};p[n["1"]]=n["!"];p[n["2"]]=n["@"];p[n["3"]]=n["#"];p[n["4"]]=n.$;p[n["5"]]=n["%"];p[n["6"]]=n["^"];p[n["7"]]=n["&"];p[n["8"]]=n["*"];p[n["9"]]=n["("];p[n["0"]]=n[")"];p[186]=n[":"];p[187]=n["+"];p[188]=n["<"];p[189]=n._;p[190]=n[">"];p[191]=n["?"];
|
||||
p[192]=n["~"];p[219]=n["{"];p[220]=n["|"];p[221]=n["}"];p[222]=n['"'];p[173]=n._;p[61]=n["+"];p[59]=n[":"];
|
||||
function na(a,b){var c;if(a){b||(b=10);var d,e,f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));d=e=a.charAt(0);"#"==e?(b=8,e=""):"$"==e&&(b=16,e="");d!=e?a=a.substr(1):(d=e=a.substr(0,2),"0b"==e&&f||"^B"==e?(b=2,e=""):"0o"==e||"^O"==e?(b=8,e=""):"^D"==e?(b=10,e=""):"0x"==e&&(b=16,e=""),d!=e&&(a=a.substr(2)));d=e=a.slice(-1);"Y"==e||"y"==e?(b=2,e=""):"."==e?(b=10,e=""):"H"==e||"h"==e?(b=16,e=""):"K"==e?e="000":"M"==e?e="000000":"G"==e&&(e="000000000");d!=e&&(a=a.slice(0,-1)+e);var g;d=0;if(e=a.match(/(-?[0-9]+)B([0-9]*)/))a=
|
||||
e[1],d=35-((e[2]||35)&255);e=a;((f=b)&&10!=f?16==f?e.match(/^-?[0-9a-f]+$/i):8==f?e.match(/^-?[0-7]+$/):2==f&&e.match(/^-?[01]+$/):e.match(/^-?[0-9]+$/))&&!isNaN(g=parseInt(a,b))&&(d&&(0>g&&(g+=Math.pow(2,36)),g=0<d?g*Math.pow(2,d):Math.trunc(g/Math.pow(2,-d))),c=g)}return c}
|
||||
function na(a,b){var c;if(a){b||(b=10);var d,e,f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));d=e=a.charAt(0);"#"==e?(b=8,e=""):"$"==e&&(b=16,e="");d!=e?a=a.substr(1):(d=e=a.substr(0,2),"0b"==e&&f||"^B"==e?(b=2,e=""):"0o"==e||"^O"==e?(b=8,e=""):"^D"==e?(b=10,e=""):"0x"==e&&(b=16,e=""),d!=e&&(a=a.substr(2)));d=e=a.slice(-1);"Y"==e||"y"==e?(b=2,e=""):"."==e?(b=10,e=""):"H"==e||"h"==e?(b=16,e=""):"K"==e?e="000":"M"==e?e="000000":"G"==e&&(e="000000000");d!=e&&(a=a.slice(0,-1)+e);var g;d=0;10>=b&&(e=a.match(/(-?[0-9]+)B([0-9]*)/))&&
|
||||
(a=e[1],d=35-((e[2]||35)&255));e=a;((f=b)&&10!=f?16==f?e.match(/^-?[0-9a-f]+$/i):8==f?e.match(/^-?[0-7]+$/):2==f&&e.match(/^-?[01]+$/):e.match(/^-?[0-9]+$/))&&!isNaN(g=parseInt(a,b))&&(d&&(0>g&&(g+=Math.pow(2,36)),g=0<d?g*Math.pow(2,d):Math.trunc(g/Math.pow(2,-d))),c=g)}return c}
|
||||
function oa(a,b,c){b?9<b&&(b=9):(b=Math.abs(a),b=65535>=b?4:4294967295>=b?8:9);c=c?"0x":"";var d;d=void 0===d?0:d;var e="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(16,b)),a>=Math.pow(16,b)&&(b=Math.ceil(Math.log(a)/Math.log(16))));for(var f=d||-1;0<b--;){f||(e=","+e,f=d);if(null==a)e="?"+e;else{var g=a%16,g=g+(0<=g&&9>=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/16)}f--}return(void 0===c?"":c)+e}
|
||||
function pa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function qa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ra(a,b){return-1!==a.indexOf(b,a.length-b.length)}function sa(a){return a.replace(/[&<>"']/g,function(a){return ta[a]})}function ua(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
|
||||
var ta={"&":"&","<":"<",">":">",'"':""","'":"'"},va={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
|
||||
|
|
|
|||
Loading…
Reference in a new issue