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


       

ГЛАВА 5. Определение Данных


------------------------------------------------------------

Определение Данных

Цель: Показать методам определения констант и рабочих полей в ассемблерной программе.

ВВЕДЕНИЕ ------------------------------------------------------------

Сегмент данных предназначен для определения констант, рабочих полей и областей для вводв-вывода. В соответствии с имеющимися директивами в ассемблере разрешено определение данных различной длины: например, директива DB определяет байт, а директива DW oпределяет слово. Элемент данных может содержать непосредственное значение или константу, определен ную как символьная строка или как числовое значение. Другим способом определения константы является непосред ственное значение, т.е. указанное прямо в ассемблерной команде, например:

MOV AL,20H

В этом случае шестнадцатеричное число 20 становится частью ма шинного объектного кода. Непосредственное значение ограничено oдним байтом или одним словом, но там, где оно может быть применено, оно является более эффективным, чем использование конcтанты.

ДИРЕКТИВЫ ОПРЕДЕЛЕНИЯ ДАННЫХ ------------------------------------------------------------

Ассемблер обеспечивает два способа определения данных: во-первых, через указание длины данных и, во-вторых, по их cодержимому. Рассмотрим основной формат определения данных:

[имя] Dn выражение

ъ Имя элемента данных не обязательно (это указывается квадратными скобками), но если в программе имеются ссылки на некоторый элемент, то это делается посредством имени. Правила написания имен приведены в разделе "Формат кодирования" в главе 3. ъ Для определения элементов данных имеются следующие директивы: DB (байт), DW (слово), DD (двойное слово), DQ (учетверенное слово) и DT (десять байт). ъ Выражение может содержать константу, например:

FLD1 DB 25

или знак вопроса для неопределенного значения, например

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

FLDB DB ?

Выражение может содержать несколько констант, разделенных запятыми и ограниченными только длиной строки:




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