Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. proc @Kolibri@StrLen$qpxc uses edi
  2.   cld
  3.   mov  edi,[esp+8]
  4.   mov  ecx,-1
  5.   xor  al,al
  6.   repnz scas byte [edi]
  7.   not  ecx
  8.   lea  eax,[ecx-1]
  9.   ret
  10. endp
  11.  
  12. proc @Kolibri@StrCopy$qpcpxc uses esi edi
  13.   cld
  14.   mov  edi,[esp+16]
  15.   mov  ecx,-1
  16.   mov  esi,edi
  17.   xor  al,al
  18.   repnz scas byte [edi]
  19.   not  ecx
  20.   mov  edi,[esp+12]
  21.   mov  edx,ecx
  22.   mov  eax,edi
  23.   shr  ecx,2
  24.   rep movs dword [edi],[esi]
  25.   mov  ecx,edx
  26.   and  ecx,3
  27.   rep movs byte [edi],[esi]
  28.   ret
  29. endp
  30.  
  31. proc @Kolibri@MemCopy$qpvpxvui uses esi edi
  32.   cld
  33.   mov  edi,[esp+12]
  34.   mov  eax,edi
  35.   mov  ecx,[esp+20]
  36.   mov  esi,[esp+16]
  37.   mov  edx,ecx
  38.   shr  ecx,2
  39.   rep movs dword [edi],[esi]
  40.   mov  ecx,edx
  41.   and  ecx,3
  42.   rep movs byte [edi],[esi]
  43.   ret
  44. endp
  45.  
  46. proc @Kolibri@MemSet$qpvcui uses edi
  47.   cld
  48.   mov  edi,[esp+8]
  49.   mov  al,[esp+12]
  50.   mov  ah,al
  51.   mov  dx,ax
  52.   shl  eax,16
  53.   mov  ax,dx
  54.   mov  ecx,[esp+16]
  55.   mov  edx,ecx
  56.   shr  ecx,2
  57.   rep stos dword [edi]
  58.   mov  ecx,edx
  59.   and  ecx,3
  60.   rep stos byte [edi]
  61.   mov  eax,[esp+4]
  62.   ret
  63. endp
  64.  
  65. proc __ftol
  66.   sub  esp,12
  67.   wait
  68.   fstcw word [esp+8]
  69.   wait
  70.   mov  al,[esp+9]
  71.   or   byte [esp+9],0x0c
  72.   fldcw word [esp+8]
  73.   fistp qword [esp]
  74.   mov  [esp+9],al
  75.   fldcw word [esp+8]
  76.   mov  eax,[esp]
  77.   mov  edx,[esp+4]
  78.   add  esp,12
  79.   ret
  80. endp
  81.  
  82. proc @Kolibri@Floor$qd
  83.   fld  qword [esp+4]
  84.   mov  ax,[esp+10]
  85.   shl  ax,1
  86.   cmp  ax,0x8680
  87.   ja   Menuet_floor_end
  88.   mov  ch,4
  89.   sub  esp,2
  90.   wait
  91.   fstcw word [esp]
  92.   mov  ax,0xf3ff
  93.   wait
  94.   mov  dx,[esp]
  95.   and  ax,dx
  96.   or   ah,ch
  97.   mov  [esp],ax
  98.   fldcw word [esp]
  99.   frndint
  100.   mov  [esp],dx
  101.   fldcw word [esp]
  102.   add  esp,2
  103. Menuet_floor_end:
  104.   ret
  105. endp
  106.  
  107.