STiNG
22:00:26 12-Mar-05 | | короче меня просили обеспечить всех функцией вывода вещественных чисел.
выкладываю тут
convert proc
mov si, 3
mov bl, byte ptr var[si]
shl bl, 1
jnc conv0
mov func2, '-'
jmp conv1
conv0: mov func2, '+'
conv1: mov ah, 02h
mov dl, func2
int 21h
fld var
fimul func0
fimul func0
fimul func0
fbstp func1
mov cl, 5
mov si, 6
conv2: mov bl, byte ptr func1[si]
cmp si, 5
jne conv3
mov dl, ','
int 21h
conv3: mov dl, bl
shr dl, 4
add dl, 30h
int 21h
mov dl, bl
and dl, 0fh
add dl, 30h
int 21h
dec si
loop conv2
mov dl, 0dh
int 21h
mov dl, 0ah
int 21h
ret
convert endp
при этом в сегменте данных должно быть определено
func0 dd 10000
func1 dt ?
func2 db ?
var dd ?
Вещественная переменная должна быть скинута в var перед вызовом процедуры |