//// ьр°шээючртшёшь√х тхЄъш
case _TOKCOMMA: {_oldreg = _reg;/**эх ЄЁюурхь value! хую ёфтшэхЄ Єюы№ъю фЁєуюх value!*/ goto loop;}
case _ASMNZ: {_base=_base2/**+0x00*/; goto loop;}
case _ASMZ: {_base=_base2+0x08; goto loop;}
case _ASMNC: {_base=_base2+0x10; goto loop;}
case _ASMC: {_base=_base2+0x18; goto loop;}
case _ASMPO: {_base=_base2+0x20; goto loop;}
case _ASMPE: {_base=_base2+0x28; goto loop;}
case _ASMP: {_base=_base2+0x30; goto loop;}
case _ASMM: {_base=_base2+0x38; goto loop;}
case _ASMEX:
case _ASMLD:
case _ASMRST:
case _ASMIM:
{_isaddr = 0x00; goto loop;}
case _ASMRET: {_base=0xc9; _base2=0xc0;/**cc ьхэ хЄ срчє1 эр срчє2+8*cc*/ goto loop;}
case _ASMDJNZ:{_base=0x10; goto loop;}
case _ASMJR: {_base=0x18; _base2=0x20;/**cc ьхэ хЄ срчє1 эр срчє2+8*cc*/ goto loop;}
case _ASMJP: {_isaddr = 0x00; _base=0xc3; _base2=0xc2;/**cc ьхэ хЄ срчє1 эр срчє2+8*cc*/ goto loop;}
case _ASMCALL:{_isaddr = 0x00; _base=0xcd; _base2=0xc4;/**cc ьхэ хЄ срчє1 эр срчє2+8*cc*/ goto loop;}
case _ASMADD: {_base=0x80;/**+0x46 фы N*/ goto loop;}
case _ASMADC: {_base=0x88;/**+0x46 фы N*/ goto loop;}
case _ASMSUB: {_base=0x90;/**+0x46 фы N*/ goto loop;}
case _ASMSBC: {_base=0x98;/**+0x46 фы N*/ goto loop;}
case _ASMAND: {_base=0xa0;/**+0x46 фы N*/ goto loop;}
case _ASMXOR: {_base=0xa8;/**+0x46 фы N*/ goto loop;}
case _ASMOR: {_base=0xb0;/**+0x46 фы N*/ goto loop;}
case _ASMCP: {_base=0xb8;/**+0x46 фы N*/ goto loop;}
case _ASMINC: {_base=0x04; goto loop;}
case _ASMDEC: {_base=0x05; goto loop;}
case _ASMOUT: {_base=0x8d/**0xd3-0x46*/;/**ўЄюс√ ўхЁхч alucmdn*/ goto loop;}
case _ASMIN: {_base=0x95/**0xdb-0x46*/;/**ўЄюс√ ўхЁхч alucmdn*/ goto loop;}
case _ASMPOP: {_base=0xc1; goto loop;}
case _ASMPUSH:{_base=0xc5; goto loop;}
case _ASMRLC: {_base=0x00; goto loop;}
case _ASMRRC: {_base=0x08; goto loop;}
case _ASMRL: {_base=0x10; goto loop;}
case _ASMRR: {_base=0x18; goto loop;}
case _ASMSLA: {_base=0x20; goto loop;}
case _ASMSRA: {_base=0x28; goto loop;}
case _ASMSLI: {_base=0x30; goto loop;}
case _ASMSRL: {_base=0x38; goto loop;}
case _ASMBIT: {_base=0x40; goto loop;}
case _ASMRES: {_base=0x80; goto loop;}
case _ASMSET: {_base=0xc0; goto loop;}
case _ASMRLCA:{_base=0x07; goto loop;}
case _ASMRRCA:{_base=0x0f; goto loop;}
case _ASMRLA: {_base=0x17; goto loop;}
case _ASMRRA: {_base=0x1f; goto loop;}
case _ASMDAA: {_base=0x27; goto loop;}
case _ASMCPL: {_base=0x2f; goto loop;}
case _ASMSCF: {_base=0x37; goto loop;}
case _ASMCCF: {_base=0x3f; goto loop;}
case _ASMNOP: {_base=0x00; goto loop;}
case _ASMHALT:{_base=0x76; goto loop;}
case _ASMDI: {_base=0xf3; goto loop;}
case _ASMEI: {_base=0xfb; goto loop;}
case _ASMEXX: {_base=0xd9; goto loop;}
case _ASMRETN:{asmbyte_ed(); _base=0x45; goto loop;}
case _ASMRETI:{asmbyte_ed(); _base=0x4d; goto loop;}
case _ASMLDI: {asmbyte_ed(); _base=0xa0; goto loop;}
case _ASMLDD: {asmbyte_ed(); _base=0xa8; goto loop;}
case _ASMLDIR:{asmbyte_ed(); _base=0xb0; goto loop;}
case _ASMLDDR:{asmbyte_ed(); _base=0xb8; goto loop;}
case _ASMCPI: {asmbyte_ed(); _base=0xa1; goto loop;}
case _ASMCPD: {asmbyte_ed(); _base=0xa9; goto loop;}
case _ASMCPIR:{asmbyte_ed(); _base=0xb1; goto loop;}
case _ASMCPDR:{asmbyte_ed(); _base=0xb9; goto loop;}
case _ASMINI: {asmbyte_ed(); _base=0xa2; goto loop;}
case _ASMIND: {asmbyte_ed(); _base=0xaa; goto loop;}
case _ASMINIR:{asmbyte_ed(); _base=0xb2; goto loop;}
case _ASMINDR:{asmbyte_ed(); _base=0xba; goto loop;}
case _ASMOUTI:{asmbyte_ed(); _base=0xa3; goto loop;}
case _ASMOUTD:{asmbyte_ed(); _base=0xab; goto loop;}
case _ASMOTIR:{asmbyte_ed(); _base=0xb3; goto loop;}
case _ASMOTDR:{asmbyte_ed(); _base=0xbb; goto loop;}
case _ASMINF: {asmbyte_ed(); _base=0x70; goto loop;}
case _ASMNEG: {asmbyte_ed(); _base=0x44; goto loop;}
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)
case _FMTMOVAIR: {asmbyte_ed(); asmbyte(_reg+0x57); goto loop;} //<ld><_reg(==A)><commakeepreg><regIR><writemovair>
case _FMTMOVIRA: {asmbyte_ed(); asmbyte(_oldreg+0x47); goto loop;} //<ld><regIR><commakeepreg><_reg(==A)><writemovira>
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 ш Є.я.)
case _FMTLDRBN: {IF (_oldreg>=_ASMRBIXADD)asmoldrb_ixiyprefix(); asmbyte(_oldreg+0x06); asmbytepopvalue(); goto loop;} //<ld><rp><comma><num>LH<writeldrbN> - т ЇюЁьрЄх тЁєўэє■ яЁютхЁшЄ№ rp ш яшёрЄ№ dd/fd
case _FMTLDRPNN: {asmcheckoldrp_ixiyprefix(); asmbyte(_oldreg+0x01); asmwordpopvalue(); goto loop;} //<ld><rp><comma><num>LH<writeldrpNN> - т ЇюЁьрЄх тЁєўэє■ яЁютхЁшЄ№ rp ш яшёрЄ№ dd/fd
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
case _FMTGETAMNN: {asmbyte(0x3a); asmwordpopvalue(); goto loop;} //<ld><_reg(==A)><comma><(><num>LH<)><writegetamNN> - ръъєьєы ЄюЁ эхяюфьхэ хь√щ!!!
case _FMTGETRBMHL: {err_oldrbix(); asmbyte(_oldreg+0x46); goto loop;} //<ld><_reg><commakeepreg><(><rp(==HL)><)><writegetrbmhl> - ю°шсър яЁш шэфхъёэ√ї яюыютшэърї _reg
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,шэфхъёэ√х яюыютшэъш==ю°шсър
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
case _FMTPUTMHLRB: {err_rbix(); asmbyte((_reg>>0x03)+0x70); goto loop;} //<ld><(><rp(==HL)><)><comma><_reg><writeputmhlrb> - hl эхяюфьхэ хь√щ!!! шэфхъёэ√х яюыютшэъш==ю°шсър
case _FMTPUTMHLN: {asmbyte(0x36); asmbytepopvalue(); goto loop;} //<ld><(><rp(==HL)><)><comma><num>LH<writeputmhlN> - hl эхяюфьхэ хь√щ!!!
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,шэфхъёэ√х яюыютшэъш==ю°шсър
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
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
case _FMTPUTMNNA: {asmbyte(0x32); asmwordpopvalue(); goto loop;} //<ld><(><num>LH<)><comma><_reg(==A)><writeputmNNa> - ръъєьєы ЄюЁ эхяюфьхэ хь√щ!!!
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
case _FMTALUCMDN: {asmbyte(_base+0x46); asmbytepopvalue(); goto loop;} //<sbc><_reg(==A)><comma><num>LH<writealucmdN> - ръъєьєы ЄюЁ эхяюфьхэ хь√щ!!! ЇюЁьрЄ (┴└╟└1) яш°хЄ dd/fd яЁш шёяюы№чютрэшш шэфхъёэющ яюыютшэъш ш яхЁхёўшЄ√трхЄ х╕ т h/l
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
case _FMTALUCMDMHL: {asmbyte(_base+0x06); goto loop;} //<sbc><_reg(==A)><comma><(><rp(==HL)><)><writealucmdmhl> - ръъєь.эхяюфьхэ хь√щ! hl Єюцх
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
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 - ю°шсър)
case _FMTADCHLRP: {err_rpix(); asmbyte_ed(); asmbyte(_reg+0x4a); goto loop;} //<adc><rp(==HL)><comma><rp><writeadchlrp> - ЇюЁьрЄ яЁютхЁ хЄ rp (ix/iy - ю°шсър)
case _FMTSBCHLRP: {err_rpix(); asmbyte_ed(); asmbyte(_reg+0x42); goto loop;} //<sbc><rp(==HL)><comma><rp><writesbchlrp> - ЇюЁьрЄ яЁютхЁ хЄ rp (ix/iy - ю°шсър)
case _FMTINCRP: {asmcheckrp_ixiyprefix(); asmbyte(_reg+0x03); goto loop;} //ьюцэю ўхЁхч яЁютхЁъє ъюфр ЁхушёЄЁр т inc (шэфхъёэ√х яюыютшэъш яЁютхЁ хь)
case _FMTDECRP: {asmcheckrp_ixiyprefix(); asmbyte(_reg+0x0b); goto loop;} //ьюцэю ўхЁхч яЁютхЁъє ъюфр ЁхушёЄЁр т dec (шэфхъёэ√х яюыютшэъш яЁютхЁ хь) (шыш ўхЁхч тЄюЁє■ срчє writedecrp==writeincrp?)
case _FMTINCDECRB: {asmcheckrb_ixiyprefix();/**IF (_reg>=_ASMRBIXADD)asmrb_ixiyprefix();*/ asmbyte(_base+_reg); goto loop;}
case _FMTINCDECMHL: {asmbyte(_base+0x30); goto loop;}
case _FMTINCDECIDX: {asmrp_ixiyprefix(); asmbyte(_base+0x30); asmdisppopvalue(); goto loop;}
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>
case _FMTJRDD: {asmbyte(_base); asmdisp((INT)((UINT)asmpopvalue()-((_curaddr+_curshift)+1))); goto loop;} //<jr><cc><comma><num>LH<writejr> - яш°хЄ ёьх∙хэшх юЄ $ ш юЄёыхцштрхЄ ю°шсъє - cc ьхэ хЄ срчє1 эр срчє2+8*cc
case _FMTJPNN: {asmbyte(_base); asmwordpopvalue(); goto loop;} //<call><cc><comma><num>LH<writejp> - cc ьхэ хЄ срчє1 эр срчє2+8*cc
case _FMTJPRP: {asmcheckrp_ixiyprefix(); IF (_reg!=_ASMRPCODE_HL)errwrongreg(); asmbyte(0xe9); goto loop;} //<jp><rp><writejprp> - ьюцэю шёяюы№чютрЄ№ ёъюсъш, юэш эш эр ўЄю эх сєфєЄ тыш Є№. ═рфю яЁютхЁшЄ№ rp ш т√фрЄ№ ю°шсъє - ьюцэю ўхЁхч textcmd?
case _FMTPUSHPOPRP: {asmcheckrp_ixiyprefix(); asmbyte(_base+_reg); goto loop;}
case _FMTCBCMDRB: {err_rbix(); asmbyte(0xcb); asmbyte((_reg>>0x03)+_base); goto loop;} //<rlc><_reg><writecbcmd> - ЇюЁьрЄ яЁютхЁ хЄ _reg (шэфхъёэ√х яюыютшэъш - ю°шсър) - ёрьр ъюьрэфр rlc ш Є.я. эх ьюцхЄ яшёрЄ№ яЁхЇшъё, Є.ъ. шэюуфр эрфю dd/fd, cb
case _FMTCBCMDMHL: {asmbyte(0xcb); asmbyte(_base+0x06); goto loop;} //<rlc><(><rp(==HL)><)><writecbcmdmhl> - hl эхяюфьхэ хь√щ!!! - ьюцэю ўхЁхч <writecbcmdindex>, хёыш яЁютхЁшЄ№ rp
case _FMTCBCMDIDX: {asmrp_ixiyprefix(); asmbyte(0xcb); asmdisppopvalue(); asmbyte(_base+0x06); goto loop;} //<rlc><(><rp(==IX/IY)><num>LH<)><writecbcmdindex> - ix/iy эхяюфьхэ хь√щ (шэрўх ЄюъхэшчрЄюЁ эх юяЁхфхышЄ ЇюЁьрЄ)!!! ЇюЁьрЄ яш°хЄ dd/fd, cb
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?
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 ш яЁшсрты хЄ ъ срчх юяъюфр
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)
case _FMTXX: {asmbyte(_base); goto loop;} //(эєцэю Єюы№ъю фы ret/ret cc ш ъюьрэф схч ярЁрьхЄЁют) - ьюцэю ўхЁхч writealucmd (т <ret> яЁшётюшЄ№ ЁхушёЄЁ), ьюцэю ret cc ўхЁхч textcmd шыш ўхЁхч writejp (хёыш т э╕ь эх сєфхЄ тёЄЁюхэр чряшё№ ўшёыр)
case _FMTOUTCRB: {err_rbix(); asmbyte_ed(); asmbyte(_reg+0x41); goto loop;} //out (c),_reg (ed 41+) - яЁютхЁ хЄ _reg (шэфхъёэ√х яюыютшэъш - ю°шсър)
case _FMTINRBC: {err_oldrbix(); asmbyte_ed(); asmbyte(_oldreg+0x40); goto loop;} //in _reg,(c) (ed 40+) - яЁютхЁ хЄ _oldreg (шэфхъёэ√х яюыютшэъш - ю°шсър)
case _RG_B: {_reg = _ASMRBCODE_B; goto loop;}
case _RG_C: {_reg = _ASMRBCODE_C; goto loop;}
case _RG_D: {_reg = _ASMRBCODE_D; goto loop;}
case _RG_E: {_reg = _ASMRBCODE_E; goto loop;}
case _RG_H: {_reg = _ASMRBCODE_H; goto loop;}
case _RG_L: {_reg = _ASMRBCODE_L; goto loop;}
case _RG_A: {_reg = _ASMRBCODE_A; goto loop;}
case _RG_HX:{_reg = _ASMRBCODE_HX; goto loop;}
case _RG_LX:{_reg = _ASMRBCODE_LX; goto loop;}
case _RG_HY:{_reg = _ASMRBCODE_HY; goto loop;}
case _RG_LY:{_reg = _ASMRBCODE_LY; goto loop;}
case _RG_I: {_reg = _ASMRBCODE_I; goto loop;}
case _RG_R: {_reg = _ASMRBCODE_R; goto loop;}
case _RG_BC: {_reg = _ASMRPCODE_BC; goto loop;}
case _RG_DE: {_reg = _ASMRPCODE_DE; goto loop;}
case _RG_HL: {_reg = _ASMRPCODE_HL; goto loop;}
case _RG_SP: {_reg = _ASMRPCODE_SP; goto loop;}
case _RG_AF: {_reg = _ASMRPCODE_AF; goto loop;}
case _RG_IX: {_reg = _ASMRPCODE_IX; goto loop;}
case _RG_IY: {_reg = _ASMRPCODE_IY; goto loop;}