Директивы определения данных
Для описания простых типов данных в программе используются специальные директивы резервирования и инициализации данных, указывающие транслятору на выделение определенного объема памяти. Директивы резервирования и инициализации данных простых типов имеют формат, показанный на рис. 2.2.
ДирективаDB (Define Byte) – определяет данные размером в байт.
Директива DW (Define Word) - определяет данные размером в слово.
Директива DD (Define Doubleword) - определяет данные размером в двойное слово.
Директива DQ (Define Quadword) - определяет данные размером в 4 слова.
Директива DT (Define Tenbyte) - определяет данные размером в 10 байтов.
Чтобы точно определить тип переменной, на которую производится ссылка, ассемблер использует операторы BYTE PTR, WORD PTR и DWORD PTR (указатель на байт, слово и двойное слово соответственно).
Для инициализации массивов применяется конструкция DUP, которая в общем случае имеет вид:
N DUP (нач. значение, нач. значение, ...)
где параметр N задает число повторений элементов, находящихся в круглых скобках.
Examle 3.1.Фрагмент программы резервирования и инициализации простых типов.
; описание и резервирование данных.
my_byte DB 25 ;резервирует байт памяти, присваивает ему my_byte идентификатор и заносит в него число 25;
my_word DW 1000 ;резервирует слово памяти, присваивает ему идентификатор my_word и заносит в него код 1000;
alpha DW 0Ah ;резервирует слово памяти, присваивает ему идентификатор alpha и заносит в него код 000A;
string DB 'Привет' ;резервирует 6 байт памяти и заносит в них строку символов и присваивает этой строке идентификатор string.
my_array DD 20 DUP (?) ;резервирует место для 20 полных адресов и присваивает этому массиву идентификатор my_array.
Директива EQU (equal - равно) – присваивает символическое имя строке символов или цифровой константе. Синтаксис: <имя> EQU <операнд>
Директива знака равенства ‘=’ создает константу, присваивая имени числовое значение. Синтаксис: <имя> = <выражение>