Advertisement
rnort

IntToString

Jun 21st, 2012
379
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;by Evgeny Kuleshov
  2. ; Переделано мной
  3. ; Перевод числа в строку в любую сс
  4. IntToStr proc near ; Число в AX, основание сс в BL, строка назначения в DI
  5. push ax
  6. push bx
  7. push di
  8. push dx
  9. push cx
  10.  
  11. xor cx,cx
  12. xor bh,bh
  13.  
  14. again:
  15. sub dx,dx
  16. div bx ; dx:ax/bx - результат деления в ax, остаток в dx
  17. inc cx ; считаем цифры
  18. push dx ; остаток в стек
  19. cmp ax,0 ; результат равен нулю?
  20. jne again ; если нет, то повтор
  21.  
  22. toString:
  23. pop dx ; извлекаем цифру из стека
  24. add dx,30h
  25. cmp dx,39h
  26. jbe no_more_9
  27. add dx,7 ; добавляем для отображения букв
  28.  
  29. no_more_9:
  30. mov [di],dl
  31. inc di
  32.  
  33. loop toString
  34.  
  35. mov [di],'$'
  36.  
  37. pop cx
  38. pop dx
  39. pop di
  40. pop bx
  41. pop ax
  42.  
  43. ret
  44. IntToStr endp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement