Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Целые двоичные числа




Целое двоичное число с фиксированной точкой — это число, закодированное в двоичной системе счисления. Размерность целого двоичного числа может составлять 8, 16 или 32 бита. Знак двоичного числа определяется тем, как интерпретируется старший бит в представлении числа. Это 7-й, 15-й или 31-й биты для чисел соответствующей размерности. Среди арифметических команд есть всего две команды, которые действительно учитывают этот старший разряд как знаковый, — это команды целочисленного умножения и деления imul и idiv. В остальных случаях ответственность за действия со знаковыми числами и, соответственно, со знаковым разрядом ложится на программиста. Диапазон значений двоичного числа зависит от его размера и трактовки старшего бита либо как старшего значащего бита числа, либо как бита знака числа.

Числа с фиксированной точкой в программе описываются с использованием директив db, dw и dd.

 

 

Диапазон значений двоичных чисел

Размерность поля Целое без знака Целое со знаком

Байт 0...255 -128...+ 127

Слово 0...65 535 -32 768...+32 767

Двойное слово 0...4 294 967 295 -2 147 483 648...+2 147 483 647

 

Десятичные числа

 

Десятичные числа — специальный вид представления числовой информации, в основу которого положен принцип кодирования каждой десятичной цифры числа группой из четырех бит. При этом каждый байт числа, содержит одну или две десятичные цифры в так называемом двоично-десятичном коде (BCD — Binary Coded Decimal). Микропроцессор хранит BCD-числа в двух форматах (рис. 8.3):

- упакованный формат — каждый байт содержит две десятичные цифры. Десятичная цифра представляет собой двоичное значение в диапазоне от 0 до 9 размером 4 бита. При этом код старшей цифры числа занимает старшие 4 бита. Следовательно, диапазон представления десятичного упакованного числа в одном байте составляет от 00 до 99;

- неупакованный формат — каждый байт содержит одну десятичную цифру в четырех младших битах. Старшие четыре бита имеют нулевое значение. Это так называемая зона. Следовательно, диапазон представления десятичного неупакованного числа в одном байте составляет от 0 до 9.

 

 

Для описания двоично-десятичных чисел в программе можно использовать только две директивы описания и инициализации данных — db и dt (длиной в 10 байт). Возможность применения только этих директив для описания BCD-чисел обусловлена тем, что к таким числам также применим принцип «младший байт по Младшему адресу», что, как мы увидим далее, очень удобно для их обработки. При использовании такого типа данных, как BCD-числа, порядок описания этих чисел в программе и алгоритм их обработки — это дело вкуса и личных пристрастий программиста.

Листинг 8-2. BCD-числа

;prg_8_2.asm

masm

model small

stack 256

.data;сегмент данных

per_l db 2,3,4,6,8,2;неупакованное BCD-число 286432 в памяти 02 03 04 06 08 02

per_3 dt 9875645;упакованное BCD-число 9875645 в памяти 45 56 87 09

.code;сегмент кода

main:;точка входа в программу

mov ax,@data;связываем регистр dx с сегментом

mov ds,ax;данных через регистр ах

exit: посмотрите в отладчике дамп сегмента данных

mov ax,4c00h стандартный выход

int 21h

end main;конец программы

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных