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

Для описания простых типов данных в программе используются специальные директивы резервирования и инициализации данных, указывающие транслятору на выделение определенного объема памяти. Директивы резервирования и инициализации данных простых типов имеют формат, показанный на рис. 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 <операнд>

Директива знака равенства ‘=’ создает константу, присваивая имени числовое значение. Синтаксис: <имя> = <выражение>