www.pudn.com > DBG8051.rar > Dbgwykon.pas


unit DbgWykonaj; 
 
interface 
 
procedure RuszajSie; 
procedure Wykonaj; 
 
implementation 
 
uses WinTypes, WinProcs, Win31, DbgZmTypy, DbgAsm; 
 
{ runprog: 0 - nie wykonują się rozkazy         } 
{          1 - az do najblizszej pulapki        } 
{          2 - az do adresu w runto lub pulapki } 
{          3 - az do RET/RETI lub pulapki       } 
 
procedure RuszajSie; 
begin 
  Wykonaj; 
  if anim then OdrysujCoTrzeba; 
  if aktual then AktualizujWtyczki(OknoGlowne); 
  if (ZnajdzSymb(SymbBrk,WtoHEX(RejPC))<>-1) or 
     ((runprog=2) and (RejPC=runto)) or 
     ((runprog=3) and ((Mem[selROM:RejPC]=$22) or (Mem[selROM:RejPC]=$32))) then 
  begin 
    PostMessage(OknoGlowne,wm_Command,us_StopNow,0); 
    Exit; 
  end; 
end; 
 
procedure WypiszNaTerm; 
var a:word; 
begin 
  asm 
    push es 
    mov [a],ax 
  end; 
  if OknoTerm<>0 then 
    SendMessage(GetWindow(OknoTerm,gw_Child),wm_Command,us_OdebranoZnak,a); 
  Mem[selRAMInt:$98]:=Mem[selRAMInt:$98] or 2; {TI=1} 
end; 
 
procedure ZwiekszT0T1Przerw; forward; 
 
procedure Wykonaj; assembler; 
asm 
  mov   es,[selROM] 
  mov   ax,[selRAMInt] 
  dw    268eh,offset selRAMInt {mov fs,[selRAMInt]} 
  mov   cl,[bigmem]     {cl=1 - 256 bajtów RAMInt, cl=0 - 128 bajtów} 
  mov   si,[RejPC]      {Program Counter -> si} 
  mov   al,es:[si] 
  mov   bl,al 
  xor   bh,bh 
  push  bx              {zachowaj bajt rozkazu na stosie} 
  shl   bx,1 
  jmp   word ptr cs:[bx+offset @TabSkokow] 
 
@TabSkokow: 
  dw    offset  @s0, offset  @s1, offset  @s2, offset  @s3, offset  @s4, offset  @s5 
  dw    offset  @s6, offset  @s7, offset  @s8, offset  @s9, offset  @sa, offset  @sb 
  dw    offset  @sc, offset  @sd, offset  @se, offset  @sf, offset @s10, offset @s11 
  dw    offset @s12, offset @s13, offset @s14, offset @s15, offset @s16, offset @s17 
  dw    offset @s18, offset @s19, offset @s1a, offset @s1b, offset @s1c, offset @s1d 
  dw    offset @s1e, offset @s1f, offset @s20, offset @s21, offset @s22, offset @s23 
  dw    offset @s24, offset @s25, offset @s26, offset @s27, offset @s28, offset @s29 
  dw    offset @s2a, offset @s2b, offset @s2c, offset @s2d, offset @s2e, offset @s2f 
  dw    offset @s30, offset @s31, offset @s32, offset @s33, offset @s34, offset @s35 
  dw    offset @s36, offset @s37, offset @s38, offset @s39, offset @s3a, offset @s3b 
  dw    offset @s3c, offset @s3d, offset @s3e, offset @s3f, offset @s40, offset @s41 
  dw    offset @s42, offset @s43, offset @s44, offset @s45, offset @s46, offset @s47 
  dw    offset @s48, offset @s49, offset @s4a, offset @s4b, offset @s4c, offset @s4d 
  dw    offset @s4e, offset @s4f, offset @s50, offset @s51, offset @s52, offset @s53 
  dw    offset @s54, offset @s55, offset @s56, offset @s57, offset @s58, offset @s59 
  dw    offset @s5a, offset @s5b, offset @s5c, offset @s5d, offset @s5e, offset @s5f 
  dw    offset @s60, offset @s61, offset @s62, offset @s63, offset @s64, offset @s65 
  dw    offset @s66, offset @s67, offset @s68, offset @s69, offset @s6a, offset @s6b 
  dw    offset @s6c, offset @s6d, offset @s6e, offset @s6f, offset @s70, offset @s71 
  dw    offset @s72, offset @s73, offset @s74, offset @s75, offset @s76, offset @s77 
  dw    offset @s78, offset @s79, offset @s7a, offset @s7b, offset @s7c, offset @s7d 
  dw    offset @s7e, offset @s7f, offset @s80, offset @s81, offset @s82, offset @s83 
  dw    offset @s84, offset @s85, offset @s86, offset @s87, offset @s88, offset @s89 
  dw    offset @s8a, offset @s8b, offset @s8c, offset @s8d, offset @s8e, offset @s8f 
  dw    offset @s90, offset @s91, offset @s92, offset @s93, offset @s94, offset @s95 
  dw    offset @s96, offset @s97, offset @s98, offset @s99, offset @s9a, offset @s9b 
  dw    offset @s9c, offset @s9d, offset @s9e, offset @s9f, offset @sa0, offset @sa1 
  dw    offset @sa2, offset @sa3, offset @sa4, offset @sa5, offset @sa6, offset @sa7 
  dw    offset @sa8, offset @sa9, offset @saa, offset @sab, offset @sac, offset @sad 
  dw    offset @sae, offset @saf, offset @sb0, offset @sb1, offset @sb2, offset @sb3 
  dw    offset @sb4, offset @sb5, offset @sb6, offset @sb7, offset @sb8, offset @sb9 
  dw    offset @sba, offset @sbb, offset @sbc, offset @sbd, offset @sbe, offset @sbf 
  dw    offset @sc0, offset @sc1, offset @sc2, offset @sc3, offset @sc4, offset @sc5 
  dw    offset @sc6, offset @sc7, offset @sc8, offset @sc9, offset @sca, offset @scb 
  dw    offset @scc, offset @scd, offset @sce, offset @scf, offset @sd0, offset @sd1 
  dw    offset @sd2, offset @sd3, offset @sd4, offset @sd5, offset @sd6, offset @sd7 
  dw    offset @sd8, offset @sd9, offset @sda, offset @sdb, offset @sdc, offset @sdd 
  dw    offset @sde, offset @sdf, offset @se0, offset @se1, offset @se2, offset @se3 
  dw    offset @se4, offset @se5, offset @se6, offset @se7, offset @se8, offset @se9 
  dw    offset @sea, offset @seb, offset @sec, offset @sed, offset @see, offset @sef 
  dw    offset @sf0, offset @sf1, offset @sf2, offset @sf3, offset @sf4, offset @sf5 
  dw    offset @sf6, offset @sf7, offset @sf8, offset @sf9, offset @sfa, offset @sfb 
  dw    offset @sfc, offset @sfd, offset @sfe, offset @sff 
 
@TabBitow:              { MSB: maska bitu, LSB: adres bajtu } 
  dw    120h,220h,420h,820h,1020h,2020h,4020h,8020h,121h,221h,421h,821h,1021h,2021h,4021h,8021h 
  dw    122h,222h,422h,822h,1022h,2022h,4022h,8022h,123h,223h,423h,823h,1023h,2023h,4023h,8023h 
  dw    124h,224h,424h,824h,1024h,2024h,4024h,8024h,125h,225h,425h,825h,1025h,2025h,4025h,8025h 
  dw    126h,226h,426h,826h,1026h,2026h,4026h,8026h,127h,227h,427h,827h,1027h,2027h,4027h,8027h 
  dw    128h,228h,428h,828h,1028h,2028h,4028h,8028h,129h,229h,429h,829h,1029h,2029h,4029h,8029h 
  dw    12ah,22ah,42ah,82ah,102ah,202ah,402ah,802ah,12bh,22bh,42bh,82bh,102bh,202bh,402bh,802bh 
  dw    12ch,22ch,42ch,82ch,102ch,202ch,402ch,802ch,12dh,22dh,42dh,82dh,102dh,202dh,402dh,802dh 
  dw    12eh,22eh,42eh,82eh,102eh,202eh,402eh,802eh,12fh,22fh,42fh,82fh,102fh,202fh,402fh,802fh 
  dw    180h,280h,480h,880h,1080h,2080h,4080h,8080h,188h,288h,488h,888h,1088h,2088h,4088h,8088h 
  dw    190h,290h,490h,890h,1090h,2090h,4090h,8090h,198h,298h,498h,898h,1098h,2098h,4098h,8098h 
  dw    1a0h,2a0h,4a0h,8a0h,10a0h,20a0h,40a0h,80a0h,1a8h,2a8h,4a8h,8a8h,10a8h,20a8h,40a8h,80a8h 
  dw    1b0h,2b0h,4b0h,8b0h,10b0h,20b0h,40b0h,80b0h,1b8h,2b8h,4b8h,8b8h,10b8h,20b8h,40b8h,80b8h 
  dw    1c0h,2c0h,4c0h,8c0h,10c0h,20c0h,40c0h,80c0h,1c8h,2c8h,4c8h,8c8h,10c8h,20c8h,40c8h,80c8h 
  dw    1d0h,2d0h,4d0h,8d0h,10d0h,20d0h,40d0h,80d0h,1d8h,2d8h,4d8h,8d8h,10d8h,20d8h,40d8h,80d8h 
  dw    1e0h,2e0h,4e0h,8e0h,10e0h,20e0h,40e0h,80e0h,1e8h,2e8h,4e8h,8e8h,10e8h,20e8h,40e8h,80e8h 
  dw    1f0h,2f0h,4f0h,8f0h,10f0h,20f0h,40f0h,80f0h,1f8h,2f8h,4f8h,8f8h,10f8h,20f8h,40f8h,80f8h 
 
@s0: { NOP } 
  mov   al,1 
  jmp   @Koniec 
@s1: { AJMP xxxx } 
  shr   al,5 
  mov   ah,es:[si+1] 
  xchg  ah,al 
  add   si,2 
  and   si,0f800h 
  add   ax,si 
  mov   [RejPC],ax 
  xor   al,al 
  jmp   @Koniec 
@s2: { LJMP xxxx } 
  mov   ax,es:[si+1] 
  xchg  ah,al 
  mov   [RejPC],ax 
  xor   al,al 
  jmp   @Koniec 
@s3: { RR A } 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  ror   al,1 
  db    64h             {fs:} 
  mov   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s4: { INC A } 
  db    64h             {fs:} 
  inc   byte ptr [0e0h] 
  mov   al,1 
  jmp   @Koniec 
@s5: { INC reg } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  inc   byte ptr [bx] 
  mov   al,2 
  jmp   @Koniec 
@s6: { INC @R0 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx] 
  or    cl,cl           {bigmem?} 
  jz    @s6_1 
  cmp   bx,128          {adres>=128?} 
  jb    @s6_1 
  add   bx,128          {adres=adres+128} 
@s6_1: 
  db    64h             {fs:} 
  inc   byte ptr [bx] 
  mov   al,1 
  jmp   @Koniec 
@s7: { INC @R1 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx+1] 
  or    cl,cl           {bigmem?} 
  jz    @s7_1 
  cmp   bx,128          {adres>=128?} 
  jb    @s7_1 
  add   bx,128          {adres=adres+128} 
@s7_1: 
  db    64h             {fs:} 
  inc   byte ptr [bx] 
  mov   al,1 
  jmp   @Koniec 
@s8: { INC R0 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  inc   byte ptr [bx] 
  mov   al,1 
  jmp   @Koniec 
@s9: { INC R1 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  inc   byte ptr [bx+1] 
  mov   al,1 
  jmp   @Koniec 
@sa: { INC R2 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  inc   byte ptr [bx+2] 
  mov   al,1 
  jmp   @Koniec 
@sb: { INC R3 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  inc   byte ptr [bx+3] 
  mov   al,1 
  jmp   @Koniec 
@sc: { INC R4 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  inc   byte ptr [bx+4] 
  mov   al,1 
  jmp   @Koniec 
@sd: { INC R5 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  inc   byte ptr [bx+5] 
  mov   al,1 
  jmp   @Koniec 
@se: { INC R6 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  inc   byte ptr [bx+6] 
  mov   al,1 
  jmp   @Koniec 
@sf: { INC R7 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  inc   byte ptr [bx+7] 
  mov   al,1 
  jmp   @Koniec 
@s10: { JBC bit,rel } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  shl   bx,1 
  mov   ax,cs:[bx+offset @TabBitow] 
  mov   bl,al 
  xor   bh,bh 
  mov   al,3 
  db    64h             {fs:} 
  test  byte ptr [bx],ah 
  jz    @Koniec 
  db    64h             {fs:} 
  xor   byte ptr [bx],ah 
  db    26h,0Fh,0BEh,5Ch,2   {movsx bx,byte ptr es:[si+2]} 
  add   si,3 
  add   si,bx 
  mov   [RejPC],si 
  xor   al,al 
  jmp   @Koniec 
@s11: { ACALL xxxx } 
  add   si,2 
  {PUSH PC ->} 
  mov   dx,si 
  db    64h             {fs:} 
  mov   bl,[81h]        {SP} 
  inc   bl 
  xor   bh,bh 
  or    cl,cl           {bigmem?} 
  jz    @s11_1 
  cmp   bx,128          {adres>=128?} 
  jb    @s11_1 
  add   bx,128          {adres=adres+128} 
@s11_1: 
  db    64h             {fs:} 
  mov   [bx],dl         {mlodszy bajt PC na stos} 
  cmp   bx,256 
  jb    @s11_2 
  sub   bx,128          {cofamy sie do normalnego, 8-bitowego adresu} 
@s11_2: 
  inc   bl 
  or    cl,cl           {bigmem?} 
  jz    @s11_3 
  cmp   bx,128          {adres>=128?} 
  jb    @s11_3 
  add   bx,128          {adres=adres+128} 
@s11_3: 
  db    64h             {fs:} 
  mov   [bx],dh         {starszy bajt PC na stos} 
  db    64h             {fs:} 
  add   byte ptr [81h],2 
  {<- PUSH PC} 
  shr   al,5 
  mov   ah,es:[si-1] 
  xchg  ah,al 
  and   si,0f800h 
  add   ax,si 
  mov   [RejPC],ax 
  xor   al,al 
  jmp   @Koniec 
@s12: { LCALL xxxx } 
  add   si,3 
  {PUSH PC ->} 
  mov   dx,si 
  db    64h             {fs:} 
  mov   bl,[81h]        {SP} 
  inc   bl 
  xor   bh,bh 
  or    cl,cl           {bigmem?} 
  jz    @s12_1 
  cmp   bx,128          {adres>=128?} 
  jb    @s12_1 
  add   bx,128          {adres=adres+128} 
@s12_1: 
  db    64h             {fs:} 
  mov   [bx],dl         {mlodszy bajt PC na stos} 
  cmp   bx,256 
  jb    @s12_2 
  sub   bx,128          {cofamy sie do normalnego, 8-bitowego adresu} 
@s12_2: 
  inc   bl 
  or    cl,cl           {bigmem?} 
  jz    @s12_3 
  cmp   bx,128          {adres>=128?} 
  jb    @s12_3 
  add   bx,128          {adres=adres+128} 
@s12_3: 
  db    64h             {fs:} 
  mov   [bx],dh         {starszy bajt PC na stos} 
  db    64h             {fs:} 
  add   byte ptr [81h],2 
  {<- PUSH PC} 
  mov   ax,es:[si-2] 
  xchg  ah,al 
  mov   [RejPC],ax 
  xor   al,al 
  jmp   @Koniec 
@s13: { RRC A } 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  rcr   al,1 
  db    64h             {fs:} 
  mov   [0e0h],al 
  jc    @s13ustaw 
  db    64h             {fs:} 
  and   byte ptr [0d0h],7fh   {zeruj CY} 
  mov   al,1 
  jmp   @Koniec 
@s13ustaw: 
  db    64h             {fs:} 
  or    byte ptr [0d0h],80h   {ustaw CY} 
  mov   al,1 
  jmp   @Koniec 
@s14: { DEC A } 
  db    64h             {fs:} 
  dec   byte ptr [0e0h] 
  mov   al,1 
  jmp   @Koniec 
@s15: { DEC reg } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  dec   byte ptr [bx] 
  mov   al,2 
  jmp   @Koniec 
@s16: { DEC @R0 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx] 
  or    cl,cl           {bigmem?} 
  jz    @s16_1 
  cmp   bx,128          {adres>=128?} 
  jb    @s16_1 
  add   bx,128          {adres=adres+128} 
@s16_1: 
  db    64h             {fs:} 
  dec   byte ptr [bx] 
  mov   al,1 
  jmp   @Koniec 
@s17: { DEC @R1 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx+1] 
  or    cl,cl           {bigmem?} 
  jz    @s17_1 
  cmp   bx,128          {adres>=128?} 
  jb    @s17_1 
  add   bx,128          {adres=adres+128} 
@s17_1: 
  db    64h             {fs:} 
  dec   byte ptr [bx] 
  mov   al,1 
  jmp   @Koniec 
@s18: { DEC R0 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  dec   byte ptr [bx] 
  mov   al,1 
  jmp   @Koniec 
@s19: { DEC R1 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  dec   byte ptr [bx+1] 
  mov   al,1 
  jmp   @Koniec 
@s1a: { DEC R2 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  dec   byte ptr [bx+2] 
  mov   al,1 
  jmp   @Koniec 
@s1b: { DEC R3 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  dec   byte ptr [bx+3] 
  mov   al,1 
  jmp   @Koniec 
@s1c: { DEC R4 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  dec   byte ptr [bx+4] 
  mov   al,1 
  jmp   @Koniec 
@s1d: { DEC R5 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  dec   byte ptr [bx+5] 
  mov   al,1 
  jmp   @Koniec 
@s1e: { DEC R6 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  dec   byte ptr [bx+6] 
  mov   al,1 
  jmp   @Koniec 
@s1f: { DEC R7 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  dec   byte ptr [bx+7] 
  mov   al,1 
  jmp   @Koniec 
@s20: { JB bit,rel } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  shl   bx,1 
  mov   ax,cs:[bx+offset @TabBitow] 
  mov   bl,al 
  xor   bh,bh 
  mov   al,3 
  db    64h             {fs:} 
  test  byte ptr [bx],ah 
  jz    @Koniec 
  db    26h,0Fh,0BEh,5Ch,2   {movsx bx,byte ptr es:[si+2]} 
  add   si,3 
  add   si,bx 
  mov   [RejPC],si 
  xor   al,al 
  jmp   @Koniec 
@s21: { AJMP xxxx } 
  jmp   @s1 
@s22: { RET } 
  db    64h             {fs:} 
  mov   bl,[81h]        {SP} 
  xor   bh,bh 
  dec   bl 
  or    cl,cl           {bigmem?} 
  jz    @s22_1 
  cmp   bx,128          {adres>=128?} 
  jb    @s22_1 
  add   bx,128          {adres=adres+128} 
@s22_1: 
  db    64h             {fs:} 
  mov   al,[bx]         {pobieramy mlodszy bajt PC ze stosu} 
  cmp   bx,256 
  jb    @s22_2 
  sub   bx,128          {cofamy sie do normalnego adresu} 
@s22_2: 
  inc   bl 
  or    cl,cl           {bigmem?} 
  jz    @s22_3 
  cmp   bx,128          {adres>=128?} 
  jb    @s22_3 
  add   bx,128          {adres=adres+128} 
@s22_3: 
  db    64h             {fs:} 
  mov   ah,[bx]         {pobieramy starszy bajt PC ze stosu} 
  db    64h             {fs:} 
  sub   byte ptr [81h],2 
  mov   [RejPC],ax 
  xor   al,al 
  jmp   @Koniec 
@s23: { RL A } 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  rol   al,1 
  db    64h             {fs:} 
  mov   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s24: { ADD A,#nn } 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  add   al,byte ptr es:[si+1] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  mov   al,2 
  jmp   @Flagi 
@s25: { ADD A,reg } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h             {fs:} 
  add   [0e0h],al 
  mov   al,2 
  jmp   @Flagi 
@s26: { ADD A,@R0 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx]         {w BL zawartosc R0} 
  or    cl,cl           {bigmem?} 
  jz    @s26_1 
  cmp   bx,128          {adres>=128?} 
  jb    @s26_1 
  add   bx,128          {adres=adres+128} 
@s26_1: 
  db    64h             {fs:} 
  mov   al,[bx]         {w AL zawartosc @R0} 
  db    64h             {fs:} 
  add   [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s27: { ADD A,@R1 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx+1]       {w BL zawartosc R1} 
  or    cl,cl           {bigmem?} 
  jz    @s27_1 
  cmp   bx,128          {adres>=128?} 
  jb    @s27_1 
  add   bx,128          {adres=adres+128} 
@s27_1: 
  db    64h             {fs:} 
  mov   al,[bx]         {w AL zawartosc @R1} 
  db    64h             {fs:} 
  add   [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s28: { ADD A,R0 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx]         {w AL zawartosc R0} 
  db    64h             {fs:} 
  add   [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s29: { ADD A,R1 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+1]       {w AL zawartosc R1} 
  db    64h             {fs:} 
  add   [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s2a: { ADD A,R2 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+2]       {w AL zawartosc R2} 
  db    64h             {fs:} 
  add   [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s2b: { ADD A,R3 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+3]       {w AL zawartosc R3} 
  db    64h             {fs:} 
  add   [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s2c: { ADD A,R4 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+4]       {w AL zawartosc R4} 
  db    64h             {fs:} 
  add   [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s2d: { ADD A,R5 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+5]       {w AL zawartosc R5} 
  db    64h             {fs:} 
  add   [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s2e: { ADD A,R6 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+6]       {w AL zawartosc R6} 
  db    64h             {fs:} 
  add   [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s2f: { ADD A,R7 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+7]       {w AL zawartosc R7} 
  db    64h             {fs:} 
  add   [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s30: { JNB bit,rel } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  shl   bx,1 
  mov   ax,cs:[bx+offset @TabBitow] 
  mov   bl,al 
  xor   bh,bh 
  mov   al,3 
  db    64h             {fs:} 
  test  byte ptr [bx],ah 
  jnz   @Koniec 
  db    26h,0Fh,0BEh,5Ch,2   {movsx bx,byte ptr es:[si+2]} 
  add   si,3 
  add   si,bx 
  mov   [RejPC],si 
  xor   al,al 
  jmp   @Koniec 
@s31: { ACALL xxxx } 
  jmp   @s11 
@s32: { RETI } 
  xor   bl,bl 
  cmp   [intflipflop],3 {przerzutniki aktywnego poziomu przerwania} 
  jne   @s32_2 
  mov   bl,1 
@s32_2: 
  mov   [intflipflop],bl 
  jmp   @s22            {skok do obslugi RET} 
@s33: { RLC A } 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  rcl   al,1 
  db    64h             {fs:} 
  mov   [0e0h],al 
  jc    @s33ustaw 
  db    64h             {fs:} 
  and   byte ptr [0d0h],7fh   {zeruj CY} 
  mov   al,1 
  jmp   @Koniec 
@s33ustaw: 
  db    64h             {fs:} 
  or    byte ptr [0d0h],80h   {ustaw CY} 
  mov   al,1 
  jmp   @Koniec 
@s34: { ADDC A,#nn } 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  adc   al,byte ptr es:[si+1] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  mov   al,2 
  jmp   @Flagi 
@s35: { ADDC A,reg } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  adc   [0e0h],al 
  mov   al,2 
  jmp   @Flagi 
@s36: { ADDC A,@R0 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx]         {w BL zawartosc R0} 
  or    cl,cl           {bigmem?} 
  jz    @s36_1 
  cmp   bx,128          {adres>=128?} 
  jb    @s36_1 
  add   bx,128          {adres=adres+128} 
@s36_1: 
  db    64h             {fs:} 
  mov   al,[bx]         {w AL zawartosc @R0} 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  adc   [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s37: { ADDC A,@R1 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx+1]       {w BL zawartosc R1} 
  or    cl,cl           {bigmem?} 
  jz    @s37_1 
  cmp   bx,128          {adres>=128?} 
  jb    @s37_1 
  add   bx,128          {adres=adres+128} 
@s37_1: 
  db    64h             {fs:} 
  mov   al,[bx]         {w AL zawartosc @R1} 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  adc   [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s38: { ADDC A,R0 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx]         {w AL zawartosc R0} 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  adc   [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s39: { ADDC A,R1 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+1]       {w AL zawartosc R1} 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  adc   [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s3a: { ADDC A,R2 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+2]       {w AL zawartosc R2} 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  adc   [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s3b: { ADDC A,R3 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+3]       {w AL zawartosc R3} 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  adc   [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s3c: { ADDC A,R4 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+4]       {w AL zawartosc R4} 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  adc   [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s3d: { ADDC A,R5 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+5]       {w AL zawartosc R5} 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  adc   [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s3e: { ADDC A,R6 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+6]       {w AL zawartosc R6} 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  adc   [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s3f: { ADDC A,R7 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+7]       {w AL zawartosc R7} 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  adc   [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s40: { JC rel } 
  mov   al,2 
  db    64h             {fs:} 
  test  byte ptr [0d0h],80h   {PSW,CY} 
  jz    @Koniec 
  db    26h,0Fh,0BEh,5Ch,1   {movsx bx,byte ptr es:[si+1]} 
  add   si,2 
  add   si,bx 
  mov   [RejPC],si 
  xor   al,al 
  jmp   @Koniec 
@s41: { AJMP xxxx } 
  jmp   @s1 
@s42: { ORL reg,A } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  db    64h             {fs:} 
  or    [bx],al 
  mov   al,2 
  jmp   @Koniec 
@s43: { ORL reg,#nn } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  mov   al,es:[si+2] 
  db    64h             {fs:} 
  or    [bx],al 
  mov   al,3 
  jmp   @Koniec 
@s44: { ORL A,#nn } 
  mov   al,es:[si+1] 
  db    64h             {fs:} 
  or    [0e0h],al 
  mov   al,2 
  jmp   @Koniec 
@s45: { ORL A,reg } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h             {fs:} 
  or    [0e0h],al 
  mov   al,2 
  jmp   @Koniec 
@s46: { ORL A,@R0 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx]         {w BL zawartosc R0} 
  or    cl,cl           {bigmem?} 
  jz    @s46_1 
  cmp   bx,128          {adres>=128?} 
  jb    @s46_1 
  add   bx,128          {adres=adres+128} 
@s46_1: 
  db    64h             {fs:} 
  mov   al,[bx]         {w AL zawartosc @R0} 
  db    64h             {fs:} 
  or    [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s47: { ORL A,@R1 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx+1]       {w BL zawartosc R1} 
  or    cl,cl           {bigmem?} 
  jz    @s47_1 
  cmp   bx,128          {adres>=128?} 
  jb    @s47_1 
  add   bx,128          {adres=adres+128} 
@s47_1: 
  db    64h             {fs:} 
  mov   al,[bx]         {w AL zawartosc @R1} 
  db    64h             {fs:} 
  or    [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s48: { ORL A,R0 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx]         {w AL zawartosc R0} 
  db    64h             {fs:} 
  or    [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s49: { ORL A,R1 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+1]       {w AL zawartosc R1} 
  db    64h             {fs:} 
  or    [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s4a: { ORL A,R2 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+2]       {w AL zawartosc R2} 
  db    64h             {fs:} 
  or    [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s4b: { ORL A,R3 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+3]       {w AL zawartosc R3} 
  db    64h             {fs:} 
  or    [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s4c: { ORL A,R4 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+4]       {w AL zawartosc R4} 
  db    64h             {fs:} 
  or    [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s4d: { ORL A,R5 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+5]       {w AL zawartosc R5} 
  db    64h             {fs:} 
  or    [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s4e: { ORL A,R6 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+6]       {w AL zawartosc R6} 
  db    64h             {fs:} 
  or    [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s4f: { ORL A,R7 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+7]       {w AL zawartosc R7} 
  db    64h             {fs:} 
  or    [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s50: { JNC rel } 
  mov   al,2 
  db    64h             {fs:} 
  test  byte ptr [0d0h],80h   {PSW,CY} 
  jnz   @Koniec 
  db    26h,0Fh,0BEh,5Ch,1   {movsx bx,byte ptr es:[si+1]} 
  add   si,2 
  add   si,bx 
  mov   [RejPC],si 
  xor   al,al 
  jmp   @Koniec 
@s51: { ACALL xxxx } 
  jmp   @s11 
@s52: { ANL reg,A } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  db    64h             {fs:} 
  and   [bx],al 
  mov   al,2 
  jmp   @Koniec 
@s53: { ANL reg,#nn } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  mov   al,es:[si+2] 
  db    64h             {fs:} 
  and   [bx],al 
  mov   al,3 
  jmp   @Koniec 
@s54: { ANL A,#nn } 
  mov   al,es:[si+1] 
  db    64h             {fs:} 
  and   [0e0h],al 
  mov   al,2 
  jmp   @Koniec 
@s55: { ANL A,reg } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h             {fs:} 
  and   [0e0h],al 
  mov   al,2 
  jmp   @Koniec 
@s56: { ANL A,@R0 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx]         {w BL zawartosc R0} 
  or    cl,cl           {bigmem?} 
  jz    @s56_1 
  cmp   bx,128          {adres>=128?} 
  jb    @s56_1 
  add   bx,128          {adres=adres+128} 
@s56_1: 
  db    64h             {fs:} 
  mov   al,[bx]         {w AL zawartosc @R0} 
  db    64h             {fs:} 
  and   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s57: { ANL A,@R1 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx+1]       {w BL zawartosc R1} 
  or    cl,cl           {bigmem?} 
  jz    @s57_1 
  cmp   bx,128          {adres>=128?} 
  jb    @s57_1 
  add   bx,128          {adres=adres+128} 
@s57_1: 
  db    64h             {fs:} 
  mov   al,[bx]         {w AL zawartosc @R1} 
  db    64h             {fs:} 
  and   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s58: { ANL A,R0 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx]         {w AL zawartosc R0} 
  db    64h             {fs:} 
  and   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s59: { ANL A,R1 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+1]       {w AL zawartosc R1} 
  db    64h             {fs:} 
  and   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s5a: { ANL A,R2 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+2]       {w AL zawartosc R2} 
  db    64h             {fs:} 
  and   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s5b: { ANL A,R3 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+3]       {w AL zawartosc R3} 
  db    64h             {fs:} 
  and   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s5c: { ANL A,R4 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+4]       {w AL zawartosc R4} 
  db    64h             {fs:} 
  and   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s5d: { ANL A,R5 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+5]       {w AL zawartosc R5} 
  db    64h             {fs:} 
  and   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s5e: { ANL A,R6 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+6]       {w AL zawartosc R6} 
  db    64h             {fs:} 
  and   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s5f: { ANL A,R7 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+7]       {w AL zawartosc R7} 
  db    64h             {fs:} 
  and   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s60: { JZ rel } 
  mov   al,2 
  db    64h             {fs:} 
  or    byte ptr [0e0h],0 
  jnz   @Koniec 
  db    26h,0Fh,0BEh,5Ch,1   {movsx bx,byte ptr es:[si+1]} 
  add   si,2 
  add   si,bx 
  mov   [RejPC],si 
  xor   al,al 
  jmp   @Koniec 
@s61: { AJMP xxxx } 
  jmp   @s1 
@s62: { XRL reg,A } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  db    64h             {fs:} 
  xor   [bx],al 
  mov   al,2 
  jmp   @Koniec 
@s63: { XRL reg,#nn } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  mov   al,es:[si+2] 
  db    64h             {fs:} 
  xor   [bx],al 
  mov   al,3 
  jmp   @Koniec 
@s64: { XRL A,#nn } 
  mov   al,es:[si+1] 
  db    64h             {fs:} 
  xor   [0e0h],al 
  mov   al,2 
  jmp   @Koniec 
@s65: { XRL A,reg } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h             {fs:} 
  xor   [0e0h],al 
  mov   al,2 
  jmp   @Koniec 
@s66: { XRL A,@R0 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx]         {w BL zawartosc R0} 
  or    cl,cl           {bigmem?} 
  jz    @s66_1 
  cmp   bx,128          {adres>=128?} 
  jb    @s66_1 
  add   bx,128          {adres=adres+128} 
@s66_1: 
  db    64h             {fs:} 
  mov   al,[bx]         {w AL zawartosc @R0} 
  db    64h             {fs:} 
  xor   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s67: { XRL A,@R1 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx+1]       {w BL zawartosc R1} 
  or    cl,cl           {bigmem?} 
  jz    @s67_1 
  cmp   bx,128          {adres>=128?} 
  jb    @s67_1 
  add   bx,128          {adres=adres+128} 
@s67_1: 
  db    64h             {fs:} 
  mov   al,[bx]         {w AL zawartosc @R1} 
  db    64h             {fs:} 
  xor   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s68: { XRL A,R0 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx]         {w AL zawartosc R0} 
  db    64h             {fs:} 
  xor   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s69: { XRL A,R1 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+1]       {w AL zawartosc R1} 
  db    64h             {fs:} 
  xor   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s6a: { XRL A,R2 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+2]       {w AL zawartosc R2} 
  db    64h             {fs:} 
  xor   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s6b: { XRL A,R3 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+3]       {w AL zawartosc R3} 
  db    64h             {fs:} 
  xor   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s6c: { XRL A,R4 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+4]       {w AL zawartosc R4} 
  db    64h             {fs:} 
  xor   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s6d: { XRL A,R5 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+5]       {w AL zawartosc R5} 
  db    64h             {fs:} 
  xor   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s6e: { XRL A,R6 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+6]       {w AL zawartosc R6} 
  db    64h             {fs:} 
  xor   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s6f: { XRL A,R7 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+7]       {w AL zawartosc R7} 
  db    64h             {fs:} 
  xor   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s70: { JNZ rel } 
  mov   al,2 
  db    64h             {fs:} 
  or    byte ptr [0e0h],0 
  jz    @Koniec 
  db    26h,0Fh,0BEh,5Ch,1   {movsx bx,byte ptr es:[si+1]} 
  add   si,2 
  add   si,bx 
  mov   [RejPC],si 
  xor   al,al 
  jmp   @Koniec 
@s71: { ACALL xxxx } 
  jmp   @s11 
@s72: { ORL C,bit } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  shl   bx,1 
  mov   ax,cs:[bx+offset @TabBitow] 
  mov   bl,al 
  xor   bh,bh 
  mov   al,2 
  db    64h             {fs:} 
  test  byte ptr [bx],ah 
  jz    @Koniec 
  db    64h             {fs:} 
  or    byte ptr [0d0h],80h   {CY=1} 
  jmp   @Koniec 
@s73: { JMP @A+DPTR } 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  xor   ah,ah 
  db    64h             {fs:} 
  add   ax,[82h]        {DPTR} 
  mov   [RejPC],ax 
  xor   al,al 
  jmp   @Koniec 
@s74: { MOV A,#nn } 
  mov   al,es:[si+1] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  mov   al,2 
  jmp   @Koniec 
@s75: { MOV reg,#nn } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  mov   al,es:[si+2] 
  cmp   bx,99h          {SBUF?} 
  jne   @s75_1 
  call  WypiszNaTerm 
  mov   al,3 
  jmp   @Koniec 
@s75_1: 
  db    64h             {fs:} 
  mov   [bx],al 
  mov   al,3 
  jmp   @Koniec 
@s76: { MOV @R0,#nn } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx]         {w BX zawartosc R0} 
  or    cl,cl           {bigmem?} 
  jz    @s76_1 
  cmp   bx,128          {adres>=128?} 
  jb    @s76_1 
  add   bx,128          {adres=adres+128} 
@s76_1: 
  mov   al,es:[si+1] 
  db    64h             {fs:} 
  mov   [bx],al 
  mov   al,2 
  jmp   @Koniec 
@s77: { MOV @R1,#nn } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx+1]       {w BX zawartosc R1} 
  or    cl,cl           {bigmem?} 
  jz    @s77_1 
  cmp   bx,128          {adres>=128?} 
  jb    @s77_1 
  add   bx,128          {adres=adres+128} 
@s77_1: 
  mov   al,es:[si+1] 
  db    64h             {fs:} 
  mov   [bx],al 
  mov   al,2 
  jmp   @Koniec 
@s78: { MOV R0,#nn } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  mov   al,es:[si+1] 
  db    64h             {fs:} 
  mov   [bx],al 
  mov   al,2 
  jmp   @Koniec 
@s79: { MOV R1,#nn } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  mov   al,es:[si+1] 
  db    64h             {fs:} 
  mov   [bx+1],al 
  mov   al,2 
  jmp   @Koniec 
@s7a: { MOV R2,#nn } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  mov   al,es:[si+1] 
  db    64h             {fs:} 
  mov   [bx+2],al 
  mov   al,2 
  jmp   @Koniec 
@s7b: { MOV R3,#nn } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  mov   al,es:[si+1] 
  db    64h             {fs:} 
  mov   [bx+3],al 
  mov   al,2 
  jmp   @Koniec 
@s7c: { MOV R4,#nn } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  mov   al,es:[si+1] 
  db    64h             {fs:} 
  mov   [bx+4],al 
  mov   al,2 
  jmp   @Koniec 
@s7d: { MOV R5,#nn } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  mov   al,es:[si+1] 
  db    64h             {fs:} 
  mov   [bx+5],al 
  mov   al,2 
  jmp   @Koniec 
@s7e: { MOV R6,#nn } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  mov   al,es:[si+1] 
  db    64h             {fs:} 
  mov   [bx+6],al 
  mov   al,2 
  jmp   @Koniec 
@s7f: { MOV R7,#nn } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  mov   al,es:[si+1] 
  db    64h             {fs:} 
  mov   [bx+7],al 
  mov   al,2 
  jmp   @Koniec 
@s80: { SJMP xxxx } 
  db    26h,0Fh,0BEh,5Ch,1  {movsx bx,byte ptr es:[si+1]} 
  add   si,2 
  add   si,bx 
  mov   [RejPC],si 
  xor   al,al 
  jmp   @Koniec 
@s81: { AJMP xxxx } 
  jmp   @s1 
@s82: { ANL C,bit } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  shl   bx,1 
  mov   ax,cs:[bx+offset @TabBitow] 
  mov   bl,al 
  xor   bh,bh 
  mov   al,2 
  db    64h             {fs:} 
  test  byte ptr [bx],ah 
  jnz   @Koniec 
  db    64h             {fs:} 
  and   byte ptr [0d0h],7fh   {CY=0} 
  jmp   @Koniec 
@s83: { MOVC A,@A+PC } 
  inc   si 
  db    64h             {fs:} 
  mov   bl,[0e0h] 
  xor   bh,bh 
  mov   al,es:[bx+si] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s84: { DIV AB } 
  db    64h             {fs:} 
  mov   al,[0e0h]       {ACC} 
  db    64h             {fs:} 
  mov   bl,[0f0h]       {B} 
  or    bl,bl 
  jz    @s84zero 
  xor   ah,ah 
  div   bl              {AL-iloraz,AH-reszta} 
  db    64h             {fs:} 
  mov   [0e0h],al 
  db    64h             {fs:} 
  mov   [0f0h],ah 
  db    64h 
  and   byte ptr [0d0h],7bh   {CY=0,OV=0} 
  mov   al,1 
  jmp   @Koniec 
@s84zero: 
  db    64h             {fs:} 
  and   byte ptr [0d0h],7fh   {CY=0} 
  db    64h             {fs:} 
  or    byte ptr [0d0h],4     {OV=1} 
  mov   al,1 
  jmp   @Koniec 
@s85: { MOV reg2,reg1 } 
  mov   dx,es:[si+1]    {DL-zrodlo,DH-przeznaczenie} 
  mov   bl,dl 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[bx] 
  mov   bl,dh 
  cmp   bx,99h          {SBUF?} 
  jne   @s85_1 
  call  WypiszNaTerm 
  mov   al,3 
  jmp   @Koniec 
@s85_1: 
  db    64h             {fs:} 
  mov   [bx],al 
  mov   al,3 
  jmp   @Koniec 
@s86: { MOV reg,@R0 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx]         {w BX zawartosc R0} 
  or    cl,cl           {bigmem?} 
  jz    @s86_1 
  cmp   bx,128          {adres>=128?} 
  jb    @s86_1 
  add   bx,128          {adres=adres+128} 
@s86_1: 
  db    64h             {fs:} 
  mov   al,[bx] 
  xor   bh,bh 
  mov   bl,es:[si+1] 
  cmp   bx,99h          {SBUF?} 
  jne   @s86_2 
  call  WypiszNaTerm 
  mov   al,2 
  jmp   @Koniec 
@s86_2: 
  db    64h             {fs:} 
  mov   [bx],al 
  mov   al,2 
  jmp   @Koniec 
@s87: { MOV reg,@R1 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx+1]       {w BX zawartosc R1} 
  or    cl,cl           {bigmem?} 
  jz    @s87_1 
  cmp   bx,128          {adres>=128?} 
  jb    @s87_1 
  add   bx,128          {adres=adres+128} 
@s87_1: 
  db    64h             {fs:} 
  mov   al,[bx] 
  xor   bh,bh 
  mov   bl,es:[si+1] 
  cmp   bx,99h          {SBUF?} 
  jne   @s87_2 
  call  WypiszNaTerm 
  mov   al,2 
  jmp   @Koniec 
@s87_2: 
  db    64h             {fs:} 
  mov   [bx],al 
  mov   al,2 
  jmp   @Koniec 
@s88: { MOV reg,R0 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx]         {w AL zawartosc R0} 
  mov   bl,es:[si+1] 
  cmp   bx,99h          {SBUF?} 
  jne   @s88_1 
  call  WypiszNaTerm 
  mov   al,2 
  jmp   @Koniec 
@s88_1: 
  db    64h             {fs:} 
  mov   [bx],al 
  mov   al,2 
  jmp   @Koniec 
@s89: { MOV reg,R1 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+1]       {w AL zawartosc R1} 
  mov   bl,es:[si+1] 
  cmp   bx,99h          {SBUF?} 
  jne   @s89_1 
  call  WypiszNaTerm 
  mov   al,2 
  jmp   @Koniec 
@s89_1: 
  db    64h             {fs:} 
  mov   [bx],al 
  mov   al,2 
  jmp   @Koniec 
@s8a: { MOV reg,R2 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+2]       {w AL zawartosc R2} 
  mov   bl,es:[si+1] 
  cmp   bx,99h          {SBUF?} 
  jne   @s8a_1 
  call  WypiszNaTerm 
  mov   al,2 
  jmp   @Koniec 
@s8a_1: 
  db    64h             {fs:} 
  mov   [bx],al 
  mov   al,2 
  jmp   @Koniec 
@s8b: { MOV reg,R3 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+3]       {w AL zawartosc R3} 
  mov   bl,es:[si+1] 
  cmp   bx,99h          {SBUF?} 
  jne   @s8b_1 
  call  WypiszNaTerm 
  mov   al,2 
  jmp   @Koniec 
@s8b_1: 
  db    64h             {fs:} 
  mov   [bx],al 
  mov   al,2 
  jmp   @Koniec 
@s8c: { MOV reg,R4 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+4]       {w AL zawartosc R4} 
  mov   bl,es:[si+1] 
  cmp   bx,99h          {SBUF?} 
  jne   @s8c_1 
  call  WypiszNaTerm 
  mov   al,2 
  jmp   @Koniec 
@s8c_1: 
  db    64h             {fs:} 
  mov   [bx],al 
  mov   al,2 
  jmp   @Koniec 
@s8d: { MOV reg,R5 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+5]       {w AL zawartosc R5} 
  mov   bl,es:[si+1] 
  cmp   bx,99h          {SBUF?} 
  jne   @s8d_1 
  call  WypiszNaTerm 
  mov   al,2 
  jmp   @Koniec 
@s8d_1: 
  db    64h             {fs:} 
  mov   [bx],al 
  mov   al,2 
  jmp   @Koniec 
@s8e: { MOV reg,R6 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+6]       {w AL zawartosc R6} 
  mov   bl,es:[si+1] 
  cmp   bx,99h          {SBUF?} 
  jne   @s8e_1 
  call  WypiszNaTerm 
  mov   al,2 
  jmp   @Koniec 
@s8e_1: 
  db    64h             {fs:} 
  mov   [bx],al 
  mov   al,2 
  jmp   @Koniec 
@s8f: { MOV reg,R7 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+7]       {w AL zawartosc R7} 
  mov   bl,es:[si+1] 
  cmp   bx,99h          {SBUF?} 
  jne   @s8f_1 
  call  WypiszNaTerm 
  mov   al,2 
  jmp   @Koniec 
@s8f_1: 
  db    64h             {fs:} 
  mov   [bx],al 
  mov   al,2 
  jmp   @Koniec 
@s90: { MOV DPTR,#nnnn } 
  mov   ax,es:[si+1] 
  xchg  ah,al 
  db    64h             {fs:} 
  mov   [82h],ax 
  mov   al,3 
  jmp   @Koniec 
@s91: { ACALL xxxx } 
  jmp   @s11 
@s92: { MOV bit,C } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  shl   bx,1 
  mov   ax,cs:[bx+offset @TabBitow] 
  mov   bl,al 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   cl,[0d0h]       {PSW} 
  test  cl,80h          {CY} 
  jz    @s92zero 
  db    64h             {fs:} 
  or    byte ptr [bx],ah   {bit=1} 
  mov   al,2 
  jmp   @Koniec 
@s92zero: 
  xor   ah,255 
  db    64h             {fs:} 
  and   byte ptr [bx],ah   {bit=0} 
  mov   al,2 
  jmp   @Koniec 
@s93: { MOVC A,@A+DPTR } 
  db    64h             {fs:} 
  mov   bx,[82h]        {DPL,DPH} 
  db    64h             {fs:} 
  add   bl,[0e0h] 
  adc   bh,0 
  mov   al,es:[bx] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@s94: { SUBB A,#nn } 
  mov   al,es:[si+1] 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  sbb   byte ptr [0e0h],al 
  mov   al,2 
  jmp   @Flagi 
@s95: { SUBB A,reg } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  sbb   byte ptr [0e0h],al 
  mov   al,2 
  jmp   @Flagi 
@s96: { SUBB A,@R0 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx]         {w BX zawartosc R0} 
  or    cl,cl           {bigmem?} 
  jz    @s96_1 
  cmp   bx,128          {adres>=128?} 
  jb    @s96_1 
  add   bx,128          {adres=adres+128} 
@s96_1: 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  sbb   byte ptr [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s97: { SUBB A,@R1 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx+1]       {w BX zawartosc R1} 
  or    cl,cl           {bigmem?} 
  jz    @s97_1 
  cmp   bx,128          {adres>=128?} 
  jb    @s97_1 
  add   bx,128          {adres=adres+128} 
@s97_1: 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  sbb   byte ptr [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s98: { SUBB A,R0 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx]         {w AL zawartosc R0} 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  sbb   byte ptr [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s99: { SUBB A,R1 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+1]       {w AL zawartosc R1} 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  sbb   byte ptr [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s9a: { SUBB A,R2 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+2]       {w AL zawartosc R2} 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  sbb   byte ptr [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s9b: { SUBB A,R3 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+3]       {w AL zawartosc R3} 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  sbb   byte ptr [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s9c: { SUBB A,R4 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+4]       {w AL zawartosc R4} 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  sbb   byte ptr [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s9d: { SUBB A,R5 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+5]       {w AL zawartosc R5} 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  sbb   byte ptr [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s9e: { SUBB A,R6 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+6]       {w AL zawartosc R6} 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  sbb   byte ptr [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@s9f: { SUBB A,R7 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+7]       {w AL zawartosc R7} 
  db    64h,0Fh,0BAh,26h,0D0h,0,7   {bt word ptr fs:[0d0h],7}   {CY sym.->CF} 
  db    64h             {fs:} 
  sbb   byte ptr [0e0h],al 
  mov   al,1 
  jmp   @Flagi 
@sa0: { ORL C,/bit } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  shl   bx,1 
  mov   ax,cs:[bx+offset @TabBitow] 
  mov   bl,al 
  xor   bh,bh 
  mov   al,2 
  db    64h             {fs:} 
  test  byte ptr [bx],ah 
  jnz   @Koniec 
  db    64h             {fs:} 
  or    byte ptr [0d0h],80h   {CY=1} 
  jmp   @Koniec 
@sa1: { AJMP xxxx } 
  jmp   @s1 
@sa2: { MOV C,bit } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  shl   bx,1 
  mov   ax,cs:[bx+offset @TabBitow] 
  mov   bl,al 
  xor   bh,bh 
  db    64h             {fs:} 
  test  byte ptr [bx],ah 
  jz    @sa2zero 
  db    64h             {fs:} 
  or    byte ptr [0d0h],80h   {CY=1} 
  mov   al,2 
  jmp   @Koniec 
@sa2zero: 
  db    64h             {fs:} 
  and   byte ptr [0d0h],7fh   {CY=0} 
  mov   al,2 
  jmp   @Koniec 
@sa3: { INC DPTR } 
  db    64h             {fs:} 
  inc   word ptr [82h] 
  mov   al,1 
  jmp   @Koniec 
@sa4: { MUL AB } 
  db    64h             {fs:} 
  mov   al,[0e0h]       {ACC} 
  db    64h             {fs:} 
  mov   bl,[0f0h]       {B} 
  mul   bl              {AX-iloczyn} 
  db    64h             {fs:} 
  mov   [0e0h],al 
  db    64h             {fs:} 
  mov   [0f0h],ah 
  jc    @sa4msb 
  db    64h             {fs:} 
  and   byte ptr [0d0h],7bh   {CY=0,OV=0} 
  mov   al,1 
  jmp   @Koniec 
@sa4msb: 
  db    64h             {fs:} 
  and   byte ptr [0d0h],7fh   {CY=0} 
  db    64h             {fs:} 
  or    byte ptr [0d0h],4   {OV=1} 
  mov   al,1 
  jmp   @Koniec 
@sa5: { ??? } 
  mov   al,1 
  jmp   @Koniec 
@sa6: { MOV @R0,reg } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[bx]         {AL=reg} 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx]         {w BX zawartosc R0} 
  or    cl,cl           {bigmem?} 
  jz    @sa6_1 
  cmp   bx,128          {adres>=128?} 
  jb    @sa6_1 
  add   bx,128          {adres=adres+128} 
@sa6_1: 
  db    64h             {fs:} 
  mov   [bx],al 
  mov   al,2 
  jmp   @Koniec 
@sa7: { MOV @R1,reg } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[bx]         {AL=reg} 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx+1]       {w BX zawartosc R1} 
  or    cl,cl           {bigmem?} 
  jz    @sa7_1 
  cmp   bx,128          {adres>=128?} 
  jb    @sa7_1 
  add   bx,128          {adres=adres+128} 
@sa7_1: 
  db    64h             {fs:} 
  mov   [bx],al 
  mov   al,2 
  jmp   @Koniec 
@sa8: { MOV R0,reg } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[bx]         {AL=reg} 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   [bx],al 
  mov   al,2 
  jmp   @Koniec 
@sa9: { MOV R1,reg } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[bx]         {AL=reg} 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   [bx+1],al 
  mov   al,2 
  jmp   @Koniec 
@saa: { MOV R2,reg } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[bx]         {AL=reg} 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   [bx+2],al 
  mov   al,2 
  jmp   @Koniec 
@sab: { MOV R3,reg } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[bx]         {AL=reg} 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   [bx+3],al 
  mov   al,2 
  jmp   @Koniec 
@sac: { MOV R4,reg } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[bx]         {AL=reg} 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   [bx+4],al 
  mov   al,2 
  jmp   @Koniec 
@sad: { MOV R5,reg } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[bx]         {AL=reg} 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   [bx+5],al 
  mov   al,2 
  jmp   @Koniec 
@sae: { MOV R6,reg } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[bx]         {AL=reg} 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   [bx+6],al 
  mov   al,2 
  jmp   @Koniec 
@saf: { MOV R7,reg } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[bx]         {AL=reg} 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   [bx+7],al 
  mov   al,2 
  jmp   @Koniec 
@sb0: { ANL C,/bit } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  shl   bx,1 
  mov   ax,cs:[bx+offset @TabBitow] 
  mov   bl,al 
  xor   bh,bh 
  mov   al,2 
  db    64h             {fs:} 
  test  byte ptr [bx],ah 
  jz    @Koniec 
  db    64h             {fs:} 
  and   byte ptr [0d0h],7fh   {CY=0} 
  jmp   @Koniec 
@sb1: { ACALL xxxx } 
  jmp   @s11 
@sb2: { CPL bit } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  shl   bx,1 
  mov   ax,cs:[bx+offset @TabBitow] 
  mov   bl,al 
  xor   bh,bh 
  db    64h             {fs:} 
  xor   byte ptr [bx],ah   { NOT bit } 
  mov   al,2 
  jmp   @Koniec 
@sb3: { CPL C } 
  db    64h             {fs:} 
  xor   byte ptr [0d0h],80h 
  mov   al,1 
  jmp   @Koniec 
@sb4: { CJNE A,#nn,rel } 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  cmp   al,es:[si+1] 
@sb4tutaj: 
  pushf 
  jc    @sb4cy 
  db    64h             {fs:} 
  and   byte ptr [0d0h],7fh   {CY=0} 
  jmp   @sb4dal 
@sb4cy: 
  db    64h             {fs:} 
  or    byte ptr [0d0h],80h   {CY=1} 
@sb4dal: 
  popf 
  jne   @sb4skok 
  mov   al,3 
  jmp   @Koniec 
@sb4skok: 
  db    26h,0Fh,0BEh,5Ch,2  {movsx bx,byte ptr es:[si+2]} 
  add   si,3 
  add   si,bx 
  mov   [RejPC],si 
  xor   al,al 
  jmp   @Koniec 
@sb5: { CJNE A,reg,rel } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  db    64h             {fs:} 
  cmp   al,[bx] 
  jmp   @sb4tutaj 
@sb6: { CJNE @R0,#nn,rel } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx]         {w BX zawartosc R0} 
  or    cl,cl           {bigmem?} 
  jz    @sb6_1 
  cmp   bx,128          {adres>=128?} 
  jb    @sb6_1 
  add   bx,128          {adres=adres+128} 
@sb6_1: 
  db    64h             {fs:} 
  mov   al,[bx] 
  cmp   al,es:[si+1] 
  jmp   @sb4tutaj 
@sb7: { CJNE @R1,#nn,rel } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx+1]       {w BX zawartosc R1} 
  or    cl,cl           {bigmem?} 
  jz    @sb7_1 
  cmp   bx,128          {adres>=128?} 
  jb    @sb7_1 
  add   bx,128          {adres=adres+128} 
@sb7_1: 
  db    64h             {fs:} 
  mov   al,[bx] 
  cmp   al,es:[si+1] 
  jmp   @sb4tutaj 
@sb8: { CJNE R0,#nn,rel } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx]         {w BX zawartosc R0} 
  cmp   al,es:[si+1] 
  jmp   @sb4tutaj 
@sb9: { CJNE R1,#nn,rel } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+1]       {w BX zawartosc R1} 
  cmp   al,es:[si+1] 
  jmp   @sb4tutaj 
@sba: { CJNE R2,#nn,rel } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+2]       {w BX zawartosc R2} 
  cmp   al,es:[si+1] 
  jmp   @sb4tutaj 
@sbb: { CJNE R3,#nn,rel } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+3]       {w BX zawartosc R3} 
  cmp   al,es:[si+1] 
  jmp   @sb4tutaj 
@sbc: { CJNE R4,#nn,rel } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+4]       {w BX zawartosc R4} 
  cmp   al,es:[si+1] 
  jmp   @sb4tutaj 
@sbd: { CJNE R5,#nn,rel } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+5]       {w BX zawartosc R5} 
  cmp   al,es:[si+1] 
  jmp   @sb4tutaj 
@sbe: { CJNE R6,#nn,rel } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+6]       {w BX zawartosc R6} 
  cmp   al,es:[si+1] 
  jmp   @sb4tutaj 
@sbf: { CJNE R7,#nn,rel } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+7]       {w BX zawartosc R7} 
  cmp   al,es:[si+1] 
  jmp   @sb4tutaj 
@sc0: { PUSH reg } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h             {fs:} 
  mov   bl,[81h]        {SP} 
  or    cl,cl           {bigmem?} 
  jz    @sc0_1 
  cmp   bx,128          {adres>=128?} 
  jb    @sc0_1 
  add   bx,128          {adres=adres+128} 
@sc0_1: 
  db    64h             {fs:} 
  mov   [bx+1],al 
  db    64h             {fs:} 
  inc   byte ptr [81h] 
  mov   al,2 
  jmp   @Koniec 
@sc1: { AJMP xxxx } 
  jmp   @s1 
@sc2: { CLR bit } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  shl   bx,1 
  mov   ax,cs:[bx+offset @TabBitow] 
  mov   bl,al 
  xor   bh,bh 
  xor   ah,255 
  db    64h             {fs:} 
  and   byte ptr [bx],ah   { bit=0 } 
  mov   al,2 
  jmp   @Koniec 
@sc3: { CLR C } 
  db    64h             {fs:} 
  and   byte ptr [0d0h],7fh 
  mov   al,1 
  jmp   @Koniec 
@sc4: { SWAP A } 
  db    64h             {fs:} 
  rol   byte ptr [0e0h],4 
  mov   al,1 
  jmp   @Koniec 
@sc5: { XCH A,reg } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h             {fs:} 
  mov   ah,[0e0h] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  db    64h             {fs:} 
  mov   [bx],ah 
  mov   al,2 
  jmp   @Koniec 
@sc6: { XCH A,@R0 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx]         {w BX zawartosc R0} 
  or    cl,cl           {bigmem?} 
  jz    @sc6_1 
  cmp   bx,128          {adres>=128?} 
  jb    @sc6_1 
  add   bx,128          {adres=adres+128} 
@sc6_1: 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h             {fs:} 
  mov   ah,[0e0h] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  db    64h             {fs:} 
  mov   [bx],ah 
  mov   al,1 
  jmp   @Koniec 
@sc7: { XCH A,@R1 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx+1]       {w BX zawartosc R1} 
  or    cl,cl           {bigmem?} 
  jz    @sc7_1 
  cmp   bx,128          {adres>=128?} 
  jb    @sc7_1 
  add   bx,128          {adres=adres+128} 
@sc7_1: 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h             {fs:} 
  mov   ah,[0e0h] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  db    64h             {fs:} 
  mov   [bx],ah 
  mov   al,1 
  jmp   @Koniec 
@sc8: { XCH A,R0 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h             {fs:} 
  mov   ah,[0e0h] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  db    64h             {fs:} 
  mov   [bx],ah 
  mov   al,1 
  jmp   @Koniec 
@sc9: { XCH A,R1 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  inc   bl              {w BX adres R1} 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h             {fs:} 
  mov   ah,[0e0h] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  db    64h             {fs:} 
  mov   [bx],ah 
  mov   al,1 
  jmp   @Koniec 
@sca: { XCH A,R2 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  add   bl,2            {w BX adres R2} 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h             {fs:} 
  mov   ah,[0e0h] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  db    64h             {fs:} 
  mov   [bx],ah 
  mov   al,1 
  jmp   @Koniec 
@scb: { XCH A,R3 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  add   bl,3            {w BX adres R3} 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h             {fs:} 
  mov   ah,[0e0h] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  db    64h             {fs:} 
  mov   [bx],ah 
  mov   al,1 
  jmp   @Koniec 
@scc: { XCH A,R4 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  add   bl,4            {w BX adres R4} 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h             {fs:} 
  mov   ah,[0e0h] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  db    64h             {fs:} 
  mov   [bx],ah 
  mov   al,1 
  jmp   @Koniec 
@scd: { XCH A,R5 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  add   bl,5            {w BX adres R5} 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h             {fs:} 
  mov   ah,[0e0h] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  db    64h             {fs:} 
  mov   [bx],ah 
  mov   al,1 
  jmp   @Koniec 
@sce: { XCH A,R6 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  add   bl,6            {w BX adres R6} 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h             {fs:} 
  mov   ah,[0e0h] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  db    64h             {fs:} 
  mov   [bx],ah 
  mov   al,1 
  jmp   @Koniec 
@scf: { XCH A,R7 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  add   bl,7            {w BX adres R7} 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h             {fs:} 
  mov   ah,[0e0h] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  db    64h             {fs:} 
  mov   [bx],ah 
  mov   al,1 
  jmp   @Koniec 
@sd0: { POP reg } 
  db    64h             {fs:} 
  mov   bl,[81h]        {SP} 
  xor   bh,bh 
  or    cl,cl           {bigmem?} 
  jz    @sd0_1 
  cmp   bx,128          {adres>=128?} 
  jb    @sd0_1 
  add   bx,128          {adres=adres+128} 
@sd0_1: 
  db    64h             {fs:} 
  mov   al,[bx] 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   [bx],al 
  db    64h             {fs:} 
  dec   byte ptr [81h] 
  mov   al,2 
  jmp   @Koniec 
@sd1: { ACALL xxxx } 
  jmp   @s11 
@sd2: { SETB bit } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  shl   bx,1 
  mov   ax,cs:[bx+offset @TabBitow] 
  mov   bl,al 
  xor   bh,bh 
  db    64h             {fs:} 
  or    byte ptr [bx],ah   { bit=1 } 
  mov   al,2 
  jmp   @Koniec 
@sd3: { SETB C } 
  db    64h             {fs:} 
  or    byte ptr [0d0h],80h 
  mov   al,1 
  jmp   @Koniec 
@sd4: { DA A } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  xor   bh,bh 
  and   bl,0c0h         {CY i AC} 
  shr   bl,6 
  mov   ah,cs:[bx+offset @sd4tab]   {CF-bit 0., AF-bit 4., bit 1.=1} 
  sahf                  {AH->Flags} 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  daa 
  db    64h             {fs:} 
  mov   [0e0h],al 
  jc    @sd4ustawc 
  db    64h             {fs:} 
  and   byte ptr [0d0h],7fh   {CY=0} 
  mov   al,1 
  jmp   @Koniec 
@sd4ustawc: 
  db    64h             {fs:} 
  or    byte ptr [0d0h],80h   {CY=1} 
  mov   al,1 
  jmp   @Koniec 
@sd4tab: 
  db    2,12h,3,13h 
@sd5: { DJNZ reg,xxxx } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  dec   byte ptr [bx] 
  jz    @sd5nic 
  db    26h,0Fh,0BEh,5Ch,2  {movsx bx,byte ptr es:[si+2]} 
  add   si,3 
  add   si,bx 
  mov   [RejPC],si 
  xor   al,al 
  jmp   @Koniec 
@sd5nic: 
  mov   al,3 
  jmp   @Koniec 
@sd6: { XCHD A,@R0 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx]         {w BX zawartosc R0} 
  or    cl,cl           {bigmem?} 
  jz    @sd6_1 
  cmp   bx,128          {adres>=128?} 
  jb    @sd6_1 
  add   bx,128          {adres=adres+128} 
@sd6_1: 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h             {fs:} 
  mov   ah,[0e0h]       {ACC} 
  db    64h             {fs:} 
  and   byte ptr [bx],0f0h 
  db    64h             {fs:} 
  and   byte ptr [0e0h],0f0h 
  and   ax,0f0fh 
  db    64h             {fs:} 
  or    byte ptr [bx],ah 
  db    64h             {fs:} 
  or    byte ptr [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@sd7: { XCHD A,@R1 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx+1]       {w BX zawartosc R1} 
  or    cl,cl           {bigmem?} 
  jz    @sd7_1 
  cmp   bx,128          {adres>=128?} 
  jb    @sd7_1 
  add   bx,128          {adres=adres+128} 
@sd7_1: 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h             {fs:} 
  mov   ah,[0e0h]       {ACC} 
  db    64h             {fs:} 
  and   byte ptr [bx],0f0h 
  db    64h             {fs:} 
  and   byte ptr [0e0h],0f0h 
  and   ax,0f0fh 
  db    64h             {fs:} 
  or    byte ptr [bx],ah 
  db    64h             {fs:} 
  or    byte ptr [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@sd8: { DJNZ R0,xxxx } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  dec   byte ptr [bx] 
  jz    @sd8nic 
  db    26h,0Fh,0BEh,5Ch,1  {movsx bx,byte ptr es:[si+1]} 
  add   si,2 
  add   si,bx 
  mov   [RejPC],si 
  xor   al,al 
  jmp   @Koniec 
@sd8nic: 
  mov   al,2 
  jmp   @Koniec 
@sd9: { DJNZ R1,xxxx } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  inc   bl 
  db    64h             {fs:} 
  dec   byte ptr [bx] 
  jz    @sd8nic 
  db    26h,0Fh,0BEh,5Ch,1  {movsx bx,byte ptr es:[si+1]} 
  add   si,2 
  add   si,bx 
  mov   [RejPC],si 
  xor   al,al 
  jmp   @Koniec 
@sda: { DJNZ R2,xxxx } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  add   bl,2 
  db    64h             {fs:} 
  dec   byte ptr [bx] 
  jz    @sd8nic 
  db    26h,0Fh,0BEh,5Ch,1  {movsx bx,byte ptr es:[si+1]} 
  add   si,2 
  add   si,bx 
  mov   [RejPC],si 
  xor   al,al 
  jmp   @Koniec 
@sdb: { DJNZ R3,xxxx } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  add   bl,3 
  db    64h             {fs:} 
  dec   byte ptr [bx] 
  jz    @sd8nic 
  db    26h,0Fh,0BEh,5Ch,1  {movsx bx,byte ptr es:[si+1]} 
  add   si,2 
  add   si,bx 
  mov   [RejPC],si 
  xor   al,al 
  jmp   @Koniec 
@sdc: { DJNZ R4,xxxx } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  add   bl,4 
  db    64h             {fs:} 
  dec   byte ptr [bx] 
  jz    @sd8nic 
  db    26h,0Fh,0BEh,5Ch,1  {movsx bx,byte ptr es:[si+1]} 
  add   si,2 
  add   si,bx 
  mov   [RejPC],si 
  xor   al,al 
  jmp   @Koniec 
@sdd: { DJNZ R5,xxxx } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  add   bl,5 
  db    64h             {fs:} 
  dec   byte ptr [bx] 
  jz    @sd8nic 
  db    26h,0Fh,0BEh,5Ch,1  {movsx bx,byte ptr es:[si+1]} 
  add   si,2 
  add   si,bx 
  mov   [RejPC],si 
  xor   al,al 
  jmp   @Koniec 
@sde: { DJNZ R6,xxxx } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  add   bl,6 
  db    64h             {fs:} 
  dec   byte ptr [bx] 
  jz    @sd8nic 
  db    26h,0Fh,0BEh,5Ch,1  {movsx bx,byte ptr es:[si+1]} 
  add   si,2 
  add   si,bx 
  mov   [RejPC],si 
  xor   al,al 
  jmp   @Koniec 
@sdf: { DJNZ R7,xxxx } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  add   bl,7 
  db    64h             {fs:} 
  dec   byte ptr [bx] 
  jz    @sd8nic 
  db    26h,0Fh,0BEh,5Ch,1  {movsx bx,byte ptr es:[si+1]} 
  add   si,2 
  add   si,bx 
  mov   [RejPC],si 
  xor   al,al 
  jmp   @Koniec 
@se0: { MOVX A,@DPTR } 
  push  es 
  mov   ax,[selRAM] 
  mov   es,ax 
  db    64h             {fs:} 
  mov   bx,[82h]        {DPL,DPH} 
  mov   al,es:[bx] 
  db    64h             {fs:} 
  mov   [0e0h],al       {ACC} 
  pop   es 
  mov   al,1 
  jmp   @Koniec 
@se1: { AJMP xxxx } 
  jmp   @s1 
@se2: { MOVX A,@R0 } 
  push  es 
  mov   ax,[selRAM] 
  mov   es,ax 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx]         {w BL zawartosc R0} 
  db    64h             {fs:} 
  mov   bh,[0a0h]       {P2-starszy bajt adresu} 
  mov   al,es:[bx] 
  db    64h             {fs:} 
  mov   [0e0h],al       {ACC} 
  pop   es 
  mov   al,1 
  jmp   @Koniec 
@se3: { MOVX A,@R1 } 
  push  es 
  mov   ax,[selRAM] 
  mov   es,ax 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx+1]       {w BL zawartosc R1} 
  db    64h             {fs:} 
  mov   bh,[0a0h]       {P2-starszy bajt adresu} 
  mov   al,es:[bx] 
  db    64h             {fs:} 
  mov   [0e0h],al       {ACC} 
  pop   es 
  mov   al,1 
  jmp   @Koniec 
@se4: { CLR A } 
  db    64h             {fs:} 
  mov   byte ptr [0e0h],0 
  mov   al,1 
  jmp   @Koniec 
@se5: { MOV A,reg } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  mov   al,2 
  jmp   @Koniec 
@se6: { MOV A,@R0 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx]         {w BL zawartosc R0} 
  or    cl,cl           {bigmem?} 
  jz    @se6_1 
  cmp   bx,128          {adres>=128?} 
  jb    @se6_1 
  add   bx,128          {adres=adres+128} 
@se6_1: 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@se7: { MOV A,@R1 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx+1]       {w BL zawartosc R1} 
  or    cl,cl           {bigmem?} 
  jz    @se7_1 
  cmp   bx,128          {adres>=128?} 
  jb    @se7_1 
  add   bx,128          {adres=adres+128} 
@se7_1: 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@se8: { MOV A,R0 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@se9: { MOV A,R1 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+1] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@sea: { MOV A,R2 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+2] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@seb: { MOV A,R3 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+3] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@sec: { MOV A,R4 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+4] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@sed: { MOV A,R5 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+5] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@see: { MOV A,R6 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+6] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@sef: { MOV A,R7 } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[bx+7] 
  db    64h             {fs:} 
  mov   [0e0h],al 
  mov   al,1 
  jmp   @Koniec 
@sf0: { MOVX @DPTR,A } 
  push  es 
  mov   ax,[selRAM] 
  mov   es,ax 
  db    64h             {fs:} 
  mov   bx,[82h]        {DPL,DPH} 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  mov   es:[bx],al 
  pop   es 
  mov   al,1 
  jmp   @Koniec 
@sf1: { ACALL xxxx } 
  jmp   @s11 
@sf2: { MOVX @R0,A } 
  push  es 
  mov   ax,[selRAM] 
  mov   es,ax 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx]         {w BL zawartosc R0} 
  db    64h             {fs:} 
  mov   bh,[0a0h]       {P2-starszy bajt adresu} 
  db    64h             {fs:} 
  mov   al,[0e0h]       {ACC} 
  mov   es:[bx],al 
  pop   es 
  mov   al,1 
  jmp   @Koniec 
@sf3: { MOVX @R1,A } 
  push  es 
  mov   ax,[selRAM] 
  mov   es,ax 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx+1]       {w BL zawartosc R1} 
  db    64h             {fs:} 
  mov   bh,[0a0h]       {P2-starszy bajt adresu} 
  db    64h             {fs:} 
  mov   al,[0e0h]       {ACC} 
  mov   es:[bx],al 
  pop   es 
  mov   al,1 
  jmp   @Koniec 
@sf4: { CPL A } 
  db    64h             {fs:} 
  xor   byte ptr [0e0h],0ffh 
  mov   al,1 
  jmp   @Koniec 
@sf5: { MOV reg,A } 
  mov   bl,es:[si+1] 
  xor   bh,bh 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  cmp   bx,99h          {SBUF?} 
  jne   @sf5_1 
  call  WypiszNaTerm 
  mov   al,2 
  jmp   @Koniec 
@sf5_1: 
  db    64h             {fs:} 
  mov   [bx],al 
  mov   al,2 
  jmp   @Koniec 
@sf6: { MOV @R0,A } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx]         {w BL zawartosc R0} 
  or    cl,cl           {bigmem?} 
  jz    @sf6_1 
  cmp   bx,128          {adres>=128?} 
  jb    @sf6_1 
  add   bx,128          {adres=adres+128} 
@sf6_1: 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  cmp   bx,99h          {SBUF?} 
  jne   @sf6_2 
  call  WypiszNaTerm 
  mov   al,1 
  jmp   @Koniec 
@sf6_2: 
  db    64h             {fs:} 
  mov   [bx],al 
  mov   al,1 
  jmp   @Koniec 
@sf7: { MOV @R1,A } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   bl,[bx+1]       {w BL zawartosc R1} 
  or    cl,cl           {bigmem?} 
  jz    @sf7_1 
  cmp   bx,128          {adres>=128?} 
  jb    @sf7_1 
  add   bx,128          {adres=adres+128} 
@sf7_1: 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  cmp   bx,99h          {SBUF?} 
  jne   @sf7_2 
  call  WypiszNaTerm 
  mov   al,1 
  jmp   @Koniec 
@sf7_2: 
  db    64h             {fs:} 
  mov   [bx],al 
  mov   al,1 
  jmp   @Koniec 
@sf8: { MOV R0,A } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  db    64h             {fs:} 
  mov   [bx],al 
  mov   al,1 
  jmp   @Koniec 
@sf9: { MOV R1,A } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  db    64h             {fs:} 
  mov   [bx+1],al 
  mov   al,1 
  jmp   @Koniec 
@sfa: { MOV R2,A } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  db    64h             {fs:} 
  mov   [bx+2],al 
  mov   al,1 
  jmp   @Koniec 
@sfb: { MOV R3,A } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  db    64h             {fs:} 
  mov   [bx+3],al 
  mov   al,1 
  jmp   @Koniec 
@sfc: { MOV R4,A } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  db    64h             {fs:} 
  mov   [bx+4],al 
  mov   al,1 
  jmp   @Koniec 
@sfd: { MOV R5,A } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  db    64h             {fs:} 
  mov   [bx+5],al 
  mov   al,1 
  jmp   @Koniec 
@sfe: { MOV R6,A } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  db    64h             {fs:} 
  mov   [bx+6],al 
  mov   al,1 
  jmp   @Koniec 
@sff: { MOV R7,A } 
  db    64h             {fs:} 
  mov   bl,[0d0h]       {PSW} 
  and   bl,18h 
  xor   bh,bh           {w BX adres R0} 
  db    64h             {fs:} 
  mov   al,[0e0h] 
  db    64h             {fs:} 
  mov   [bx+7],al 
  mov   al,1 
  jmp   @Koniec 
 
{ ustawiamy flagi po operacjach arytmetycznych } 
@Flagi: 
  pushf 
  pop   bx 
  db    64h             {fs:} 
  mov   ah,[0d0h]       {PSW} 
  and   ah,3bh          {CY,AC,OV=0} 
  test  bx,1            {CF} 
  jz    @sflnc 
  or    ah,80h          {CY=1} 
@sflnc: 
  test  bx,10h          {AF} 
  jz    @sflna 
  or    ah,40h          {AC=1} 
@sflna: 
  test  bx,800h         {OF} 
  jz    @sflno 
  or    ah,4            {OV=1} 
@sflno: 
  db    64h             {fs:} 
  mov   [0d0h],ah       {PSW} 
 
@Koniec: 
  xor   ah,ah 
  add   [RejPC],ax      {al-dlugosc rozkazu} 
{ teraz jeszcze ustawiamy bit parzystosci P } 
  db    64h             {fs:} 
  or    byte ptr [0e0h],0 
  jp    @parzys 
  db    64h             {fs:} 
  and   byte ptr [0d0h],0feh   {zeruj P} 
  jmp   @TheEnd 
@parzys: 
  db    64h             {fs:} 
  or    byte ptr [0d0h],1   {ustaw P} 
@TheEnd: 
  pop   bx                              {przywróć bajt rozkazu ze stosu} 
  db    66h,0b8h,0,0,0,0                {mov eax,0} 
  mov   al,ds:[offset TabIleCykli+bx]   {pobierz ilosc cykli z tablicy} 
  db    66h,1,6 
  dw    offset licznikcykli             {add [licznikcykli],eax} 
  db    66h,1,6 
  dw    offset licznikcykliwewn         {add [licznikcykliwewn],eax} 
  mov   cx,ax 
@cykleloop: 
  push  cx 
  call  ZwiekszT0T1Przerw               { zwieksz liczniki odpowiednią ilość razy } 
  pop   cx                              { (tyle, ile cykli trwało wykonywanie rozkazu) } 
  loop  @cykleloop 
end; 
 
procedure ZwiekszT0T1Przerw; 
var 
  tryb_0,tryb_1,p3,tmod,tcon:byte; 
  gate_0,ct_0,gate_1,ct_1,int0,int1,t0,t1,tr0,tr1,it0,it1,zwieksz_a,zwieksz_b:boolean; 
begin 
  tmod:=Mem[selRAMInt:$89]; 
  tcon:=Mem[selRAMInt:$88]; 
  p3:=Mem[selRAMInt:$B0]; 
  gate_0:=boolean(tmod and 8); 
  ct_0:=boolean(tmod and 4); 
  tryb_0:=tmod and 3; 
  gate_1:=boolean(tmod and 128); 
  ct_1:=boolean(tmod and 64); 
  tryb_1:=(tmod shr 4) and 3; 
  int0:=boolean(p3 and 4); 
  int1:=boolean(p3 and 8); 
  t0:=boolean(p3 and 16); 
  t1:=boolean(p3 and 32); 
  tr0:=boolean(tcon and 16); 
  tr1:=boolean(tcon and 64); 
  if poprz_t0 and (not t0) then t0:=true else t0:=false;   { zbocze opadające } 
  poprz_t0:=boolean(p3 and 16); 
  if poprz_t1 and (not t1) then t1:=true else t1:=false;   { zbocze opadające } 
  poprz_t1:=boolean(p3 and 32); 
  zwieksz_a:=((not(gate_0) or int0) and t0) and ct_0; 
  zwieksz_b:=(not(gate_0) or int0) and (not(ct_0)); 
  if tryb_0=3 then 
  begin 
    if tr0 and (zwieksz_a or zwieksz_b) then 
    begin 
      Inc(Mem[selRAMInt:$8A]);   { TL0 } 
      if Mem[selRAMInt:$8A]=0 then                 { nastąpiło przepełnienie licznika } 
        Mem[selRAMInt:$88]:=Mem[selRAMInt:$88] or 32;   { TF0=1 } 
    end; 
    if tr1 then 
    begin 
      Inc(Mem[selRAMInt:$8C]);   { TH0 } 
      if Mem[selRAMInt:$8C]=0 then                 { nastąpiło przepełnienie licznika } 
        Mem[selRAMInt:$88]:=Mem[selRAMInt:$88] or 128;   { TF1=1 } 
    end; 
  end else 
  if tr0 then 
  begin 
    if zwieksz_a or zwieksz_b then 
    case tryb_0 of 
      0: begin 
           Inc(Mem[selRAMInt:$8A]);   { TL0 } 
           if (Mem[selRAMInt:$8A] and 31)=0 then   { nastąpiło przepełnienie preskalera } 
           begin 
             Inc(Mem[selRAMInt:$8C]); { TH0 } 
             if Mem[selRAMInt:$8C]=0 then          { nastąpiło przepełnienie licznika } 
               Mem[selRAMInt:$88]:=Mem[selRAMInt:$88] or 32;   { TF0=1 } 
           end; 
         end; 
      1: begin 
           Inc(Mem[selRAMInt:$8A]);   { TL0 } 
           if Mem[selRAMInt:$8A]=0 then            { nastąpiło przepełnienie młodszego bajtu } 
           begin 
             Inc(Mem[selRAMInt:$8C]); { TH0 } 
             if Mem[selRAMInt:$8C]=0 then 
               Mem[selRAMInt:$88]:=Mem[selRAMInt:$88] or 32;   { TF0=1 } 
           end; 
         end; 
      2: begin 
           Inc(Mem[selRAMInt:$8A]);   { TL0 } 
           if Mem[selRAMInt:$8A]=0 then            { nastąpiło przepełnienie licznika } 
           begin 
             Mem[selRAMInt:$8A]:=Mem[selRAMInt:$8C];   { przepisanie TH0 do TL0 } 
             Mem[selRAMInt:$88]:=Mem[selRAMInt:$88] or 32;   { TF0=1 } 
           end; 
         end; 
      end; 
  end; 
  if tryb_1<>3 then 
    if tr1 or (tryb_0=3) then 
    begin 
      zwieksz_a:=((not(gate_1) or int1) and t1) and ct_1; 
      zwieksz_b:=(not(gate_1) or int1) and (not(ct_1)); 
      if zwieksz_a or zwieksz_b then 
      case tryb_1 of 
        0: begin 
             Inc(Mem[selRAMInt:$8B]);   { TL1 } 
             if (Mem[selRAMInt:$8B] and 31)=0 then   { nastąpiło przepełnienie preskalera } 
             begin 
               Inc(Mem[selRAMInt:$8D]); { TH1 } 
               if Mem[selRAMInt:$8D]=0 then          { nastąpiło przepełnienie licznika } 
                 if tryb_0<>3 then Mem[selRAMInt:$88]:=Mem[selRAMInt:$88] or 128;   { TF1=1 } 
             end; 
           end; 
        1: begin 
             Inc(Mem[selRAMInt:$8B]);   { TL1 } 
             if Mem[selRAMInt:$8B]=0 then            { nastąpiło przepełnienie młodszego bajtu } 
             begin 
               Inc(Mem[selRAMInt:$8D]); { TH1 } 
               if Mem[selRAMInt:$8D]=0 then 
                 if tryb_0<>3 then Mem[selRAMInt:$88]:=Mem[selRAMInt:$88] or 128;   { TF1=1 } 
             end; 
           end; 
        2: begin 
             Inc(Mem[selRAMInt:$8B]);   { TL1 } 
             if Mem[selRAMInt:$8B]=0 then            { nastąpiło przepełnienie licznika } 
             begin 
               Mem[selRAMInt:$8B]:=Mem[selRAMInt:$8D];   { przepisanie TH1 do TL1 } 
               if tryb_0<>3 then Mem[selRAMInt:$88]:=Mem[selRAMInt:$88] or 128;   { TF1=1 } 
             end; 
           end; 
        end; 
    end; 
  it0:=boolean(tcon and 1);   { 0-poziom, 1-zbocze } 
  it1:=boolean(tcon and 4); 
  if it0 then   { reakcja na zbocze opadające INT0 } 
  begin 
    if poprz_int0 and (not int0) then 
      Mem[selRAMInt:$88]:=Mem[selRAMInt:$88] or 2 else { IE0=1 } 
      Mem[selRAMInt:$88]:=Mem[selRAMInt:$88] and 253;  { IE0=0 } 
  end else      { reakcja na niski poziom INT0 } 
    if not int0 then 
      Mem[selRAMInt:$88]:=Mem[selRAMInt:$88] or 2 else { IE0=1 } 
      Mem[selRAMInt:$88]:=Mem[selRAMInt:$88] and 253;  { IE0=0 } 
  if it1 then   { reakcja na zbocze opadające INT1 } 
  begin 
    if poprz_int1 and (not int1) then 
      Mem[selRAMInt:$88]:=Mem[selRAMInt:$88] or 8 else { IE1=1 } 
      Mem[selRAMInt:$88]:=Mem[selRAMInt:$88] and 247;  { IE1=0 } 
  end else      { reakcja na niski poziom INT1 } 
    if not int1 then 
      Mem[selRAMInt:$88]:=Mem[selRAMInt:$88] or 8 else { IE1=1 } 
      Mem[selRAMInt:$88]:=Mem[selRAMInt:$88] and 247;  { IE1=0 } 
  poprz_int0:=int0; 
  poprz_int1:=int1; 
 
{*** generacja przerwań na podstawie ustawionych flag IE0,TF0,IE1,TF1,TI,RI ***} 
 
  tcon:=Mem[selRAMInt:$88]; 
  if (tcon and 2)=2 then   { IE0 } 
    if GenPrzerwanie(0,true) then 
    begin 
      tcon:=tcon xor 2; 
      Mem[selRAMInt:$88]:=tcon; 
      Exit; 
    end; 
  if (tcon and 32)=32 then   { TF0 } 
    if GenPrzerwanie(1,true) then 
    begin 
      tcon:=tcon xor 32; 
      Mem[selRAMInt:$88]:=tcon; 
      Exit; 
    end; 
  if (tcon and 8)=8 then   { IE1 } 
    if GenPrzerwanie(2,true) then 
    begin 
      tcon:=tcon xor 8; 
      Mem[selRAMInt:$88]:=tcon; 
      Exit; 
    end; 
  if (tcon and 128)=128 then   { TF1 } 
    if GenPrzerwanie(3,true) then 
    begin 
      tcon:=tcon xor 128; 
      Mem[selRAMInt:$88]:=tcon; 
      Exit; 
    end; 
  if (Mem[selRAMInt:$98] and 2)=2 then { TI w SCON } 
    if GenPrzerwanie(4,true) then Exit; 
  if (Mem[selRAMInt:$98] and 1)=1 then { RI w SCON } 
    if GenPrzerwanie(4,true) then Exit; 
end; 
 
end.