Сборник по задачам и примерам Assembler



         

Вывод вещественных чисел - часть 3


call print_char ,

call next_cursor_column

;если выводимая цифра первая, то выводим после нее точку cmp flag.0 jne second_digit mov char."." call print_char ca11 next_cursor_column inc flag

:вывод второго полубайта, содержащего цифру second_digit: mov al. [si] and al,00001111b add a1,30h mov char.al call print_char call next_cursor_column

.-если выводимая цифра первая, то выводим после нее точку cmp flag,0 jne nonfirst_digit mov char,"." call print_char call next_cursor_column inc flag

nonfi rst_digit: cmp number_of_d1g1ts.O jne print_digits mov flag,0

:вывод характеристики числа mov char,"E" call print_char call next_cursor_column lea si,dec_bin_har32

:вывод знака числа add si.9 mov al,[si] cmp al.O je printjiar mov char,"-" call print_char call next_cursor_column : значения характеристики print_har: sub si .9

mov al.[si] ;вывод первой цифры характеристики

and al.11110000b

shr al.4

add al.30h

mov char.al

call print_char

call next_cursor_col umn : вывод второй цифры характеристики

mov al.[s1]

and al.00001111b

add a1.30h

mov char.al

call print_char

call next_cursor_col umn

mov flag.0

fprint32 endp

main proc

\.........

call fprint32

 




Содержание  Назад