Консультация № 70025
08.01.2007, 19:04
0.00 руб.
0 1 1
Уважаемые эксперты, подскажите пожалуйсто как реализовать функцию inttostr на FASM.

Тоесть в регистре eax есть число. Которое должно быть конвертировано в строку.
Буфер выгляедет следуешим образом: buff db 11 dup (0)

Обсуждение

давно
Советник
419
1011
08.01.2007, 19:09
общий
это ответ
Здравствуйте, Шевчук Максим Юрьевич!

;Заносит в память по адресу DI число в AX,десятичное,только 0..99;
proc PrintDecToMem ;===================================================
pusha
sub bx,bx

mov cl,10
div cl
movzx dx,ah
call dec12

inc bx
call dec12
popa
ret

dec12:
add al,48
cmp al,48
jnz dec22
or bx,bx
jnz dec32
mov al,32
jmp dec32

dec22:
inc bx
dec32:
mov [di],al
inc di
mov ax,dx
ret
endp

для чисел больших подумай, как сделать.
Форма ответа