?login_element?

Subversion Repositories NedoOS

Rev

Rev 50 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. //// ьр°шээючртшёшь√х тхЄъш
  2.       case _TOKCOMMA: {_oldreg = _reg;/**эх ЄЁюурхь value! хую ёфтшэхЄ Єюы№ъю фЁєуюх value!*/ goto loop;}
  3.  
  4.       case _ASMNZ: {_base=_base2/**+0x00*/; goto loop;}
  5.       case _ASMZ:  {_base=_base2+0x08; goto loop;}
  6.       case _ASMNC: {_base=_base2+0x10; goto loop;}
  7.       case _ASMC:  {_base=_base2+0x18; goto loop;}
  8.       case _ASMPO: {_base=_base2+0x20; goto loop;}
  9.       case _ASMPE: {_base=_base2+0x28; goto loop;}
  10.       case _ASMP:  {_base=_base2+0x30; goto loop;}
  11.       case _ASMM:  {_base=_base2+0x38; goto loop;}
  12.  
  13.       case _ASMEX:
  14.       case _ASMLD:
  15.       case _ASMRST:
  16.       case _ASMIM:
  17.  
  18.         {_isaddr = 0x00; goto loop;}
  19.  
  20.       case _ASMRET: {_base=0xc9; _base2=0xc0;/**cc ьхэ хЄ срчє1 эр срчє2+8*cc*/ goto loop;}
  21.       case _ASMDJNZ:{_base=0x10; goto loop;}
  22.       case _ASMJR:  {_base=0x18; _base2=0x20;/**cc ьхэ хЄ срчє1 эр срчє2+8*cc*/ goto loop;}
  23.       case _ASMJP:  {_isaddr = 0x00; _base=0xc3; _base2=0xc2;/**cc ьхэ хЄ срчє1 эр срчє2+8*cc*/ goto loop;}
  24.       case _ASMCALL:{_isaddr = 0x00; _base=0xcd; _base2=0xc4;/**cc ьхэ хЄ срчє1 эр срчє2+8*cc*/ goto loop;}
  25.  
  26.       case _ASMADD: {_base=0x80;/**+0x46 фы  N*/ goto loop;}
  27.       case _ASMADC: {_base=0x88;/**+0x46 фы  N*/ goto loop;}
  28.       case _ASMSUB: {_base=0x90;/**+0x46 фы  N*/ goto loop;}
  29.       case _ASMSBC: {_base=0x98;/**+0x46 фы  N*/ goto loop;}
  30.       case _ASMAND: {_base=0xa0;/**+0x46 фы  N*/ goto loop;}
  31.       case _ASMXOR: {_base=0xa8;/**+0x46 фы  N*/ goto loop;}
  32.       case _ASMOR:  {_base=0xb0;/**+0x46 фы  N*/ goto loop;}
  33.       case _ASMCP:  {_base=0xb8;/**+0x46 фы  N*/ goto loop;}
  34.  
  35.       case _ASMINC: {_base=0x04; goto loop;}
  36.       case _ASMDEC: {_base=0x05; goto loop;}
  37.  
  38.       case _ASMOUT: {_base=0x8d/**0xd3-0x46*/;/**ўЄюс√ ўхЁхч alucmdn*/ goto loop;}
  39.       case _ASMIN:  {_base=0x95/**0xdb-0x46*/;/**ўЄюс√ ўхЁхч alucmdn*/ goto loop;}
  40.  
  41.       case _ASMPOP: {_base=0xc1; goto loop;}
  42.       case _ASMPUSH:{_base=0xc5; goto loop;}
  43.  
  44.       case _ASMRLC: {_base=0x00; goto loop;}
  45.       case _ASMRRC: {_base=0x08; goto loop;}
  46.       case _ASMRL:  {_base=0x10; goto loop;}
  47.       case _ASMRR:  {_base=0x18; goto loop;}
  48.       case _ASMSLA: {_base=0x20; goto loop;}
  49.       case _ASMSRA: {_base=0x28; goto loop;}
  50.       case _ASMSLI: {_base=0x30; goto loop;}
  51.       case _ASMSRL: {_base=0x38; goto loop;}
  52.  
  53.       case _ASMBIT: {_base=0x40; goto loop;}
  54.       case _ASMRES: {_base=0x80; goto loop;}
  55.       case _ASMSET: {_base=0xc0; goto loop;}
  56.  
  57.       case _ASMRLCA:{_base=0x07; goto loop;}
  58.       case _ASMRRCA:{_base=0x0f; goto loop;}
  59.       case _ASMRLA: {_base=0x17; goto loop;}
  60.       case _ASMRRA: {_base=0x1f; goto loop;}
  61.       case _ASMDAA: {_base=0x27; goto loop;}
  62.       case _ASMCPL: {_base=0x2f; goto loop;}
  63.       case _ASMSCF: {_base=0x37; goto loop;}
  64.       case _ASMCCF: {_base=0x3f; goto loop;}
  65.       case _ASMNOP: {_base=0x00; goto loop;}
  66.       case _ASMHALT:{_base=0x76; goto loop;}
  67.       case _ASMDI:  {_base=0xf3; goto loop;}
  68.       case _ASMEI:  {_base=0xfb; goto loop;}
  69.       case _ASMEXX: {_base=0xd9; goto loop;}
  70.  
  71.       case _ASMRETN:{asmbyte_ed(); _base=0x45; goto loop;}
  72.       case _ASMRETI:{asmbyte_ed(); _base=0x4d; goto loop;}
  73.       case _ASMLDI: {asmbyte_ed(); _base=0xa0; goto loop;}
  74.       case _ASMLDD: {asmbyte_ed(); _base=0xa8; goto loop;}
  75.       case _ASMLDIR:{asmbyte_ed(); _base=0xb0; goto loop;}
  76.       case _ASMLDDR:{asmbyte_ed(); _base=0xb8; goto loop;}
  77.       case _ASMCPI: {asmbyte_ed(); _base=0xa1; goto loop;}
  78.       case _ASMCPD: {asmbyte_ed(); _base=0xa9; goto loop;}
  79.       case _ASMCPIR:{asmbyte_ed(); _base=0xb1; goto loop;}
  80.       case _ASMCPDR:{asmbyte_ed(); _base=0xb9; goto loop;}
  81.       case _ASMINI: {asmbyte_ed(); _base=0xa2; goto loop;}
  82.       case _ASMIND: {asmbyte_ed(); _base=0xaa; goto loop;}
  83.       case _ASMINIR:{asmbyte_ed(); _base=0xb2; goto loop;}
  84.       case _ASMINDR:{asmbyte_ed(); _base=0xba; goto loop;}
  85.       case _ASMOUTI:{asmbyte_ed(); _base=0xa3; goto loop;}
  86.       case _ASMOUTD:{asmbyte_ed(); _base=0xab; goto loop;}
  87.       case _ASMOTIR:{asmbyte_ed(); _base=0xb3; goto loop;}
  88.       case _ASMOTDR:{asmbyte_ed(); _base=0xbb; goto loop;}
  89.       case _ASMINF: {asmbyte_ed(); _base=0x70; goto loop;}
  90.       case _ASMNEG: {asmbyte_ed(); _base=0x44; goto loop;}
  91.  
  92.       case _FMTMOVRBRB:   {IF ((_reg|_oldreg)>=+_ASMRBIXADD)asmrbrb_ixiyprefix(); asmbyte((_reg>>0x03)+_oldreg+0x40); goto loop;} //<ld><_reg><commakeepreg><_reg><writemovrbrb> - ЇюЁьрЄ яЁютхЁ хЄ ю°шсъє (?x,?y / ?y,?x / ?x/y,h/l / h/l,?x/y), яш°хЄ dd/fd ш ъюф (яхЁхёўшЄ√трхЄ шэфхъёэ√х яюыютшэъш т h/l)
  93.       case _FMTMOVAIR:    {asmbyte_ed(); asmbyte(_reg+0x57); goto loop;} //<ld><_reg(==A)><commakeepreg><regIR><writemovair>
  94.       case _FMTMOVIRA:    {asmbyte_ed(); asmbyte(_oldreg+0x47); goto loop;} //<ld><regIR><commakeepreg><_reg(==A)><writemovira>
  95.       case _FMTMOVRPRP:   {asmcheckrp_ixiyprefix(); IF ((_oldreg!=_ASMRPCODE_SP)||(_reg!=_ASMRPCODE_HL))errwrongreg(); asmbyte(0xf9); goto loop;} //<ld><rp(==SP)><comma><rp><writemovrprp> - т ЇюЁьрЄх тЁєўэє■ яЁютхЁшЄ№ rp (ю°шсър яЁш bc,de,sp) ш яшёрЄ№ dd/fd (ьюцэю ЁхрышчютрЄ№ ld bc,de ш Є.я.)
  96.       case _FMTLDRBN:     {IF (_oldreg>=_ASMRBIXADD)asmoldrb_ixiyprefix(); asmbyte(_oldreg+0x06); asmbytepopvalue(); goto loop;} //<ld><rp><comma><num>LH<writeldrbN> - т ЇюЁьрЄх тЁєўэє■ яЁютхЁшЄ№ rp ш яшёрЄ№ dd/fd
  97.       case _FMTLDRPNN:    {asmcheckoldrp_ixiyprefix(); asmbyte(_oldreg+0x01); asmwordpopvalue(); goto loop;} //<ld><rp><comma><num>LH<writeldrpNN> - т ЇюЁьрЄх тЁєўэє■ яЁютхЁшЄ№ rp ш яшёрЄ№ dd/fd
  98.       case _FMTGETAMRP:   {asmcheckrp_ixiyprefix(); IF (_reg==_ASMRPCODE_HL){asmbyte(0x7e);}ELSE IF (_reg==_ASMRPCODE_SP){errwrongreg();}ELSE asmbyte(_reg+0x0a); goto loop;} //<ld><_reg(==A)><commakeepreg><(><rp><)><writegetamrp> - ръъєьєы ЄюЁ эхяюфьхэ хь√щ!!! ю°шсър яЁш sp, юЄфхы№э√щ юяъюф фы  hl
  99.       case _FMTGETAMNN:   {asmbyte(0x3a); asmwordpopvalue(); goto loop;} //<ld><_reg(==A)><comma><(><num>LH<)><writegetamNN> - ръъєьєы ЄюЁ эхяюфьхэ хь√щ!!!
  100.       case _FMTGETRBMHL:  {err_oldrbix(); asmbyte(_oldreg+0x46); goto loop;} //<ld><_reg><commakeepreg><(><rp(==HL)><)><writegetrbmhl> - ю°шсър яЁш шэфхъёэ√ї яюыютшэърї _reg
  101.       case _FMTGETRBIDX:  {err_oldrbix(); asmrp_ixiyprefix(); asmbyte(_oldreg+0x46); asmdisppopvalue(); goto loop;} //writegetrbindex: <ld><_reg><commakeepreg><(><rp(==IX/IY)><num>LH<)><writegetrbindex>: ix/iy эхяюфьхэ хь√щ, шэрўх ЄюъхэшчрЄюЁ эх юяЁхфхышЄ ЇюЁьрЄ! яш°хЄ dd/fd,шэфхъёэ√х яюыютшэъш==ю°шсър
  102.       case _FMTGETRPMNN:  {asmcheckoldrp_ixiyprefix(); IF (_oldreg==_ASMRPCODE_HL){asmbyte(0x2a);}ELSE {asmbyte_ed();asmbyte(_oldreg+0x4b);}; asmwordpopvalue(); goto loop;} //<ld><rp><comma><num>LH<writegetrpmNN> - т ЇюЁьрЄх тЁєўэє■ яЁютхЁшЄ№ rp ш яшёрЄ№ dd/fd
  103.       case _FMTPUTMHLRB:  {err_rbix(); asmbyte((_reg>>0x03)+0x70); goto loop;} //<ld><(><rp(==HL)><)><comma><_reg><writeputmhlrb> - hl эхяюфьхэ хь√щ!!! шэфхъёэ√х яюыютшэъш==ю°шсър
  104.       case _FMTPUTMHLN:   {asmbyte(0x36); asmbytepopvalue(); goto loop;} //<ld><(><rp(==HL)><)><comma><num>LH<writeputmhlN> - hl эхяюфьхэ хь√щ!!!
  105.       case _FMTPUTIDXRB:  {err_rbix(); asmoldrp_ixiyprefix(); asmbyte((_reg>>0x03)+0x70); asmdisppopvalue(); goto loop;} //<ld><(><rp(==IX/IY)><num>LH<)><commakeepreg><_reg><writeputindexrb>: ix/iy эхяюфьхэ хь√щ, шэрўх ЄюъхэшчрЄюЁ эх юяЁхфхышЄ ЇюЁьрЄ! яш°хЄ dd/fd,шэфхъёэ√х яюыютшэъш==ю°шсър
  106.       case _FMTPUTIDXN:   {asmrp_ixiyprefix(); asmbyte(0x36); tempvalue=asmpopvalue(); asmdisppopvalue(); asmbyte((BYTE)tempvalue); goto loop;} //<ld><(><rp(==IX/IY)><num>LH<)><comma><num>LH<writeputindexN> - ix/iy эхяюфьхэ хь√щ (шэрўх ЄюъхэшчрЄюЁ эх юяЁхфхышЄ ЇюЁьрЄ)! ЇюЁьрЄ яш°хЄ dd/fd
  107.       case _FMTPUTMRPA:   {asmcheckoldrp_ixiyprefix(); IF (_oldreg==_ASMRPCODE_HL){asmbyte(0x77);}ELSE IF (_oldreg==_ASMRPCODE_SP){errwrongreg();}ELSE asmbyte(_oldreg+0x02); goto loop;} //<ld><(><rp><)><commakeepreg><_reg(==A)><writeputmrpa> - ръъєьєы ЄюЁ эхяюфьхэ хь√щ!!! ю°шсър яЁш sp, юЄфхы№э√щ юяъюф фы  hl
  108.       case _FMTPUTMNNA:   {asmbyte(0x32); asmwordpopvalue(); goto loop;} //<ld><(><num>LH<)><comma><_reg(==A)><writeputmNNa> - ръъєьєы ЄюЁ эхяюфьхэ хь√щ!!!
  109.       case _FMTPUTMNNRP:  {asmcheckrp_ixiyprefix(); IF (_reg==_ASMRPCODE_HL){asmbyte(0x22);}ELSE {asmbyte_ed();asmbyte(_reg+0x43);}; asmwordpopvalue(); goto loop;} //writeputmNNrp(==writeputmNNa?): <ld><(><num>LH<)><comma><rp><writeputmNNrp> - т ЇюЁьрЄх тЁєўэє■ яЁютхЁшЄ№ rp ш яшёрЄ№ dd/fd
  110.  
  111.       case _FMTALUCMDN:   {asmbyte(_base+0x46); asmbytepopvalue(); goto loop;} //<sbc><_reg(==A)><comma><num>LH<writealucmdN> - ръъєьєы ЄюЁ эхяюфьхэ хь√щ!!! ЇюЁьрЄ (┴└╟└1) яш°хЄ dd/fd яЁш шёяюы№чютрэшш шэфхъёэющ яюыютшэъш ш яхЁхёўшЄ√трхЄ х╕ т h/l
  112.       case _FMTALUCMDRB:  {asmcheckrb_ixiyprefix();/**IF (_reg>=_ASMRBIXADD)asmrb_ixiyprefix();*/ asmbyte((_reg>>0x03)+_base); goto loop;} //<sbc><_reg(==A)><comma><rp><writealucmdrb> - ръъєьєы ЄюЁ эхяюфьхэ хь√щ!!! ЇюЁьрЄ (┴└╟└2) яш°хЄ dd/fd яЁш шёяюы№чютрэшш шэфхъёэющ яюыютшэъш ш яхЁхёўшЄ√трхЄ х╕ т h/l
  113.       case _FMTALUCMDMHL: {asmbyte(_base+0x06); goto loop;} //<sbc><_reg(==A)><comma><(><rp(==HL)><)><writealucmdmhl> - ръъєь.эхяюфьхэ хь√щ! hl Єюцх
  114.       case _FMTALUCMDIDX: {asmrp_ixiyprefix(); asmbyte(_base+0x06); asmdisppopvalue(); goto loop;} //<sbc><_reg(==A)><comma><(><rp(==IX/IY)><num>LH<)><writealucmdindex> - ръъєь.эхяюфьхэ хь√щ! ix/iy Єюцх (шэрўх ЄюъхэшчрЄюЁ эх юяЁхфхышЄ ЇюЁьрЄ)! ЇюЁьрЄ яш°хЄ dd/fd,┴└╟└2
  115.       case _FMTADDHLRP:   {/**IF ((_reg|_oldreg)>=_ASMRPIXADD)*/asmrprp_ixiyprefix(); asmbyte(_reg+0x09); goto loop;} //<add><rp(==HL/IX/IY)><commakeepreg><rp><writeaddhlrp> - ЇюЁьрЄ яЁютхЁ хЄ rp1, rp2 ш яш°хЄ dd/fd (add ix,iy, add iy,ix, add ix/iy,hl, add hl,ix/iy - ю°шсър)
  116.       case _FMTADCHLRP:   {err_rpix(); asmbyte_ed(); asmbyte(_reg+0x4a); goto loop;} //<adc><rp(==HL)><comma><rp><writeadchlrp> - ЇюЁьрЄ яЁютхЁ хЄ rp (ix/iy - ю°шсър)
  117.       case _FMTSBCHLRP:   {err_rpix(); asmbyte_ed(); asmbyte(_reg+0x42); goto loop;} //<sbc><rp(==HL)><comma><rp><writesbchlrp> - ЇюЁьрЄ яЁютхЁ хЄ rp (ix/iy - ю°шсър)
  118.       case _FMTINCRP:     {asmcheckrp_ixiyprefix(); asmbyte(_reg+0x03); goto loop;} //ьюцэю ўхЁхч яЁютхЁъє ъюфр ЁхушёЄЁр т inc (шэфхъёэ√х яюыютшэъш яЁютхЁ хь)
  119.       case _FMTDECRP:     {asmcheckrp_ixiyprefix(); asmbyte(_reg+0x0b); goto loop;} //ьюцэю ўхЁхч яЁютхЁъє ъюфр ЁхушёЄЁр т dec (шэфхъёэ√х яюыютшэъш яЁютхЁ хь) (шыш ўхЁхч тЄюЁє■ срчє writedecrp==writeincrp?)
  120.       case _FMTINCDECRB:  {asmcheckrb_ixiyprefix();/**IF (_reg>=_ASMRBIXADD)asmrb_ixiyprefix();*/ asmbyte(_base+_reg); goto loop;}
  121.       case _FMTINCDECMHL: {asmbyte(_base+0x30); goto loop;}
  122.       case _FMTINCDECIDX: {asmrp_ixiyprefix(); asmbyte(_base+0x30); asmdisppopvalue(); goto loop;}
  123.  
  124.       case _FMTEXRPRP:    {IF (_oldreg==_ASMRPCODE_DE){asmbyte(0xeb);}ELSE IF (_reg==_ASMRPCODE_AF){asmbyte(0x08);}ELSE /**IF (_oldreg==_ASMRPCODE_SP)*/{IF (_reg>=_ASMRPIXADD){asmrp_ixiyprefix();}; asmbyte(0xe3);}; goto loop;} //<ex><rp><commakeepreg><rp><writeexrprp>
  125.       case _FMTJRDD:      {asmbyte(_base); asmdisp((INT)((UINT)asmpopvalue()-((_curaddr+_curshift)+1))); goto loop;} //<jr><cc><comma><num>LH<writejr> - яш°хЄ ёьх∙хэшх юЄ $ ш юЄёыхцштрхЄ ю°шсъє - cc ьхэ хЄ срчє1 эр срчє2+8*cc
  126.       case _FMTJPNN:      {asmbyte(_base); asmwordpopvalue(); goto loop;} //<call><cc><comma><num>LH<writejp> - cc ьхэ хЄ срчє1 эр срчє2+8*cc
  127.       case _FMTJPRP:      {asmcheckrp_ixiyprefix(); IF (_reg!=_ASMRPCODE_HL)errwrongreg(); asmbyte(0xe9); goto loop;}  //<jp><rp><writejprp> - ьюцэю шёяюы№чютрЄ№ ёъюсъш, юэш эш эр ўЄю эх сєфєЄ тыш Є№. ═рфю яЁютхЁшЄ№ rp ш т√фрЄ№ ю°шсъє - ьюцэю ўхЁхч textcmd?
  128.       case _FMTPUSHPOPRP: {asmcheckrp_ixiyprefix(); asmbyte(_base+_reg); goto loop;}
  129.       case _FMTCBCMDRB:   {err_rbix(); asmbyte(0xcb); asmbyte((_reg>>0x03)+_base); goto loop;} //<rlc><_reg><writecbcmd> - ЇюЁьрЄ яЁютхЁ хЄ _reg (шэфхъёэ√х яюыютшэъш - ю°шсър) - ёрьр ъюьрэфр rlc ш Є.я. эх ьюцхЄ яшёрЄ№ яЁхЇшъё, Є.ъ. шэюуфр эрфю dd/fd, cb
  130.       case _FMTCBCMDMHL:  {asmbyte(0xcb); asmbyte(_base+0x06); goto loop;} //<rlc><(><rp(==HL)><)><writecbcmdmhl> - hl эхяюфьхэ хь√щ!!! - ьюцэю ўхЁхч <writecbcmdindex>, хёыш яЁютхЁшЄ№ rp
  131.       case _FMTCBCMDIDX:  {asmrp_ixiyprefix(); asmbyte(0xcb); asmdisppopvalue(); asmbyte(_base+0x06); goto loop;} //<rlc><(><rp(==IX/IY)><num>LH<)><writecbcmdindex> - ix/iy эхяюфьхэ хь√щ (шэрўх ЄюъхэшчрЄюЁ эх юяЁхфхышЄ ЇюЁьрЄ)!!! ЇюЁьрЄ яш°хЄ dd/fd, cb
  132.       case _FMTRST:       {tempvalue=asmpopvalue(); /**IF (((UINT)tempvalue&0xffc7)!=0)errwrongpar();*/ asmbyte((BYTE)tempvalue+0xc7); goto loop;} //<rst><num>LH<writerst> - яЁютхЁ хЄ pseudon (ЁрчЁх°хэю Єюы№ъю 0/8/16/../56, шэрўх ю°шсър) ьюцэю ўхЁхч textcmd?
  133.       case _OPBIT:        {tempvalue=asmpopvalue(); /**IF (((UINT)tempvalue&0xfff8)!=0)errwrongpar();*/ _base=(((BYTE)tempvalue&0x07)<<0x03)+_base; goto loop;} //фы  bit/res/set: яЁютхЁ хЄ pseudon (ЁрчЁх°хэю Єюы№ъю 0..7, шэрўх ю°шсър), єьэюцрхЄ эр 8 ш яЁшсрты хЄ ъ срчх юяъюфр
  134.       case _FMTIM:        {asmbyte_ed(); _token=(BYTE)asmpopvalue(); IF (_token==0x00){asmbyte(0x46);}ELSE IF (_token==0x01){asmbyte(0x56);}ELSE /**IF (_token==0x02)*/{asmbyte(0x5e);}/**ELSE errwrongpar()*/; goto loop;} //writeim: яЁютхЁ хЄ 0..2 (шэрўх ю°шсър) ш яхЁхёўшЄ√трхЄ т 46, 56, 5e - ьюцэю ўхЁхч textcmd? шыш яЁюяєёърЄ№ яЁюсхы тЁєўэє■ ш тююс∙х схч ЇюЁьрЄр (шыш writealucmd, шыш writecmd)
  135.       case _FMTXX:        {asmbyte(_base); goto loop;} //(эєцэю Єюы№ъю фы  ret/ret cc ш ъюьрэф схч ярЁрьхЄЁют) - ьюцэю ўхЁхч writealucmd (т <ret> яЁшётюшЄ№ ЁхушёЄЁ), ьюцэю ret cc ўхЁхч textcmd шыш ўхЁхч writejp (хёыш т э╕ь эх сєфхЄ тёЄЁюхэр чряшё№ ўшёыр)
  136.       case _FMTOUTCRB:    {err_rbix(); asmbyte_ed(); asmbyte(_reg+0x41); goto loop;} //out (c),_reg (ed 41+) - яЁютхЁ хЄ _reg (шэфхъёэ√х яюыютшэъш - ю°шсър)
  137.       case _FMTINRBC:     {err_oldrbix(); asmbyte_ed(); asmbyte(_oldreg+0x40); goto loop;} //in _reg,(c) (ed 40+) - яЁютхЁ хЄ _oldreg (шэфхъёэ√х яюыютшэъш - ю°шсър)
  138.  
  139.       case _RG_B: {_reg = _ASMRBCODE_B; goto loop;}
  140.       case _RG_C: {_reg = _ASMRBCODE_C; goto loop;}
  141.       case _RG_D: {_reg = _ASMRBCODE_D; goto loop;}
  142.       case _RG_E: {_reg = _ASMRBCODE_E; goto loop;}
  143.       case _RG_H: {_reg = _ASMRBCODE_H; goto loop;}
  144.       case _RG_L: {_reg = _ASMRBCODE_L; goto loop;}
  145.       case _RG_A: {_reg = _ASMRBCODE_A; goto loop;}
  146.       case _RG_HX:{_reg = _ASMRBCODE_HX; goto loop;}
  147.       case _RG_LX:{_reg = _ASMRBCODE_LX; goto loop;}
  148.       case _RG_HY:{_reg = _ASMRBCODE_HY; goto loop;}
  149.       case _RG_LY:{_reg = _ASMRBCODE_LY; goto loop;}
  150.       case _RG_I: {_reg = _ASMRBCODE_I; goto loop;}
  151.       case _RG_R: {_reg = _ASMRBCODE_R; goto loop;}
  152.  
  153.       case _RG_BC: {_reg = _ASMRPCODE_BC; goto loop;}
  154.       case _RG_DE: {_reg = _ASMRPCODE_DE; goto loop;}
  155.       case _RG_HL: {_reg = _ASMRPCODE_HL; goto loop;}
  156.       case _RG_SP: {_reg = _ASMRPCODE_SP; goto loop;}
  157.       case _RG_AF: {_reg = _ASMRPCODE_AF; goto loop;}
  158.       case _RG_IX: {_reg = _ASMRPCODE_IX; goto loop;}
  159.       case _RG_IY: {_reg = _ASMRPCODE_IY; goto loop;}
  160.