Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Met_Lab2.pdf
Скачиваний:
160
Добавлен:
11.05.2015
Размер:
1.1 Mб
Скачать

4. Операторы и директивы

4.1. "Препроцессорные" директивы INCLUDE и EQU

Директивы INCLUDE и EQU аналогичны директивам препроцессорной обработки #include и #define языка С. В отличие от большинства директив и команд Ассемблера эти две директивы могут стоять где угодно в программе, в том числе вне всех программных сегментов.

Формат директивы INCLUDE: include Имя_файла

Операнд Имя_Файла записывается по правилам операционной системы (и может включать в себя имя диска и имена каталогов).

Директива действует следующим образом. В то место, где стоит директива, вписывается указанный файл (если, конечно, он доступен). Фактически на компиляцию поступает текст программы со включенным файлом.

При помощи директивы INCLUDE можно оформить "скелет" простой программы на Ассемблере так, что не будет необходимости вмешиваться в него и вписывать что-либо вручную:

1IDEAL

2

MODEL

small

3

STACK

256

4DATASEG

5 Include my_data.asm

6CODESEG

7

Start: mov

ax,@data

8

 

mov

ds,ax

9

Include my_code.asm

10

Exit:

mov

ax,4C00h

11

END

int

21h

12

Start

 

Теперь необходимо только в текущем каталоге подготовить файл определения данных конкретной программы my_data.asm, и файл кодов конкретной программы my_codes.asm и запустить компилятор.

Директива EQU также может стоять в любом месте программы, в том числе вне любого программного сегмента. Ее формат:

Имя equ Операнд

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

Если в качестве операнда в правой части написано некоторое константное выражение, то оно вычисляется и ниже по программе каждое вхождение имени из левой части заменяется на это вычисленное значение.

47

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]