Ассемблер и программирование для IBM PC



       

ГЛАВА 5. Определение Данных - часть 3


Шестнадцатиричный формат. Шест. формат допускает шест. цифры от 0 до F и обозначается последней буквой H. Так как ассемблер полагает, что с буквы начинаются идентификаторы, то первой цифрой шест. константы должна быть цифра от 0 до 9. Например, 2EH или 0FFFH, которые ассемблер преобразует соответственно в 2E и FF0F (байты во втором примере записы ваются в объектный код в обратной последовательности).

Двоичный формат. Двоичный формат допускает двоичные цифры 0 и 1 и обозначается последней буквой B. Двоичный формат обычно используется для более четкого представления битовых значений в логических командах AND, OR, XOR и TEST. Десятичное 12, шест. C и двоичное 1100B все генерируют один и тот же код: шест. 0C или двоичное 0000 1100 в зависимости от того, как вы рассматриваете содержимое байта.

Восмеричный формат. Восмеричный формат допускает восмерич ные цифры от 0 до 7 и обозначается последней буквой Q или O, например, 253Q. На сегодня восмеричный формат используется весьма редко.

Десятичный формат с плавающей точкой. Этот формат поддер живается только ассемблером МASM.

При записи символьных и числовых констант следует помнить, что, например, символьная константа, определенная как DB '12', представляет символы ASCII и генерирует шест. 3132, а числовая константа, oпределенная как DB 12, представ ляет двоичное число и генерирует шест. 0C. Рис. 5.1 иллюстрирует директивы для определения различных символьных строк и числовых констант. Сегмент данных был ассемблирован для того, чтобы показать сгенерированный объектный код (слева).

ДИРЕКТИВА ОПРЕДЕЛЕНИЯ БАЙТА (DB) ------------------------------------------------------------

Ассемблер для IBM PC. Глава 5 107

Из различных директив, определяющих элементы данных, наиболее полезной является DB (определить байт). Символьное выражение в диpективе DB может содержать строку символов любой длины, вплоть до конца строки (см. FLD2DB и FLD7DB на рис. 5.1). Обратите внимание, что константа FLD2DB содержит символьную строку 'Personal Computer'. Объектный код показывает символы кода ASCII для каждого байта. Шест. 20 представляет символ пробела. Числовое выражение в директиве DB может содержать одну или более однобайтовых констант. Один байт выражается двумя шест. цифpами. Наибольшее положительное шест. число в одном байте это 7F, все "большие" числа от 80 до FF представляют отрицательные значения. В десятичном исчислении эти пределы выражаются числами +127 и -128. В примере на рис. 5.1 числовыми константами являются FLD3DB, FLD4DB, FLD5DB и FLD8DB. Поле FLD6DB представляет смесь из числовых и строковых констант, используемых для построения таблицы.




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