Successfully assembled my first MACRO-10 source file (DAKAD.MAC)

This commit is contained in:
Jeff 2017-03-14 14:44:03 -07:00 committed by Jeff Parsons
commit 3f8705ad98
9 changed files with 631 additions and 476 deletions

View file

@ -566,7 +566,7 @@ function ct(a){if(0<=a.aa){if(void 0!==a.M){var b=dt<<8,c=a.M[a.aa];if(c&b){var
function ft(a){var b,c=a.C;a.Pc=!1;var d=c.xd[5];if(null!=d){b=ur;var e=wr,f=c.xd[3]&31;switch(d&3){case 0:if(f){e=wr|32;switch(f&24){case 8:e=wr|96;break;case 16:e=wr|160;break;case 24:e=wr|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==dq&&(e=3,c.Qc=f&7)}d&8&&(b=1280);c=c.$d[4];null!=c&&(c&4||(b|=vr,e|=xr),d&64&&(c&8&&(b|=16384,e|=4),a.Pc=!0));b|=e}return b}
function gt(a,b){var c=a.C;return c&&null!=b&&b!=c.tg?(c.Kg(b),a.ka.Kg(c.bb,c.Ob,c.fh(),!0),!0):!1}
function Os(a,b){var c,d=a.oa,e=a.C;if(e)if(e.La==ps)d=Es;else if(e.La>=bq){var d=null,f=e.qd>>2,g=32768<f?32768:f,h=e.xd[6];if(null!=h){switch(h&12){case 0:e.bb=655360;e.Ob=f;d=ht;break;case 4:e.bb=655360;e.Ob=f;d=a.ga==Ul?it:jt;break;case 8:e.bb=720896;e.Ob=g;d=Es;break;case 12:e.bb=753664,e.Ob=g,d=a.ga==Ul?kt:Cs}c=80==(e.xd[5]&80);!c||e.bb==a.bb&&e.Ob==a.Ob||(b=!0);var f=Kr(e,Or),g=e.Wa[fs],k=e.Wa[23],m=e.$d[1]&8;d!=ht&&(h&1?655360==e.bb||c||k&1?e.xd[5]&64?d=g&31?143>=e.Wa[Wr]?lt:mt:nt:g&128||
350>f?d=m?ot:pt:480<=f&&(d=a.ga==Ul?qt:rt):d=m?7-d:st:d-=m?2:0);c=ft(a)}}else e.Xc&8&&(e.Xc&2?(d=e.Xc&16?st:Rt,e.Xc&4||--d):(d=e.Xc&1?Cs:Tt,e.Xc&4&&--d));else a.oa=null,null==d&&(d=a.da);if(!Hs(a,d,b))return!1;gt(a,c);return!0}
350>f?d=m?ot:pt:480<=f&&(d=a.ga==Ul?qt:rt):d=m?7-d:st:d-=m?2:0);c=ft(a)}}else e.Xc&8&&(e.Xc&2?(d=e.Xc&16?st:tt,e.Xc&4||--d):(d=e.Xc&1?Cs:St,e.Xc&4&&--d));else a.oa=null,null==d&&(d=a.da);if(!Hs(a,d,b))return!1;gt(a,c);return!0}
function Hs(a,b,c){if(null!=b&&(b!=a.oa||c)){a.Ad=0;a.oa=b;a.Ga=!1;b=a.C||(b==Es?a.Y:a.K);if(b!=a.C||b.bb!=a.bb||b.Ob!=a.Ob){ct(a);if(a.bb){if(!Cc(a.ka,a.bb,a.Ob))return!1;a.C&&(a.C.rc=!1)}a.C=b;b.rc=!0;a.bb=b.bb;a.Ob=b.Ob;if(!pc(a.ka,b.bb,b.Ob,3,b===a.A?b:null))return!1}a:{a.I=0;a.F=a.Fb;a.J=a.sc;a.Ma=a.F;a.Eb=is[Es][2];b=0;if(c=is[a.oa])a.F=c[0],a.J=c[1],a.Eb=c[2],b=c[3],a.I=c[4],4!=a.ga&&7!=a.ga||a.C!==a.A||a.I!=Ws||(7==(a.A.Wa[fs]&31)?a.J=350>Kr(a.A,Wr)?43:50:a.I=a.La);a.Wc=a.F*a.J|0;a.Vc=a.Wc/
a.Eb|0;a.Xa=a.Vc;a.Pb=0;void 0!==b&&(a.Xa=(a.Xa<<1)+b|0,a.Pb=a.Xa+b>>1);if(a.va.length){a.qa=a.Z/a.F|0;a.ta=a.la/a.J|0;if(a.I){b=a.va[a.I];if(!b)break a;c=a.va[a.I<<1];a.Uc&&80==a.F?c&&a.qa>=3*c.Fc>>2&&(a.I<<=1,b=c):(c&&a.qa>=c.Fc&&(a.I<<=1,b=c),a.Uc||(a.qa=b.Fc,a.ta=b.Gc));a.Ya=a.eb=0;b&&(a.Ya=a.F*b.Fc,a.eb=a.J*b.Gc)}else a.qa=a.ta=1,a.Ya=a.F,a.eb=a.J;a.Ha=a.L.createImageData(a.Ya,a.eb);a.Ba=document.createElement("canvas");a.Ba.width=a.Ya;a.Ba.height=a.eb;a.Ca=a.Ba.getContext("2d");a.vc=a.zc=0;
a.Qb=a.Z;a.Rb=a.la;b=a.Z-a.F*a.qa;c=a.la-a.J*a.ta;0<b&&(a.vc=b>>1,a.Qb-=b);0<c&&(a.zc=c>>1,a.Rb-=c);if(b||c)a.L.fillStyle=a.O.style.backgroundColor,a.L.fillRect(0,0,a.Z,a.la)}}Ut(a,!0);zs(a)}return!0}function at(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Vt(a){a.ya=-1;a.ma=!1;var b=a.Vc;if(void 0===a.M||a.M.length!=b)a.M=Array(b)}function Ut(a,b){b||(a.Ga=!1);Vt(a)}
@ -589,8 +589,8 @@ l.Xn=function(a,b,c){if(du||this.A.xd[this.A.yd]!==b)c&&!t(this)||v(this,975,b,c
l.gm=function(a,b){return Zt(this,this.K,a,b)};l.In=function(a,b,c){var d=this.K;d.Fg=d.ec;d.ec=b&31;v(this,a,b,c,"CRTC.INDX")};l.fm=function(a,b){return $t(this,this.K,a,b)};l.Hn=function(a,b,c){au(this,this.K,a,b,c)};l.hm=function(a,b){return bu(this,this.K,b)};l.Jn=function(a,b,c){a=this.K;v(this,a.port+4,b,c,"MODE");a.Xc=b;Os(this,!1)};l.em=function(a,b){var c=this.K.Ze;b&&!t(this)||v(this,a,null,b,this.K.type+".COLOR",c);return c};
l.Gn=function(a,b,c){c&&!t(this)||v(this,a,b,c,this.K.type+".COLOR");this.K.Ze!==b&&(this.K.Ze=b,Ut(this,!1))};l.im=function(a,b){return cu(this,this.K,b)};function Zt(a,b,c,d){var e;b.rc&&(e=b.ec);v(a,c,null,d,"CRTC.INDX",e);return e}function $t(a,b,c,d){var e;b.rc&&b.ec<b.oh&&(e=b.Wa[b.ec]);d&&!t(a)||v(a,c,null,d,"CRTC."+b.gg[b.ec],e);return e}
function au(a,b,c,d,e){if(b.ec<b.oh){if(du||b.Wa[b.ec]!==d)e&&!t(a)||v(a,c,d,e,"CRTC."+b.gg[b.ec]),b.Wa[b.ec]=d;if(12==b.ec||13==b.ec)Xt(a,b)&1?(c=(b.Wa[12]<<8)+b.Wa[13]|0,b.vd!==c&&(b.vd=c,Ut(a))):b.Ye||(b.Ye=b.fi);(9==b.ec&&8!=b.Fg||b.ec==Wr&&223==d)&&Os(a,!0);Ps(a)}}function bu(a,b,c){var d=b.Xc;v(a,b.port+4,null,c,"MODE",d);return d}function cu(a,b,c){var d=Xt(a,b);b===a.A?(d|=b.fa&48^48,b.Ke=!1):d=(b.fa^=9)|240;b.fa=d;v(a,b.port+6,null,c,b===a.A?"STATUS1":"STATUS",d);return d}
var du=!0,Tt=1,kt=2,Cs=3,Rt=5,st=6,Es=7,ot=13,pt=14,it=15,jt=16,qt=17,rt=18,lt=19,mt=20,nt=21,ht=255,Xs=1,Ws=3,ps=Xs,ms=Ws,bq=5,dq=7,hs={mda:[ps,Es],cga:[ms,Cs],ega:[bq,Cs],vga:[dq,Cs]},Hr={2:{xg:15700,wg:208,Dg:85,Eg:96}};Hr[Ul]={xg:18432,wg:364,Dg:85,Eg:96};Hr[4]={xg:21850,wg:364,Dg:85,Eg:96};Hr[7]={xg:16700,wg:480,Dg:85,Eg:83};var Ds={6:[1,Ul,!0],7:[2,Ul,!0],8:[6,Ul,!0],9:[4,Ul,!0],10:[Ul,1,!0],11:[Ul,2,!0],0:[1,Ul,!1],1:[2,Ul,!1],2:[6,Ul,!1],3:[4,Ul,!1],4:[Ul,1,!1],5:[Ul,2,!1]},is=[];
is[Tt]=[40,25,1,0,Ws];is[Cs]=[80,25,1,0,Ws];is[4]=[320,200,8,192];is[st]=[640,200,16,192];is[Es]=[80,25,1,0,Xs];is[ot]=[320,200,8];is[pt]=[640,200,8];is[it]=[640,350,8];is[jt]=[640,350,8];is[qt]=[640,480,8];is[rt]=[640,480,8];is[lt]=[320,200,1];is[mt]=[320,240,4];is[nt]=[320,400,4];is[0]=is[Tt];is[kt]=is[Cs];is[Rt]=is[4];
var du=!0,St=1,kt=2,Cs=3,tt=5,st=6,Es=7,ot=13,pt=14,it=15,jt=16,qt=17,rt=18,lt=19,mt=20,nt=21,ht=255,Xs=1,Ws=3,ps=Xs,ms=Ws,bq=5,dq=7,hs={mda:[ps,Es],cga:[ms,Cs],ega:[bq,Cs],vga:[dq,Cs]},Hr={2:{xg:15700,wg:208,Dg:85,Eg:96}};Hr[Ul]={xg:18432,wg:364,Dg:85,Eg:96};Hr[4]={xg:21850,wg:364,Dg:85,Eg:96};Hr[7]={xg:16700,wg:480,Dg:85,Eg:83};var Ds={6:[1,Ul,!0],7:[2,Ul,!0],8:[6,Ul,!0],9:[4,Ul,!0],10:[Ul,1,!0],11:[Ul,2,!0],0:[1,Ul,!1],1:[2,Ul,!1],2:[6,Ul,!1],3:[4,Ul,!1],4:[Ul,1,!1],5:[Ul,2,!1]},is=[];
is[St]=[40,25,1,0,Ws];is[Cs]=[80,25,1,0,Ws];is[4]=[320,200,8,192];is[st]=[640,200,16,192];is[Es]=[80,25,1,0,Xs];is[ot]=[320,200,8];is[pt]=[640,200,8];is[it]=[640,350,8];is[jt]=[640,350,8];is[qt]=[640,480,8];is[rt]=[640,480,8];is[lt]=[320,200,1];is[mt]=[320,240,4];is[nt]=[320,400,4];is[0]=is[St];is[kt]=is[Cs];is[tt]=is[4];
var Ls=0,Js=7,Ns=8,Ks=0,Ms=112,Is=128,Wt=256,dt=512,Ys=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],Zs=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Rs=[[0,0,0,255],[0,0,170,255],[0,170,0,255],[0,170,170,255],[170,0,0,255],[170,0,170,255],[170,85,0,255],[170,170,170,255],[85,85,85,255],[85,85,255,255],[85,255,85,255],[85,255,255,255],[255,85,85,255],[255,85,255,255],[255,255,85,255],[255,255,255,255]],Ts=[2,4,6],Ss=[3,5,Js],Us=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],
gs=[0,255,65280,65535,16711680,16711935,16776960,16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],Yt=[0];Yt[128]=1;Yt[32768]=2;Yt[32896]=3;Yt[8388608]=4;Yt[8388736]=5;Yt[8421376]=6;Yt[8421504]=7;Yt[-2147483648]=8;Yt[-2147483520]=9;Yt[-2147450880]=10;Yt[-2147450752]=11;Yt[-2139095040]=12;Yt[-2139094912]=13;Yt[-2139062272]=14;Yt[-2139062144]=15;var lr=[];lr[ps]=["MDA",948,720896,4096,0,Ul];lr[ms]=["CGA",980,753664,16384,0,2];lr[bq]=["EGA",980,753664,16384,65536,4];
lr[dq]=["VGA",980,753664,16384,262144,7];
@ -715,11 +715,12 @@ var Tw="Hard Drive",Ww=["XTC","ATC","COMPAQ"],Uw=[{0:[306,2],1:[375,8],2:[306,6]
112,tx=144,Ax=145,ux=240,Bx=2,ox=4,Hx=0,Ix=2,Lx=0,Mx=1,Dx=3,Nx=5,Ox=8,Qx=10,ax=12,Sx=15,Jx=224,Kx=228,Sw=0,Fx=4,Ux=20,Rw=0,bx=1,Yw=2,Zw=4,$w=8,Xw=32,Jw={800:Hw.prototype.Tm,801:Hw.prototype.Um,802:Hw.prototype.Sm},Iw={496:Hw.prototype.nl,497:Hw.prototype.$l,498:Hw.prototype.bm,499:Hw.prototype.cm,500:Hw.prototype.Yl,501:Hw.prototype.Xl,502:Hw.prototype.Zl,503:Hw.prototype.dm},Lw={800:Hw.prototype.ro,801:Hw.prototype.uo,802:Hw.prototype.to,803:Hw.prototype.so,807:Hw.prototype.hi,811:Hw.prototype.hi,
815:Hw.prototype.hi},Kw={496:Hw.prototype.An,497:Hw.prototype.Fn,498:Hw.prototype.Dn,499:Hw.prototype.En,500:Hw.prototype.zn,501:Hw.prototype.yn,502:Hw.prototype.Bn,503:Hw.prototype.xn,1014:Hw.prototype.Cn};ab(function(){for(var a=Ab(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=wb(c),d=new Hw(d);zb(d,c)}});function Wx(a){nb.call(this,"Debugger",a);this.ya=+a.base||16;this.Ga=["{","}"];this.za=["[","]"];this.W=this.ga=this.L=0;this.aa=!1;this.A=-1;this.C=[];this.da={}}ba(Wx,nb);
Wx.prototype.gh=function(){return-1};Wx.prototype.hh=function(){};Wx.prototype.Pk=function(a,b){return a.replace("["+b+"]","unimplemented")};
Wx.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.aa?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(Ca(a.substring(d,f))),d=f+1}}return b};function Xx(a){return a|0}
Wx.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.aa?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(Ca(a.substring(d,f))),d=f+1}}return b};
function Xx(a){var b,c=a;b=32;if(32>=b)c=a|0;else if(b=Math.pow(2,b-1),a<-b||a>=b)c=a%b;a!=c&&(a=c);return a}
function Yx(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=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=
f&e;break;case "!":case "|":d=f|e;break;case "^^":d=f^e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(Xx(d))}return!0}
function Zx(a,b,c){var d;b&&(b=$x(a,b));if(b){for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^^|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var p=m[e++],w=p.length,p=Ca(p);if(!p){f=!0;break}p=ay(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}h.push(p);if(e==m.length)break;var p=m[e++],u=p.length;k.length&&by[p]<by[k[k.length-1]]&&Yx(h,k,1);k.push(p);b=b.substr(w+u)}Yx(h,k)&&1==h.length||(f=!0);f?c&&a.P("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&
cy(a,null,d))}return d}
function Zx(a,b,c){var d;b&&(b=$x(a,b));if(b){for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^^|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var p=m[e++],w=p.length,p=Ca(p);if(!p){f=!0;break}p=ay(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}h.push(Xx(p));if(e==m.length)break;var p=m[e++],u=p.length;k.length&&by[p]<by[k[k.length-1]]&&Yx(h,k,1);k.push(p);b=b.substr(w+u)}Yx(h,k)&&1==h.length||(f=!0);f?c&&a.P("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),
c&&cy(a,null,d))}return d}
function $x(a,b){var c,d=a.Ga[0],e=a.Ga[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=Zx(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?dy(a,g):"undefined")}if(a.za.length)for(d=a.za[0],e=a.za[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.W-a.ga}if(null==
e)break;b=b.replace(d[0],e.toString())}return b}function ay(a,b,c,d){var e;null!=b?(e=a.gh(b),0<=e?e=a.hh(e):(e=a.da[b],null==e&&(e=oa(b,a.ya))),null!=e||d||a.P("invalid "+(c?c:"value")+": "+b)):d||a.P("missing "+(c||"value"));return e}function cy(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=q(c,0,!0)+" "+c+". "+sa(c,0,!0)+" "+ra(c,4,!0),32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}
function ey(a,b){if(b)return cy(a,b,a.da[b]);var c=0;for(b in a.da)cy(a,b,a.da[b]),c++;return 0<c}function dy(a,b){var c;c=void 0===c?0:c;switch(a.ya){case 8:b=sa(b,0<c?(c+2)/3|0:0);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=b&-65536?10:5;b=pa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var by={"||":0,"&&":1,"!":2,"|":2,"^^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
@ -803,21 +804,21 @@ a.B,ua)||Dy(a,a.Y,ua)||Dy(a,a.M,ua)||a.P("breakpoint missing: "+Ey(ua)):"i"==T?a
(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=hB(a.pa,!0);rc?"console"==Sa?console.log(rc):
(ZA(a),a.P(rc)):a.P("powerOff() error")}else if("symbols"==cb)for(var ib=0;ib<a.D.length;ib++){var cf=a.D[ib],Ld;for(Ld in cf.Fd)if("."!=Ld.charAt(0)){var df=cf.Fd[Ld],sg=df.o;if(void 0!==sg){var ef=df.s;void 0===ef&&(ef=cf.U);var tg=cf.Fd[Ld].l;tg&&(Ld=tg);a.P(ty(sg,ef)+" "+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 Ng=a.Sb(Oy(a,qm));if(-1===Ng)a.P("invalid address: "+qm);else{var nf,
Qa=null;if(80386<=a.H.ca){var of=a.ka,Qa={};Qa.Jk=(Ng&-4194304)>>>20;Qa.Ti=a.H.Wc+Qa.Jk;Qa.nb=of.aa[(Qa.Ti&of.C)>>>of.A];Qa.Aj=Qa.nb.Nd(Qa.Jk);Qa.Kk=(Ng&4190208)>>>10;Qa.Ui=(Qa.Aj&-4096)+Qa.Kk;Qa.ob=of.aa[(Qa.Ui&of.C)>>>of.A];Qa.Bj=Qa.ob.Nd(Qa.Kk);Qa.ul=(Qa.Bj&-4096)+(Ng&4095)}if(nf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var ve="%"+q(Ng),ve=ve+(" %%"+Ty(nf.Ti,nf.Aj)),ve=
ve+(" %%"+Ty(nf.Ui,nf.Bj,!0)),ve=ve+(" %%"+q(nf.ul));a.P(ve)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";cB(a,ca);break a}for(xb in Sb)if(ca[1]==xb){var tt=a.Aa[xb];tt?(ca.shift(),ca.shift(),tt(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.ib||"db")}else a.ib=za;if("dh"==za){var ut=cb,vt=Sa,wt="",xt=0,Mc=a.la,jd=a.N;if(jd.length){var uc=+ut||a.Xa,Og=+vt||10;isNaN(uc)?uc=Og:wt="more ";uc>jd.length&&(a.P("note: only "+
jd.length+" available"),uc=jd.length);Mc-=uc;0>Mc&&(null==jd[jd.length-1].U?(uc=Mc+uc,Mc=0):Mc+=jd.length);var rm=[];"call"==vt&&(Og=1E5,rm=["CALL"]);for(void 0!==ut&&a.P(uc+" instructions earlier:");0<Og&&Mc!=a.la;){var we=jd[Mc++];if(null==we.U)break;var Pg=gy(a,we.Ja,we.U,we.xa,we.type,we.Hb,we.dc),YB=uc--,yt=Wz(a,Pg,"history",YB);(!rm.length||0<=yt.indexOf(rm[0]))&&a.P(yt);Pg.Fe&&(Mc+=Pg.Fe,Og-=Pg.Fe,uc-=Pg.Fe);Mc>=jd.length&&(Mc=0);a.Xa=uc;xt++;Og--}}xt||(a.P("no "+wt+"history available"),a.Xa=
void 0)}else if("di"==za){ca.shift();var sm=ca[0];if(sm){var Qg=ay(a,sm);if(void 0===Qg||0>Qg||255<Qg)a.P("invalid vector: "+sm);else{var zt="&",At=!!(a.H.qa&1),Bt=!1,Ti=a.H.Pb+(Qg<<(At?3:2)),Ct=a.H.ja(Ti+0),ZB=a.H.ja(Ti+2);At&&(zt="#",a.H.ja(Ti+4)&2048&&(Bt=!0,Ct|=a.H.ja(Ti+6)<<16));a.P("dumpIDT("+ta(Qg)+"): "+zt+q(ZB,4)+":"+q(Ct,Bt?8:4))}}else a.P("no IDT vector")}else if("dt"==za)ca.shift(),a.P("no information");else{var pf=Oy(a,cb);if(pf&&(null!=pf.U||null!=pf.xa)){var Ui=0;Sa&&("l"==Sa.charAt(0)&&
(Sa=Sa.substr(1)||rb),Ui=ay(a,Sa)>>>0,65536<Ui&&(Ui=65536));for(var Rg="",qf="dd"==za?4:"dw"==za?2:1,Vi=qf*Ui||128,$B=Vi+15>>4||1;$B--&&0<Vi;){var Sg=0,tm=0,Tg,um="",Dt="",cb=Ey(pf);for(Tg=4==qf?16:a.ya;0<Tg&&0<Vi;Tg--){var Wi=a.Ia(pf,1),Sg=Sg|Wi<<(tm++<<3);tm==qf&&(um+=8==a.ya?sa(Sg,3*qf):q(Sg,2*qf),um+=1==qf?9==Tg?"-":" ":" ",Sg=tm=0);Dt+=32<=Wi&&128>Wi?String.fromCharCode(Wi):".";Vi--}Rg&&(Rg+="\n");Rg+=cb+" "+um+(Tg?"":" "+Dt)}Rg&&a.P(Rg);a.Ma=pf}}}}}break;case "e":if("else"==g[0])break;var Xi=
1,Et=255,Ft=a.Ia,Gt=a.fc;"ew"==g[0]&&(Xi=2,Et=65535,Ft=a.Yc,Gt=a.il);var Ht=Xi<<1,It=g[1];if(null==It)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 Yi=Oy(a,It);if(Yi)for(var Zi=2;Zi<g.length;Zi++){var Ug=Zx(a,g[Zi]);if(void 0===Ug){a.P("unrecognized value: "+g[Zi]);break}Ug&~Et&&a.P("warning: "+q(Ug)+" exceeds "+Xi+"-byte value");var aC=Ft.call(a,Yi);a.P("changing "+Ey(Yi)+" from "+q(aC,Ht,!0)+" to "+q(Ug,Ht,!0));
Gt.call(a,Yi,Ug,Xi)}}break;case "f":$A(a,g[1]);break;case "g":a:{var Jt=g[1],bC=b;"gt"==g[0]&&(a.Ba=!0);if(void 0!==Jt){var vm=Oy(a,Jt,!0);if(!vm)break a;Ry(a,vm,bC);a.Gd(a.B,vm,!0)}Mz(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(Kb(a,!0))break a;wm="already halted"}c||a.P(wm)}break;case "i":if("if"==g[0]){var xm;var Vg=b.substr(2),Vg=Ca(Vg);Zx(a,Vg)?(c||a.P("true: "+Vg),xm=!0):(c||a.P("false: "+Vg),xm=!1);xm||(d=!1);
ve+(" %%"+Ty(nf.Ui,nf.Bj,!0)),ve=ve+(" %%"+q(nf.ul));a.P(ve)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";cB(a,ca);break a}for(xb in Sb)if(ca[1]==xb){var ut=a.Aa[xb];ut?(ca.shift(),ca.shift(),ut(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.ib||"db")}else a.ib=za;if("dh"==za){var vt=cb,wt=Sa,xt="",yt=0,Mc=a.la,jd=a.N;if(jd.length){var uc=+vt||a.Xa,Og=+wt||10;isNaN(uc)?uc=Og:xt="more ";uc>jd.length&&(a.P("note: only "+
jd.length+" available"),uc=jd.length);Mc-=uc;0>Mc&&(null==jd[jd.length-1].U?(uc=Mc+uc,Mc=0):Mc+=jd.length);var rm=[];"call"==wt&&(Og=1E5,rm=["CALL"]);for(void 0!==vt&&a.P(uc+" instructions earlier:");0<Og&&Mc!=a.la;){var we=jd[Mc++];if(null==we.U)break;var Pg=gy(a,we.Ja,we.U,we.xa,we.type,we.Hb,we.dc),YB=uc--,zt=Wz(a,Pg,"history",YB);(!rm.length||0<=zt.indexOf(rm[0]))&&a.P(zt);Pg.Fe&&(Mc+=Pg.Fe,Og-=Pg.Fe,uc-=Pg.Fe);Mc>=jd.length&&(Mc=0);a.Xa=uc;yt++;Og--}}yt||(a.P("no "+xt+"history available"),a.Xa=
void 0)}else if("di"==za){ca.shift();var sm=ca[0];if(sm){var Qg=ay(a,sm);if(void 0===Qg||0>Qg||255<Qg)a.P("invalid vector: "+sm);else{var At="&",Bt=!!(a.H.qa&1),Ct=!1,Ti=a.H.Pb+(Qg<<(Bt?3:2)),Dt=a.H.ja(Ti+0),ZB=a.H.ja(Ti+2);Bt&&(At="#",a.H.ja(Ti+4)&2048&&(Ct=!0,Dt|=a.H.ja(Ti+6)<<16));a.P("dumpIDT("+ta(Qg)+"): "+At+q(ZB,4)+":"+q(Dt,Ct?8:4))}}else a.P("no IDT vector")}else if("dt"==za)ca.shift(),a.P("no information");else{var pf=Oy(a,cb);if(pf&&(null!=pf.U||null!=pf.xa)){var Ui=0;Sa&&("l"==Sa.charAt(0)&&
(Sa=Sa.substr(1)||rb),Ui=ay(a,Sa)>>>0,65536<Ui&&(Ui=65536));for(var Rg="",qf="dd"==za?4:"dw"==za?2:1,Vi=qf*Ui||128,$B=Vi+15>>4||1;$B--&&0<Vi;){var Sg=0,tm=0,Tg,um="",Et="",cb=Ey(pf);for(Tg=4==qf?16:a.ya;0<Tg&&0<Vi;Tg--){var Wi=a.Ia(pf,1),Sg=Sg|Wi<<(tm++<<3);tm==qf&&(um+=8==a.ya?sa(Sg,3*qf):q(Sg,2*qf),um+=1==qf?9==Tg?"-":" ":" ",Sg=tm=0);Et+=32<=Wi&&128>Wi?String.fromCharCode(Wi):".";Vi--}Rg&&(Rg+="\n");Rg+=cb+" "+um+(Tg?"":" "+Et)}Rg&&a.P(Rg);a.Ma=pf}}}}}break;case "e":if("else"==g[0])break;var Xi=
1,Ft=255,Gt=a.Ia,Ht=a.fc;"ew"==g[0]&&(Xi=2,Ft=65535,Gt=a.Yc,Ht=a.il);var It=Xi<<1,Jt=g[1];if(null==Jt)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 Yi=Oy(a,Jt);if(Yi)for(var Zi=2;Zi<g.length;Zi++){var Ug=Zx(a,g[Zi]);if(void 0===Ug){a.P("unrecognized value: "+g[Zi]);break}Ug&~Ft&&a.P("warning: "+q(Ug)+" exceeds "+Xi+"-byte value");var aC=Gt.call(a,Yi);a.P("changing "+Ey(Yi)+" from "+q(aC,It,!0)+" to "+q(Ug,It,!0));
Ht.call(a,Yi,Ug,Xi)}}break;case "f":$A(a,g[1]);break;case "g":a:{var Kt=g[1],bC=b;"gt"==g[0]&&(a.Ba=!0);if(void 0!==Kt){var vm=Oy(a,Kt,!0);if(!vm)break a;Ry(a,vm,bC);a.Gd(a.B,vm,!0)}Mz(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(Kb(a,!0))break a;wm="already halted"}c||a.P(wm)}break;case "i":if("if"==g[0]){var xm;var Vg=b.substr(2),Vg=Ca(Vg);Zx(a,Vg)?(c||a.P("true: "+Vg),xm=!0):(c||a.P("false: "+Vg),xm=!1);xm||(d=!1);
break}if("int"==g[0]){var $i;a:switch(ay(a,g[1])){case 19:Wk(a,19,a.H.da,!0);a.ga=a.W;$i=!0;break a;case 33:Wk(a,33,a.H.da,!0);a.ga=a.W;$i=!0;break a;default:$i=!1}$i||(d=!1);break}var ym=g[1];if(ym&&"?"!=ym){var zm=ay(a,ym);if(void 0!==zm){var cC=Pc(a.ka,zm,1);a.P(ta(zm)+": "+r(cC))}}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 dC=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,Kt=a.H.Z.U,Wg=gy(a),Sd=gy(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Ey(Sd));10>Am;){for(var kd=null,eC=256;Sd.Ja>>>0<a.H.cg>>>0;){Wg.Ja=a.jb(Sd,!0);if(null==Sd.xa||!eC--)break;Wg.U=Kt;if(kd=fB(a,Wg))break;Wg.U=a.jb(Sd);if(kd=fB(a,Wg,!0)){Kt=a.jb(Sd,!0);0<kd.indexOf("INT")&&a.jb(Sd,!0);break}}if(!kd||null==kd)break;var Lt=null;if("ks"==dC){var Mt=kd.match(/[0-9A-F]+$/);Mt&&(Lt=bB(a,Mt[0]))}kd=Ba(kd,50)+" ;"+(Lt||"stack="+Ey(Sd));a.P(kd);Am++}Am||
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){bB(a,g[1],!0);break}cB(a,g);break;case "m":if("mouse"==g[0]){var Bm=g[1],aj=g[2];if(a.G){var Nt=1;"-"==aj.charAt(0)&&(Nt=-1,aj=aj.substr(1));var xe=ay(a,aj,Bm);if(void 0!==xe)switch(xe=xe*Nt|0,Bm){case "x":a.G.tf(xe,0);break;case "y":a.G.tf(0,xe);break;case "click":a.G.Vd(xe,!0);a.G.Vd(xe,!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 ye=0;if("all"==
a.P("\tks\tshow symbol information");else{var Am=0,Lt=a.H.Z.U,Wg=gy(a),Sd=gy(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Ey(Sd));10>Am;){for(var kd=null,eC=256;Sd.Ja>>>0<a.H.cg>>>0;){Wg.Ja=a.jb(Sd,!0);if(null==Sd.xa||!eC--)break;Wg.U=Lt;if(kd=fB(a,Wg))break;Wg.U=a.jb(Sd);if(kd=fB(a,Wg,!0)){Lt=a.jb(Sd,!0);0<kd.indexOf("INT")&&a.jb(Sd,!0);break}}if(!kd||null==kd)break;var Mt=null;if("ks"==dC){var Nt=kd.match(/[0-9A-F]+$/);Nt&&(Mt=bB(a,Nt[0]))}kd=Ba(kd,50)+" ;"+(Mt||"stack="+Ey(Sd));a.P(kd);Am++}Am||
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){bB(a,g[1],!0);break}cB(a,g);break;case "m":if("mouse"==g[0]){var Bm=g[1],aj=g[2];if(a.G){var Ot=1;"-"==aj.charAt(0)&&(Ot=-1,aj=aj.substr(1));var xe=ay(a,aj,Bm);if(void 0!==xe)switch(xe=xe*Ot|0,Bm){case "x":a.G.tf(xe,0);break;case "y":a.G.tf(0,xe);break;case "click":a.G.Vd(xe,!0);a.G.Vd(xe,!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 ye=0;if("all"==
fb)ye=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 Sb)if(fb==ld){ye=Sb[ld];md=!!(a.ic&ye);break}if(!ye){a.P("unknown message category: "+fb);break a}}ye&&("on"==g[2]?(a.ic|=ye,md=!0):"off"==g[2]&&(a.ic&=~ye,md=!1))}var fC=0,Xg="";for(ld in Sb)if(!fb||fb==ld){var gC=!!(a.ic&Sb[ld]);if(null===md||md==gC)Xg&&(Xg+=","),++fC%10||(Xg+="\n\t"),"key"==ld&&(ld="keys"),Xg+=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")+(Xg||"none"));iy(a)}break;case "o":var Cm=g[1],hC=g[2];if(Cm&&"?"!=Cm){var Dm=ay(a,Cm,"port #"),Em=ay(a,hC);void 0!==Dm&&void 0!==Em&&(Tc(a.ka,Dm,1,Em),a.P(ta(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]){eB(a,b.substr(5));break}var Ot="pr"==g[0]?1:0,rf=1+Ot;if(a.I)a.P("step in progress");
else{var bj,Pt=!1,Hb=gy(a,A(a.H),a.H.Z.U);do switch(bj=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Jy(a,Hb,1);bj=!0;break;case 204:case 206:a.I=rf;Jy(a,Hb,1);break;case 205:case 224:case 225:case 226:a.I=rf;Jy(a,Hb,Hb.Hb?4:2);break;case 232:a.I=rf;Jy(a,Hb,Hb.Hb?5:3);break;case 154:a.I=rf;Jy(a,Hb,Hb.Hb?7:5);break;case 255:var Qt=a.jb(Hb)&14591;if(4351==Qt||6399==Qt)a.I=rf,Wz(a,Hb);break;case 243:case 242:Jy(a,Hb,1);Pt=bj=!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:Pt&&
(a.I=rf,Jy(a,Hb,1))}while(bj);a.I?(a.Gd(a.B,Hb,!0),Mz(a)||(a.pa&&a.pa.ld(),a.I=0)):gB(a,Ot?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Oz(a,g);break;case "t":gB(a,g[0],g[1]);break;case "u":Pz(a,g[1],g[2],8);break;case "v":if("var"==g[0]){aB(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.34.2 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Ob?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Na());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var Yg;void 0!==g[3]&&(Yg=+g[3]);
a.P((null!==md?md?"messages on: ":"messages off: ":"message categories:\n\t")+(Xg||"none"));iy(a)}break;case "o":var Cm=g[1],hC=g[2];if(Cm&&"?"!=Cm){var Dm=ay(a,Cm,"port #"),Em=ay(a,hC);void 0!==Dm&&void 0!==Em&&(Tc(a.ka,Dm,1,Em),a.P(ta(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]){eB(a,b.substr(5));break}var Pt="pr"==g[0]?1:0,rf=1+Pt;if(a.I)a.P("step in progress");
else{var bj,Qt=!1,Hb=gy(a,A(a.H),a.H.Z.U);do switch(bj=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Jy(a,Hb,1);bj=!0;break;case 204:case 206:a.I=rf;Jy(a,Hb,1);break;case 205:case 224:case 225:case 226:a.I=rf;Jy(a,Hb,Hb.Hb?4:2);break;case 232:a.I=rf;Jy(a,Hb,Hb.Hb?5:3);break;case 154:a.I=rf;Jy(a,Hb,Hb.Hb?7:5);break;case 255:var Rt=a.jb(Hb)&14591;if(4351==Rt||6399==Rt)a.I=rf,Wz(a,Hb);break;case 243:case 242:Jy(a,Hb,1);Qt=bj=!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:Qt&&
(a.I=rf,Jy(a,Hb,1))}while(bj);a.I?(a.Gd(a.B,Hb,!0),Mz(a)||(a.pa&&a.pa.ld(),a.I=0)):gB(a,Pt?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Oz(a,g);break;case "t":gB(a,g[0],g[1]);break;case "u":Pz(a,g[1],g[2],8);break;case "v":if("var"==g[0]){aB(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.34.2 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Ob?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Na());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var Yg;void 0!==g[3]&&(Yg=+g[3]);
switch(g[2]){case "int":a.H.T.Se=Yg;break;case "start":a.H.T.wf=Yg;break;case "stop":a.H.T.Ue=Yg;break;default:a.P("unknown cs option");break a}void 0!==Yg&&Bd(a.H);a.P("checksums "+(a.H.ea.He?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Fd(a.H,+g[2])||a.P("warning: using 1x multiplier, previous target not reached"));a.P("target speed: "+(a.H.T.oe.toFixed(2)+"Mhz")+" ("+a.H.T.Kd+"x)");break;default:a.P("unknown option: "+g[1])}else a.P("execution options:"),a.P("\tcs int #\tset checksum cycle interval to #"),
a.P("\tcs start #\tset checksum cycle start count to #"),a.P("\tcs stop #\tset checksum cycle stop count to #"),a.P("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){eB(a,b.substr(1));break}var Fm="commands:",Gm;for(Gm in iB)Fm+="\n"+Ba(Gm,7)+iB[Gm];Jg(a)||(Fm+="\nnote: frequency/history disabled if no exec breakpoints");a.P(Fm);break;default:a.P("unknown command: "+b),d=!1}}}catch(St){a.P("debugger error: "+(St.stack||St.message)),d=!1}return d}
a.P("\tcs start #\tset checksum cycle start count to #"),a.P("\tcs stop #\tset checksum cycle stop count to #"),a.P("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){eB(a,b.substr(1));break}var Fm="commands:",Gm;for(Gm in iB)Fm+="\n"+Ba(Gm,7)+iB[Gm];Jg(a)||(Fm+="\nnote: frequency/history disabled if no exec breakpoints");a.P(Fm);break;default:a.P("unknown command: "+b),d=!1}}}catch(Tt){a.P("debugger error: "+(Tt.stack||Tt.message)),d=!1}return d}
function ky(a,b,c){b=a.Cg(b,c);for(var d in b)if(!Vz(a,b[+d]))return!1;return!0}
var Jz={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},Iz=[26,28,40,42,109],iB={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",l:"load sector(s)",ln:"list nearest symbol(s)",m:"messages",mouse:"mouse action","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",
"t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},Py=0,Hy=1,qy=2,Sy=3,Qy=4,Iy=5,dA=18,eA=28,$z=36,iA=80,fA=104,gA=107,Yz=176,Xz="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FS: GS: HLT IBTS IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JA JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSHF PUSHA PUSH RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SALC SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XBTS XCHG XLAT XOR".split(" "),