Fixed the PDP-10 BLT instruction
This commit is contained in:
parent
7e1fc5586e
commit
d4c12c8c7a
10 changed files with 121 additions and 109 deletions
|
|
@ -153,9 +153,9 @@ d.M),d.ab(g+64,d.K),d.ab(g+68,d.J),d.ab(g+72,d.oa.U),d.ab(g+76,d.Z.U),d.ab(g+80,
|
|||
g)));c&&d.fb(h+0,f);d.qa|=8;return!0}l.save=function(){return[this.U,this.ua,this.Ka,this.lb,this.id,this.$b,this.Ab,this.qc,this.Lb,this.Jc,this.wa,this.W,this.R,this.type,this.Nb]};l.restore=function(a){"number"==typeof a?this.load(a):(this.U=a[0],this.ua=a[1],this.Ka=a[2],this.lb=a[3],this.id=a[4],this.$b=a[5],this.Ab=a[6],this.qc=a[7],this.Lb=a[8],this.Jc=a[9]||2,this.wa=a[10]||65535,this.W=a[11]||2,this.R=a[12]||65535,this.type=a[13]||this.lb&7936,this.Nb=a[14]||(this.Ka>>>0)+1)};
|
||||
function Vd(a,b,c,d){void 0===c&&(c=!!(a.gc.qa&1));a.Oc=!1;if(c)if(a.load=a.qg,a.Cj=a.fn,a.bc=a.cj,a.cc=a.ej,void 0===d&&(d=!!(a.gc.O&131072)),d)a.load=a.G,a.bc=a.D,a.cc=a.F,a.Ab=a.qc=3,a.W=2,a.R=a.wa=65535,a.Ka=65535,a.Nb=a.Ka+1,a.Jc=a.W,a.Lb=-1,a.Pe=!1;else{if(!(a.U&-4))a.bc=a.kg,a.cc=a.lg;else if(a.type&4096){6144==(a.type&6656)&&(a.bc=a.kg);if(a.type&2048||!(a.type&512))a.cc=a.lg;1024==(a.type&3072)&&(a.bc==a.cj&&(a.bc=a.zl),a.cc==a.ej&&(a.cc=a.Al),a.Oc=!0);b&&a.id<Zd&&a.U&-4&&-1!==a.Lb&&(c=a.Lb+
|
||||
5,d=a.gc.Ia(c),d&1||a.gc.fc(c,d|1))}b&&(a.Ab=a.U&3,a.qc=(a.lb&24576)>>13,80386>a.gc.ca||!(a.ext&64)?(a.W=2,a.R=65535):(a.W=4,a.R=-1),a.Jc=a.W,a.wa=a.R)}else a.load=a.mh,a.Cj=a.gn,a.bc=a.dj,a.cc=a.fj,a.Ab=a.qc=0,a.Lb=-1,a.Pe=!1}var de=1,pe=2,$d=3,be=4,Zd=6,Xd=1;
|
||||
function ue(a){var b=+a.model||8088,c;switch(b){default:c=4772727;break;case 80286:c=6E6;break;case 80386:c=16E6}wd.call(this,a,c);this.ca=b;a=a.stepping;this.we=b+(a?oa(a,16):0);this.Ri=61442;this.Qd=1792;this.si=28672;this.Vf=4;this.Ta=255;this.B=80286<=this.ca?Pb:Ob;this.va=ve;this.bj=we;this.ij=Be;this.nj=Ce;if(80186<=this.ca&&(this.va=ve.slice(),this.bj=we.slice(),this.ij=Be.slice(),this.Ta=31,this.va[15]=De,this.va[96]=Ee,this.va[97]=Fe,this.va[98]=Ge,this.va[99]=De,this.va[100]=De,this.va[101]=
|
||||
function ue(a){var b=+a.model||8088,c;switch(b){default:c=4772727;break;case 80286:c=6E6;break;case 80386:c=16E6}wd.call(this,a,c);this.ca=b;a=a.stepping;this.we=b+(a?oa(a,16):0);this.Ri=61442;this.Qd=1792;this.si=28672;this.Vf=4;this.Ta=255;this.B=80286<=this.ca?Pb:Ob;this.va=ve;this.bj=Ae;this.ij=Be;this.nj=Ce;if(80186<=this.ca&&(this.va=ve.slice(),this.bj=Ae.slice(),this.ij=Be.slice(),this.Ta=31,this.va[15]=De,this.va[96]=Ee,this.va[97]=Fe,this.va[98]=Ge,this.va[99]=De,this.va[100]=De,this.va[101]=
|
||||
De,this.va[102]=De,this.va[103]=De,this.va[104]=He,this.va[105]=Ie,this.va[106]=Je,this.va[107]=Ke,this.va[108]=Le,this.va[109]=Me,this.va[110]=Ne,this.va[111]=Oe,this.va[192]=Pe,this.va[193]=Qe,this.va[200]=Re,this.va[201]=Se,this.va[241]=Te,this.bj[7]=Ue,this.ij[7]=Ue,80286<=this.ca)){this.Ri=2;this.Qd|=28672;this.Vf=0;this.va[15]=Ve;this.Pd=We.slice();for(b=0;b<this.Pd.length;b++)this.Pd[b]||(this.Pd[b]=Xe);this.va[84]=Ye;this.va[99]=Ze;if(80386<=this.ca){var d;this.si=0;this.Qd|=196608;this.va[100]=
|
||||
$e;this.va[101]=af;this.va[102]=bf;this.va[103]=cf;for(d in B)this.Pd[+d]=B[+d];80546<=this.we&&80562>=this.we&&(this.Pd[166]=df,this.Pd[167]=hf)}}this.Yf=[];this.Zf=[];this.ag=0;zd(this);this.ea.complete=this.ea.jj=!1;this.tj=0;this.sc=this.aa=[];this.hb=this.Ng=this.Db=this.Wf=this.df=this.ef=this.ed=0;jf(this)}ba(ue,wd);function kf(a,b,c,d){b=(d?a.sc:a.aa)[b>>>a.hb];c?--b.ie||nd(b):--b.he||id(b);d&&sc(a)}
|
||||
$e;this.va[101]=af;this.va[102]=bf;this.va[103]=cf;for(d in B)this.Pd[+d]=B[+d];80546<=this.we&&80562>=this.we&&(this.Pd[166]=gf,this.Pd[167]=hf)}}this.Yf=[];this.Zf=[];this.ag=0;zd(this);this.ea.complete=this.ea.jj=!1;this.tj=0;this.sc=this.aa=[];this.hb=this.Ng=this.Db=this.Wf=this.df=this.ef=this.ed=0;jf(this)}ba(ue,wd);function kf(a,b,c,d){b=(d?a.sc:a.aa)[b>>>a.hb];c?--b.ie||nd(b):--b.he||id(b);d&&sc(a)}
|
||||
function lf(a){var b;if(a.aa===a.sc){a.aa=Array(a.Wf);a.$f=new x(null,0,0,bd,null,a);mc(a.$f,a.ba);for(b=0;b<a.Wf;b++)a.aa[b]=a.$f;a.ff=new x;a.Zi=Array(mf);a.bg=0}else for(var c=0;c<a.Xf.length;c++){b=a.Xf[c];var d=a.aa[b];a.bg<mf&&(a.Zi[a.bg++]=d);a.aa[b]=a.$f}a.Xf=[]}function sc(a){a.qa&-2147483648&&lf(a)}
|
||||
function sd(a,b,c,d){var e=(b&-4194304)>>>20,f=a.sc[(a.Wc+e&a.ef)>>>a.hb],g=f.Nd(e);if(!(g&1))return d||nf.call(a,b,!1,c),a.ff;if(!(g&4)&&3==a.Ma)return d||nf.call(a,b,!0,c),a.ff;var h=(b&4190208)>>>10,g=a.sc[((g&-4096)+h&a.ef)>>>a.hb],k=g.Nd(h);if(!(k&1))return d||nf.call(a,b,!1,c),a.ff;if(!(k&4)&&3==a.Ma)return d||nf.call(a,b,!0,c),a.ff;c=a.sc[((k&-4096)+(b&4095)&a.ef)>>>a.hb];if(d)return c;d=b>>>a.hb;k=a.aa[d];b&=-4096;var m;0<a.bg?(m=a.Zi[--a.bg],m.ih(b)):m=new x(b,0,0,dd);b=m;b.pd=c;b.nb=f;b.A=
|
||||
e>>2;b.ob=g;b.B=h>>2;Nb&&Ec&&c.X&&!c.controller&&!c.he&&!c.ie?(b.Pa=c.Pa,b.Rd=c.Rd,b.X=c.X,zc(b,vd)):(b.F=c?td(32):0,b.J=c?td(96):0,zc(b,ed));mc(b,a.ba,k);a.aa[d]=b;a.Xf.push(d);return b}function of(a){a.aa!==a.sc&&(a.aa=a.sc,a.$f=null,a.Xf=null,a.ff=null)}l=ue.prototype;l.reset=function(){this.ea.vb&&this.Jb();jf(this);zd(this);this.ea.error=!1};
|
||||
|
|
@ -382,7 +382,7 @@ ug(this,a,1,!0)&&(this.D=this.D&-256|Oc(this.ka,a,1,this.da-2)&255,this.A-=this.
|
|||
this.B.Lj},function(){var a=this.Ea();C(this,A(this)+a);this.A-=this.B.Dh},function(){se(this,this.Ea(),Gg(this));this.A-=this.B.hk},function(){var a=this.S();C(this,A(this)+a);this.A-=this.B.Dh},function(){var a=this.L&65535;ug(this,a,1,!0)&&(this.D=this.D&-256|Oc(this.ka,a,1,this.da-1)&255,this.A-=this.B.Bh)},function(){var a=this.L&65535;ug(this,a,this.W,!0)&&(this.D=this.D&~this.R|Oc(this.ka,a,this.W,this.da-1)&this.R,this.A-=this.B.Bh)},function(){var a=this.L&65535;ug(this,a,1,!1)&&(Sc(this.ka,
|
||||
a,1,this.D&255,this.da-1),this.A-=this.B.Ph)},function(){var a=this.L&65535;ug(this,a,2,!1)&&(Sc(this.ka,a,this.W,this.D&this.R,this.da-1),this.A-=this.B.Ph)},Rk,Rk,function(){this.N|=132;this.A-=this.B.bd},function(){this.N|=68;this.A-=this.B.bd},function(){this.O&131072?y.call(this,13,0):(this.Xa|=4,this.A-=2,this.ba&&t(this,-2147483648)?(ag(this),this.ba.Jb()):this.O&512||(this.ba&&ag(this),this.Jb()))},function(){cg(this)?kg(this):jg(this);this.A-=2},function(){this.vc=!1;this.kd.call(this,Wk,
|
||||
fk);this.vc&&(this.D=this.D&~this.R|this.Ba&this.R)},function(){this.vc=!1;this.ib.call(this,Xk,fk);this.vc&&(this.D=this.D&~this.R|this.Ba&this.R,this.L=this.L&~this.R|this.Ya&this.R)},function(){kg(this);this.A-=2},function(){jg(this);this.A-=2},function(){this.Ma>this.lc?y.call(this,13,0):(this.O&=-513,this.A-=this.B.Jj)},function(){this.Ma>this.lc?y.call(this,13,0):(this.O|=512,this.N|=4,this.A-=2)},function(){this.O&=-1025;this.A-=2},function(){this.O|=1024;this.A-=2},function(){this.kd.call(this,
|
||||
we,fk)},function(){this.ib.call(this,Be,fk)}],Ek=[ki,hj,ii,jj,mi,Mj,Uj,Ai],Sk=[li,ij,ji,kj,ni,Nj,Vj,Bi],Tk=[function(a,b){this.A-=-1===this.F?this.B.nc:this.B.yk;return b},Di,Di,Di,Di,Di,Di,Di],Uk=[function(a,b){this.A-=-1===this.F?this.B.qk:this.B.nk;return b},Ei,Ei,Ei,Ei,Ei,Ei,Ei],Jk=[function(a,b){var c=a;if(b&=this.Ta){var d;(b&=7)?(d=a<<b-1,c=(a<<b|a>>8-b)&255):d=a<<7;ng(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.Ta){var d;(b&=7)?(d=a<<8-b,c=(a>>>b|d)&255):d=a;ng(this,c,d,128)}return c},
|
||||
Ae,fk)},function(){this.ib.call(this,Be,fk)}],Ek=[ki,hj,ii,jj,mi,Mj,Uj,Ai],Sk=[li,ij,ji,kj,ni,Nj,Vj,Bi],Tk=[function(a,b){this.A-=-1===this.F?this.B.nc:this.B.yk;return b},Di,Di,Di,Di,Di,Di,Di],Uk=[function(a,b){this.A-=-1===this.F?this.B.qk:this.B.nk;return b},Ei,Ei,Ei,Ei,Ei,Ei,Ei],Jk=[function(a,b){var c=a;if(b&=this.Ta){var d;(b&=7)?(d=a<<b-1,c=(a<<b|a>>8-b)&255):d=a<<7;ng(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.Ta){var d;(b&=7)?(d=a<<8-b,c=(a>>>b|d)&255):d=a;ng(this,c,d,128)}return c},
|
||||
function(a,b){var c=a;if(b&=this.Ta){var d=og(this);(b%=9)?(c=(a<<b|d<<b-1|a>>9-b)&255,d=a<<b-1):d<<=7;ng(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.Ta){var d=og(this);(b%=9)?(c=(a>>b|d<<8-b|a<<9-b)&255,d=a<<8-b):d<<=7;ng(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.Ta){var d=0;8<b?c=0:(d=a<<b-1,c=d<<1&255);ig(this,c,128,d&128,(c^d)&128)}return c},function(a,b){if(b&=this.Ta)b=8<b?0:a>>>b-1,a=b>>>1&255,ig(this,a,128,b&1,a&128);return a},Ei,function(a,b){if(b&=this.Ta)9<b&&
|
||||
(b=9),b=a<<24>>24>>b-1,a=b>>1&255,ig(this,a,128,b&1);return a}],Kk=[function(a,b){var c=a;if(b&=this.Ta){var d;(b&=15)?(d=a<<b-1,c=(a<<b|a>>16-b)&65535):d=a<<15;ng(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.Ta){var d;(b&=15)?(d=a<<16-b,c=(a>>>b|d)&65535):d=a;ng(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.Ta){var d=og(this);(b%=17)?(c=(a<<b|d<<b-1|a>>17-b)&65535,d=a<<b-1):d<<=15;ng(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.Ta){var d=og(this);(b%=17)?
|
||||
(c=(a>>b|d<<16-b|a<<17-b)&65535,d=a<<16-b):d<<=15;ng(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.Ta){var d=0;16<b?c=0:(d=a<<b-1,c=d<<1&65535);ig(this,c,32768,d&32768,(c^d)&32768)}return c},function(a,b){if(b&=this.Ta)b=16<b?0:a>>>b-1,a=b>>>1&65535,ig(this,a,32768,b&1,a&32768);return a},Ei,function(a,b){if(b&=this.Ta)17<b&&(b=17),b=a<<16>>16>>b-1,a=b>>1&65535,ig(this,a,32768,b&1);return a}],Lk=[function(a,b){var c=a;if(b&=this.Ta)c=a<<b|a>>>32-b,ng(this,c,a<<b-1,-2147483648);return c},
|
||||
|
|
@ -392,10 +392,10 @@ b&1,a&-2147483648);return a},Ei,function(a,b){if(b&=this.Ta)b=a>>b-1,a=b>>1,ig(t
|
|||
(b=this.D<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ca&&-128==d)return lk.call(this),a;this.Ba=d&255|(b%c&255)<<8;this.vc=!0;this.A-=-1===this.C?this.B.Vj:this.B.Uj;this.N|=2;return a}],Xk=[function(a,b){b=this.Ea();ig(this,a&b,this.Fb);this.A-=-1===this.C?this.B.ai:this.B.$h;this.N|=2;return a},Ei,function(a){this.A-=-1===this.C?this.B.Ff:this.B.Ef;return a^this.R},function(a){var b=-a|0;bg(this,0,a,b,this.Fb|63,!0);this.A-=-1===this.C?this.B.Ff:this.B.Ef;return b&this.R},function(a,b){2==this.W?
|
||||
(b=this.D&65535,b=b*a|0,this.Ba=b&65535,this.Ya=b>>16&65535):(Ki.call(this,a,this.D),80563==this.we&&68657152==this.D&&129==a&&(this.Ya=0));this.Ya?(jg(this),lg(this)):(kg(this),mg(this));this.vc=!0;this.A-=-1===this.C?this.B.wk:this.B.vk;this.N|=2;return a},function(a,b){2==this.W?(b=this.D&65535,b=(b<<16>>16)*(a<<16>>16)|0,this.Ba=b&65535,this.Ya=b>>16&65535,b=32767<b||-32768>b):(Ji.call(this,a,this.D),b=this.Ya!=this.Ba>>31);b?(jg(this),lg(this)):(kg(this),mg(this));this.vc=!0;this.A-=-1===this.C?
|
||||
this.B.ak:this.B.$j;this.N|=2;return a},function(a,b){if(2==this.W){if(!a)return lk.call(this),a;b=65536*(this.L&65535)+(this.D&65535);var c=b/a;if(65536<=c)return lk.call(this),a;this.Ba=c&65535;this.Ya=b%a&65535}else{if(!Yj.call(this,this.D,this.L,a))return lk.call(this),a;this.Ba|=0;this.Ya|=0}this.vc=!0;this.A-=-1===this.C?this.B.Tj:this.B.Sj;this.N|=2;return a},function(a,b){if(2==this.W){if(!a)return lk.call(this),a;var c=a<<16>>16,d=(b=this.L<<16|this.D&65535)/c|0;if(d!=d<<16>>16||8086==this.ca&&
|
||||
-32768==d)return lk.call(this),a;this.Ba=d&65535;this.Ya=b%c&65535}else{b=this.D;var c=this.L,d=a,e=0,f=0;0>d&&(d=-d|0,e=1-e);0>c&&(b=-b|0,c=~c+(b?0:1)|0,f=1,e=1-e);!Yj.call(this,b,c,d)||this.Ba>2147483647+e||this.Ya>2147483647+f?b=!1:(e&&(this.Ba=-this.Ba),f&&(this.Ya=-this.Ya),b=!0);if(!b)return lk.call(this),a;this.Ba|=0;this.Ya|=0}this.vc=!0;this.A-=-1===this.C?this.B.Xj:this.B.Wj;this.N|=2;return a}],we=[function(a){var b=a+1|0;bg(this,a,1,b,190);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b&
|
||||
-32768==d)return lk.call(this),a;this.Ba=d&65535;this.Ya=b%c&65535}else{b=this.D;var c=this.L,d=a,e=0,f=0;0>d&&(d=-d|0,e=1-e);0>c&&(b=-b|0,c=~c+(b?0:1)|0,f=1,e=1-e);!Yj.call(this,b,c,d)||this.Ba>2147483647+e||this.Ya>2147483647+f?b=!1:(e&&(this.Ba=-this.Ba),f&&(this.Ya=-this.Ya),b=!0);if(!b)return lk.call(this),a;this.Ba|=0;this.Ya|=0}this.vc=!0;this.A-=-1===this.C?this.B.Xj:this.B.Wj;this.N|=2;return a}],Ae=[function(a){var b=a+1|0;bg(this,a,1,b,190);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b&
|
||||
255},function(a){var b=a-1|0;bg(this,a,1,b,190,!0);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b&255},Ei,Ei,Ei,Ei,Ei,Ei],Be=[function(a){var b=a+1|0;bg(this,a,1,b,this.Fb|62);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b&this.R},function(a){var b=a-1|0;bg(this,a,1,b,this.Fb|62,!0);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b&this.R},function(a){oe(this,A(this));C(this,a);this.A-=-1===this.C?this.B.Pj:this.B.Oj;this.N|=2;return a},function(a){if(-1===this.C)return Ei.call(this,a);this.ta=
|
||||
this.Aa;hk.call(this,a,this.ja(this.C+this.W));this.A-=this.B.Mj;this.N|=2;this.ta=-1;return a},function(a){C(this,a);this.A-=-1===this.C?this.B.jk:this.B.ik;this.N|=2;return a},function(a){if(-1===this.C)return Ei.call(this,a);se(this,a,this.ja(this.C+this.W));this.A-=this.B.gk;this.N|=2;return a},function(a){var b=a;this.N&512&&(a=a-2&65535,80286>this.ca&&(b=a));oe(this,b);this.A-=-1===this.C?this.B.Ic:this.B.Ak;this.N|=2;return a},Ei];
|
||||
function df(){this.ma.call(this,Rj);this.A-=-1===this.C?6:13}function hf(){this.za.call(this,Qj);this.A-=-1===this.C?12:19}var We=Array(256);We[0]=function(){16>(this.Ia(this.da)&56)&&(this.N|=1);this.ib.call(this,this.nj,fk)};We[1]=function(){this.Ia(this.da)&16||(this.N|=1);this.ib.call(this,Yk,fk)};We[2]=function(){!(this.qa&1)||this.O&131072?y.call(this,6):this.ma.call(this,Li)};We[3]=function(){!(this.qa&1)||this.O&131072?y.call(this,6):this.ma.call(this,Ri)};
|
||||
function gf(){this.ma.call(this,Rj);this.A-=-1===this.C?6:13}function hf(){this.za.call(this,Qj);this.A-=-1===this.C?12:19}var We=Array(256);We[0]=function(){16>(this.Ia(this.da)&56)&&(this.N|=1);this.ib.call(this,this.nj,fk)};We[1]=function(){this.Ia(this.da)&16||(this.N|=1);this.ib.call(this,Yk,fk)};We[2]=function(){!(this.qa&1)||this.O&131072?y.call(this,6):this.ma.call(this,Li)};We[3]=function(){!(this.qa&1)||this.O&131072?y.call(this,6):this.ma.call(this,Ri)};
|
||||
We[5]=function(){this.Ma?y.call(this,13,0,0,!0):(tg(this,this.ja(2054)),this.J=this.ja(2086),this.K=this.ja(2088),this.M=this.ja(2090),this.G=this.ja(2094),this.L=this.ja(2096),this.I=this.ja(2098),this.D=this.ja(2100),ce(this.oa,2102,this.ja(2084)),ce(this.Z,2108,this.ja(2082)),ce(this.Y,2114,this.ja(2080)),ce(this.Ca,2120,this.ja(2078)),re(this,this.ja(2072)),C(this,this.ja(2074)),ge(this,this.ja(2092)),this.Kb=this.ja(2126)|this.Ia(2128)<<16,this.Pc=this.Kb+this.ja(2130),this.Pb=this.ja(2138)|
|
||||
this.Ia(2140)<<16,this.cd=this.Pb+this.ja(2142),ce(this.Eb,2132,this.ja(2076)),ce(this.la,2144,this.ja(2070)),this.A-=195)};We[6]=function(){this.Ma?y.call(this,13,0):(this.qa&=-9,this.A-=2)};We[11]=De;We[166]=De;We[255]=De;var B=[];B[5]=De;
|
||||
B[7]=function(){if(this.Ma)y.call(this,13,0,0,!0);else{var a=this.oa.bc(this.J&this.wa,204);if(-1!==a){ak.call(this,this.ia(a));var b=this.ia(a+168),c=(b&24576)>>13;re(this,this.ia(a+4),c);this.Kb=this.ia(a+112);this.Pc=this.Kb+this.ia(a+116);this.Pb=this.ia(a+100);this.cd=this.Pb+this.ia(a+104);ae(this.Eb,this.ia(a+56),this.ia(a+120),this.ia(a+124),this.ia(a+128));ae(this.la,this.ia(a+52),this.ia(a+84),this.ia(a+88),this.ia(a+92));this.J=this.ia(a+12);this.K=this.ia(a+16);this.M=this.ia(a+20);this.G=
|
||||
|
|
@ -559,8 +559,8 @@ function ks(a,b,c,d){if(d)a.Fa("Unable to load font ROM (error "+d+": "+b+")");e
|
|||
function Ps(a,b){if(1==b)return a.ha[0]=Qs[Ks],a.ha[1]=Qs[Is],a.ha;if(2==b){var c=a.C.Ze;if(a.C===a.A){var d=a.A.Cc[0],c=d&7;d&16&&(c|=8);18!=a.A.Cc[1]&&(c|=32)}a.ha[0]=Qs[c&15];c=c&32?Rs:Ss;for(d=0;d<c.length;d++)a.ha[d+1]=Qs[c[d]];return a.ha}if(a.K===a.yb)return Qs;a.Ga&&b&&!a.ha[16]&&(a.Ga=!1);if(!a.Ga){var c=a.A,d=c.$e,e,f,g,h;if(8==b)for(e=0;256>e;e++)f=d[e]||0,g=f<<2&252,h=f>>4&252,f=f>>10&252,a.ha[e]=[g,h,f,255];else{var k=d&&d[255];b=null!=c.Cc[15]?c.Cc:Ts;for(e=0;16>e;e++)f=b[e]&63,k?(f|=
|
||||
(c.Cc[20]&12)<<4,c.Cc[16]&128&&(f&=-49,f|=(c.Cc[20]&3)<<4),f=d[f],g=f<<2&252,h=f>>4&252,f=f>>10&252):(g=(f&4?170:0)|(f&32?85:0),h=(f&2?170:0)|(f&16?85:0),f=(f&1?170:0)|(f&8?85:0)),a.ha[e]=[g,h,f,255]}a.Ga=!0}return a.ha}function bq(a,b,c,d){a.wb=b;a.Ta=c;a.Da=d}
|
||||
function Fs(a,b){var c=!1;if(window&&a.wb&&(!b||a.I)){b=0;var d=a.Da?a.Da:8,e=Ps(a);null!=a.Ta[0]&&Us(a,Vs,a.Ta[0],b,d,8,a.wb,e)&&(c=!0);b=a.Da?0:2048;d=a.Da?a.Da:9;null!=a.Ta[1]&&(Us(a,Ws,a.Ta[1],b,d,14,a.wb,Xs,Ys)&&(c=!0),a.Da&&Us(a,a.La,a.Ta[1],0,a.Da,14,a.wb,e)&&(c=!0))}return c}function Us(a,b,c,d,e,f,g,h,k){var m=!1;null!=c&&(Zs(a,b,c,d,e,f,g,h,k)&&(m=!0),a.Cd&&Zs(a,b<<1,c,d,e,f,g,h,k)&&(m=!0));return m}
|
||||
function Zs(a,b,c,d,e,f,g,h,k){var m=!1,p=b&1?0:1,v=a.va[b],u=16>h.length?h.length:16;v||(v={Fc:e<<p,Gc:f<<p,Be:Array(u),Qi:h.slice(0,u),jf:k,Sg:Array(u)});for(k=0;k<u;k++){var E=h[k],G=v.Be[k]?v.Qi[k]:[];if(E[0]!==G[0]||E[1]!==G[1]||E[2]!==G[2]){var m=v,G=k,I=p,J=c,T=d,L=e,ua=f,ca=g,xb=[0,0,0,0],za=document.createElement("canvas");za.width=m.Fc<<4;za.height=m.Gc<<4;var cb=za.getContext("2d"),Sa,rb,db,rc=8>ua||!T?ua:8,ib=cb.createImageData(m.Fc,m.Gc);for(Sa=0;256>Sa;Sa++){for(db=0;db<ua;db++)for(var ef=
|
||||
m.jf&&G&1&&db>=ua-2,Ld=ca[db<rc?J+Sa*rc+db:T+Sa*rc+db-rc],ff=0;ff<=I;ff++)for(rb=0;rb<L;rb++){var vg=rb<<I,gf=(db<<I)+ff,wg=ef||Ld&128>>(8<=rb&&192<=Sa&&223>=Sa?7:rb)?E:xb;$s(ib,vg,gf,wg);I&&$s(ib,vg+1,gf,wg)}cb.putImageData(ib,(Sa&15)*m.Fc,(Sa>>4)*m.Gc)}m.Be[G]="#"+q(E[0],2)+q(E[1],2)+q(E[2],2);m.Qi[G]=E;m.Sg[G]=za;m=!0}}a.va[b]=v;return m}function at(a){0<a.xa||0<=a.aa?0>a.Aa&&(a.Aa=0):a.Aa=-1}
|
||||
function Zs(a,b,c,d,e,f,g,h,k){var m=!1,p=b&1?0:1,v=a.va[b],u=16>h.length?h.length:16;v||(v={Fc:e<<p,Gc:f<<p,Be:Array(u),Qi:h.slice(0,u),jf:k,Sg:Array(u)});for(k=0;k<u;k++){var E=h[k],G=v.Be[k]?v.Qi[k]:[];if(E[0]!==G[0]||E[1]!==G[1]||E[2]!==G[2]){var m=v,G=k,I=p,J=c,T=d,L=e,ua=f,ca=g,xb=[0,0,0,0],za=document.createElement("canvas");za.width=m.Fc<<4;za.height=m.Gc<<4;var cb=za.getContext("2d"),Sa,rb,db,rc=8>ua||!T?ua:8,ib=cb.createImageData(m.Fc,m.Gc);for(Sa=0;256>Sa;Sa++){for(db=0;db<ua;db++)for(var df=
|
||||
m.jf&&G&1&&db>=ua-2,Ld=ca[db<rc?J+Sa*rc+db:T+Sa*rc+db-rc],ef=0;ef<=I;ef++)for(rb=0;rb<L;rb++){var vg=rb<<I,ff=(db<<I)+ef,wg=df||Ld&128>>(8<=rb&&192<=Sa&&223>=Sa?7:rb)?E:xb;$s(ib,vg,ff,wg);I&&$s(ib,vg+1,ff,wg)}cb.putImageData(ib,(Sa&15)*m.Fc,(Sa>>4)*m.Gc)}m.Be[G]="#"+q(E[0],2)+q(E[1],2)+q(E[2],2);m.Qi[G]=E;m.Sg[G]=za;m=!0}}a.va[b]=v;return m}function at(a){0<a.xa||0<=a.aa?0>a.Aa&&(a.Aa=0):a.Aa=-1}
|
||||
function Os(a){if(a.I){for(var b=10;15>=b;b++)if(null==a.C.Wa[b])return;var c=a.C.Wa[10],b=c&31,d=a.C.Wa[11]&31,e=a.C.Wa[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)bt(a);else{c=a.C.Wa[15]+((a.C.Wa[14]&63)<<8);a.aa!=c&&(bt(a),a.aa=c);d=d-b+1;if(a.md!=b||a.Hc!=d)a.md=b,a.Hc=d;a.za=e+1;at(a)}}}
|
||||
function bt(a){if(0<=a.aa){if(void 0!==a.M){var b=ct<<8,c=a.M[a.aa];if(c&b){var c=c&~b,b=a.aa%a.F,d=a.aa/a.F|0;a.I&&a.va[a.I]&&(a.Ca&&dt(a,b,d,c,a.Ca),dt(a,b,d,c));a.M[a.aa]=c}}a.aa=-1}}
|
||||
function et(a){var b,c=a.C;a.Pc=!1;var d=c.xd[5];if(null!=d){b=tr;var e=vr,f=c.xd[3]&31;switch(d&3){case 0:if(f){e=vr|32;switch(f&24){case 8:e=vr|96;break;case 16:e=vr|160;break;case 24:e=vr|224}c.Qc=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.La==cq&&(e=3,c.Qc=f&7)}d&8&&(b=1280);c=c.$d[4];null!=c&&(c&4||(b|=ur,e|=wr),d&64&&(c&8&&(b|=16384,e|=4),a.Pc=!0));b|=e}return b}
|
||||
|
|
@ -725,7 +725,7 @@ 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
|
|||
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):(g=ey(a,h,!1),void 0!==g?f+=g:(a.P(b+" = "+dy(a,f)+" + ("+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 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):(g=ey(a,h,d),void 0!==g?f+=g:(d||a.P("undefined "+(c||"value")+": "+b+" ("+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||"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};
|
||||
|
|
@ -807,18 +807,18 @@ 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.F.length;ib++){var ef=a.F[ib],Ld;for(Ld in ef.Fd)if("."!=Ld.charAt(0)){var ff=ef.Fd[Ld],vg=ff.o;if(void 0!==vg){var gf=ff.s;void 0===gf&&(gf=ef.U);var wg=ef.Fd[Ld].l;wg&&(Ld=wg);a.P(wy(vg,gf)+" "+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 xe="%"+q(Qg),xe=xe+(" %%"+Wy(pf.Ti,pf.Aj)),xe=
|
||||
xe+(" %%"+Wy(pf.Ui,pf.Bj,!0)),xe=xe+(" %%"+q(pf.ul));a.P(xe)}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 vc=+xt||a.Xa,Rg=+yt||10;isNaN(vc)?vc=Rg:zt="more ";vc>jd.length&&(a.P("note: only "+
|
||||
jd.length+" available"),vc=jd.length);Lc-=vc;0>Lc&&(null==jd[jd.length-1].U?(vc=Lc+vc,Lc=0):Lc+=jd.length);var rm=[];"call"==yt&&(Rg=1E5,rm=["CALL"]);for(void 0!==xt&&a.P(vc+" instructions earlier:");0<Rg&&Lc!=a.oa;){var ye=jd[Lc++];if(null==ye.U)break;var Sg=jy(a,ye.Ja,ye.U,ye.ya,ye.type,ye.Hb,ye.dc),aC=vc--,Bt=Zz(a,Sg,"history",aC);(!rm.length||0<=Bt.indexOf(rm[0]))&&a.P(Bt);Sg.Fe&&(Lc+=Sg.Fe,Rg-=Sg.Fe,vc-=Sg.Fe);Lc>=jd.length&&(Lc=0);a.Xa=vc;At++;Rg--}}At||(a.P("no "+zt+"history available"),a.Xa=
|
||||
(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 vc=+xt||a.Xa,Rg=+yt||10;isNaN(vc)?vc=Rg:zt="more ";vc>jd.length&&(a.P("note: only "+
|
||||
jd.length+" available"),vc=jd.length);Lc-=vc;0>Lc&&(null==jd[jd.length-1].U?(vc=Lc+vc,Lc=0):Lc+=jd.length);var rm=[];"call"==yt&&(Rg=1E5,rm=["CALL"]);for(void 0!==xt&&a.P(vc+" 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=vc--,Bt=Zz(a,Sg,"history",aC);(!rm.length||0<=Bt.indexOf(rm[0]))&&a.P(Bt);Sg.Fe&&(Lc+=Sg.Fe,Rg-=Sg.Fe,vc-=Sg.Fe);Lc>=jd.length&&(Lc=0);a.Xa=vc;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.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"),
|
||||
a.P("\tks\tshow symbol information");else{var Am=0,Nt=a.H.Z.U,Zg=jy(a),Td=jy(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Hy(Td));10>Am;){for(var kd=null,hC=256;Td.Ja>>>0<a.H.cg>>>0;){Zg.Ja=a.jb(Td,!0);if(null==Td.ya||!hC--)break;Zg.U=Nt;if(kd=iB(a,Zg))break;Zg.U=a.jb(Td);if(kd=iB(a,Zg,!0)){Nt=a.jb(Td,!0);0<kd.indexOf("INT")&&a.jb(Td,!0);break}}if(!kd||null==kd)break;var Ot=null;if("ks"==gC){var Pt=kd.match(/[0-9A-F]+$/);Pt&&(Ot=eB(a,Pt[0]))}kd=Aa(kd,50)+" ;"+(Ot||"stack="+Hy(Td));a.P(kd);Am++}Am||
|
||||
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){eB(a,g[1],!0);break}fB(a,g);break;case "m":if("mouse"==g[0]){var Bm=g[1],dj=g[2];if(a.G){var Qt=1;"-"==dj.charAt(0)&&(Qt=-1,dj=dj.substr(1));var ze=Zx(a,dj,Bm);if(void 0!==ze)switch(ze=ze*Qt|0,Bm){case "x":a.G.tf(ze,0);break;case "y":a.G.tf(0,ze);break;case "click":a.G.Vd(ze,!0);a.G.Vd(ze,!1);break;default:a.P("unknown action: "+Bm)}}else a.P("no mouse");break}a:{var ld,md=null,fb=g[1];"?"==fb&&(fb=void 0);if(void 0!==fb){var Ae=0;if("all"==
|
||||
fb)Ae=1610481663,fb=null;else if("on"==fb)md=!0,fb=null;else if("off"==fb)md=!1,fb=null;else{"keys"==fb&&(fb="key");"kbd"==fb&&(fb="keyboard");for(ld in Rb)if(fb==ld){Ae=Rb[ld];md=!!(a.ic&Ae);break}if(!Ae){a.P("unknown message category: "+fb);break a}}Ae&&("on"==g[2]?(a.ic|=Ae,md=!0):"off"==g[2]&&(a.ic&=~Ae,md=!1))}var iC=0,$g="";for(ld in Rb)if(!fb||fb==ld){var jC=!!(a.ic&Rb[ld]);if(null===md||md==jC)$g&&($g+=","),++iC%10||($g+="\n\t"),"key"==ld&&(ld="keys"),$g+=ld}void 0===fb&&a.P("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
||||
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){eB(a,g[1],!0);break}fB(a,g);break;case "m":if("mouse"==g[0]){var Bm=g[1],dj=g[2];if(a.G){var Qt=1;"-"==dj.charAt(0)&&(Qt=-1,dj=dj.substr(1));var ye=Zx(a,dj,Bm);if(void 0!==ye)switch(ye=ye*Qt|0,Bm){case "x":a.G.tf(ye,0);break;case "y":a.G.tf(0,ye);break;case "click":a.G.Vd(ye,!0);a.G.Vd(ye,!1);break;default:a.P("unknown action: "+Bm)}}else a.P("no mouse");break}a:{var ld,md=null,fb=g[1];"?"==fb&&(fb=void 0);if(void 0!==fb){var ze=0;if("all"==
|
||||
fb)ze=1610481663,fb=null;else if("on"==fb)md=!0,fb=null;else if("off"==fb)md=!1,fb=null;else{"keys"==fb&&(fb="key");"kbd"==fb&&(fb="keyboard");for(ld in Rb)if(fb==ld){ze=Rb[ld];md=!!(a.ic&ze);break}if(!ze){a.P("unknown message category: "+fb);break a}}ze&&("on"==g[2]?(a.ic|=ze,md=!0):"off"==g[2]&&(a.ic&=~ze,md=!1))}var iC=0,$g="";for(ld in Rb)if(!fb||fb==ld){var jC=!!(a.ic&Rb[ld]);if(null===md||md==jC)$g&&($g+=","),++iC%10||($g+="\n\t"),"key"==ld&&(ld="keys"),$g+=ld}void 0===fb&&a.P("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
||||
a.P((null!==md?md?"messages on: ":"messages off: ":"message categories:\n\t")+($g||"none"));ly(a)}break;case "o":var Cm=g[1],kC=g[2];if(Cm&&"?"!=Cm){var Dm=Zx(a,Cm,"port #"),Em=Zx(a,kC);void 0!==Dm&&void 0!==Em&&(Sc(a.ka,Dm,1,Em),a.P(sa(Dm)+": "+r(Em)))}else a.P("output commands:"),a.P("\to [p] [b]\twrite byte [b] to port [p]"),a.P("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){hB(a,b.substr(5));break}var Rt="pr"==g[0]?1:0,tf=1+Rt;if(a.K)a.P("step in progress");
|
||||
else{var ej,St=!1,Hb=jy(a,A(a.H),a.H.Z.U);do switch(ej=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:My(a,Hb,1);ej=!0;break;case 204:case 206:a.K=tf;My(a,Hb,1);break;case 205:case 224:case 225:case 226:a.K=tf;My(a,Hb,Hb.Hb?4:2);break;case 232:a.K=tf;My(a,Hb,Hb.Hb?5:3);break;case 154:a.K=tf;My(a,Hb,Hb.Hb?7:5);break;case 255:var Tt=a.jb(Hb)&14591;if(4351==Tt||6399==Tt)a.K=tf,Zz(a,Hb);break;case 243:case 242:My(a,Hb,1);St=ej=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:St&&
|
||||
(a.K=tf,My(a,Hb,1))}while(ej);a.K?(a.Gd(a.B,Hb,!0),Pz(a)||(a.pa&&a.pa.ld(),a.K=0)):jB(a,Rt?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Rz(a,g);break;case "t":jB(a,g[0],g[1]);break;case "u":Sz(a,g[1],g[2],8);break;case "v":if("var"==g[0]){dB(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.34.3 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Nb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Ma());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var ah;void 0!==g[3]&&(ah=+g[3]);
|
||||
|
|
|
|||
Loading…
Reference in a new issue