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



         

Вывод вещественных чисел



Вывод вещественных чисел

Последнее преобразование, которое мы рассмотрим в этом разделе, — преобразование вещественного значения в вид, пригодный для его визуализации на экране консоли. Ниже приведены только те фрагменты программы, которые относятся непосредственно к преобразованию. Полный текст программы находится в е.

;prg06_10.asm - программа вывода вещественного числа короткого формата (32 бита).

;Вход: выводимое значение - в поле float32.

:Выход: вывод вещественного числа короткого формата на экран

.data

dec_bin_mant32dt 0 ;мантисса в двоично-десятичном представлении

dec_bin_har32 dt 0 характеристика в двоично-десятичном представлении

cwr dw 0 переменная для сохранения состояния per. cwr

ten dw 10 ;константа, равная 10

float32dd 1.2345678el2 значение вещ. числа размером в 32 бита для вывода

mant32 dd 0 :мантисса в двоичном представлении .

har32 dd 0 характеристика - вещ. формат в двоичном представлении

int_har32 dd 0 характеристика - целое в двоичном представлении

number db 0

char db 0

cursor_column db 0

cursorjine db 0

number_of_digits db 9

flag db 0

.code

next_cursor_column ргос .-процедура сдвига курсора на одну позицию вправо

обязательно наличие в программе процедур::read_cursor_position, set_cursor_position

next_cursor_column endp

set_cursor_position ргос .'процедура позиционирования курсора

set_cursor_position endp

read_cursor_position ргос процедура определения текущей позиции курсора

read_cursor_position endp

print_charргос процедура вывода символа с учетом цвета

;.........

printjrhar endp

positivejiar ргос

:выделение мантиссы из короткого формата (32бита) и ее преобразование

:в двоично-десятичный формат (для положительной характеристики

результат в st(0))

fimul ten

sub int_har32,6 lab_p_h: fidiv ten

cmp int_har32.0

dec int_har32 jg lab_p_h ret I positivejiar endp

negativejiar ргос

:выделение мантиссы из короткого формата (32 бита) и ее преобразование

;в двоично-десятичный формат (для отрицательной характеристики результат в st(0))




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