Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. macro use_text_work
  2. {
  3. ;edi - указатель на строку, ограниченную нулем
  4. ;число возвращается в eax
  5. zstr_to_int:
  6.         xor     eax,eax
  7.         mov     ecx,10
  8. .next:
  9.         movsx   ebx,byte [edi]
  10.         inc     edi
  11.         test    ebx,ebx
  12.         jz      .end_str
  13.         cmp     bl,'9'
  14.         jg      .no_figure
  15.         cmp     bl,'0'
  16.         jl      .no_figure
  17.         sub     ebx,'0'
  18.         mul     ecx
  19.         add     eax,ebx
  20. .no_figure:
  21.         jmp     .next
  22. .end_str:
  23. ret
  24.  
  25. ;edi - указатель на строку
  26. ;eax - число
  27. ;ebx - количесво знаков
  28. int_to_str:
  29.         mov     ecx,10
  30. .next:
  31.         test    ebx,ebx
  32.         jz      .end
  33.         xor     edx,edx
  34.         div     ecx
  35.         add     dl,'0'
  36.         dec     ebx
  37.         mov     [edi+ebx],dl
  38.         jmp     .next
  39. .end:
  40. ret
  41. }