Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Описание символических имен
Директивы описания символических имен позволяют создавать в исходной программе имена, использование которых существенно упрощает программирование. Символические имена являются константами времени ассемблирования и могут представлять число, текст, инструкцию или адрес. Для описания символических имен в языке ассемблера служат директивы EQU, LABEL и директива абсолютного присваивания (=). Директива абсолютного присваивания имеет следующий формат: имя=выражение
По этой директиве создается абсолютное имя, представляющее значение, равное текущему значению указанного выражения. Для хранения этого значения не выделяется никакой памяти. Вместо этого каждое вхождение указанного имени в исходном файле замещается значением выражения. Абсолютное имя может быть переопределено. В каждой директиве абсолютного присваивания в качестве имени может быть указано уникальное имя или имя, ранее использованное другой директивой абсолютного присваивания. Выражение может быть целым числом, одно- или двухсимвольной строковой константой, константным выражением или адресным выражением. Его значение не должно превышать 65535. Следует помнить, что значение абсолютного имени является переменной величиной в процессе ассемблирования и константой во время выполнения программы. Примеры: integer = 167 string = 'ab' const = 3*4 addr = string Директива EQU имеет следующий формат: имя EQU выражение Директива EQU создает абсолютное имя, алиас или текстовое имя путем присваивания имени указанного выражения. Под абсолютным здесь понимается имя, представляющее 16-битовое значение; алиасом называется ссылка на другое имя; текстовое имя представляет собой строку символов. Каждое вхождение имени в исходном файле Ассемблер замещает текстом или значением выражения в зависимости от типа используемого выражения. Имя должно быть уникальным и не может быть переопределено. В качестве выражения может задаваться целое число, строковая константа, действительное число, кодированное действительное число, мнемоника инструкции, константное выражение или адресное выражение. Выражение, имеющее значением целое число в пределах от 0 до 65535, порождает абсолютное имя, вхождения которого Ассемблер замещает этим значением. Для всех остальных выражений вхождения имени замещаются текстом.
Директива EQU иногда используется для создания простых макроопределений. Отметим, что замещение имен текстом или значением осуществляется до ассемблирования содержащего имя предложения. Примеры: k EQU 102u; значение pi EQU 3.1u; текст mat EQU 20*30; значение adr EQU [BP]; текст cle EQU XOR AX,AX; текст d EQU BYTE PTR; текст t EQU 'File'; текст Директива LABEL имеет следующий формат: имя LABEL тип Директива LABEL порождает новую переменную или метку путем присваивания имени указанного типа и текущего значения указателя позиции. Имя должно быть уникальным и не может быть переопределено. В качестве типа может быть задано одно из следующих ключевых слов, имеющих обычный смысл: u BYTE u WORD u DWORD u QWORD u TBYTE u NEAR u FAR. Пример: barray LABEL BYTE warray DW 100 DUP(0) Здесь имена barray и warray ссылаются на одну и ту же область памяти. Date: 2015-05-22; view: 508; Нарушение авторских прав |