русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Описание символических имен


Дата добавления: 2015-06-12; просмотров: 1295; Нарушение авторских прав


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

Для описания символических имен в языке ассемблера служат директивы 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 ссылаются на одну и ту же область памяти.



<== предыдущая лекция | следующая лекция ==>
Структуры | Управление исходным файлом


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.212 сек.