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