Команды микропроцессорной техники

Фасады из планкена, покраска планкен.          

FAM DB 'IVANOV'


            Символьные цепочки, содержащие более двух символов , применяются только для инициализации памяти. Ассемблер представляет цепочку в виде последовательности байт, соответствующих кодированию символов цепочки в коде ASCII.

Директивы.

Директивы определения переменных.

Директивы DB,DW,DD.

            Рассмотрение директив начнем с директив определения данных DB (определить байт), DW (определить слово), DD (определить двойное слово).

Формат директив.

  DB

<имя переменной>    DW  <нач. значение>, [<нач. значение>]…

   DD

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

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

Замечание! .кроме директив DB,DW,DD есть еще следующие директивы для 386,486, 586 .



DP - определить указатель -                       32-разрядный указатель

DF - определить дальний указатель -        48- разрядный указатель

DQ - определить учетверенное слово ( 8байтов) -          вещественные числа

DT - определить 10 байтов -                                  BCD числа

Инициализированные и неинициализированные слова.

Если первоначальное значение переменных не важно, то их можно определить как неинициализированные переменные .

stud                             db                    ? ; байт с неизвестным значением

morestud         dw                   ?;  слово с неизвестным значением .


Для получения резервирования большого инициированного пространства следует использовать DUP выражения со знаком ? в скобках.

При запуске программы созданный этой директивой 1000-байтовый буфер состоит из байтов, не имеющих определенных значений. Главная причина для использования неинициализированных переменных состоит в уменьшении размера исполняемого файла. Вместо записи бесполезных байтов на диск во время исполнения выделяется неинициализированное пространство. Для этого необходимо придерживаться двух правил:

1) Размещать все неинициализированные переменные последними в сегменте данных.

2)      Предварять неинициализированные переменные директивой UDATASЕG. Встретив директиву UDATASЕG Turbo Assembler автоматически поместит эту часть за последнюю инициализированную страницу.

Примеры:



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