И директив. Метки, переменные и их атрибуты

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

Операторы на языке ассемблера делятся на три группы:

· команды,

· директивы,

· комментарии.

Команды

Команды – это символьная форма записи машинных команд. Общий синтаксис:

[<метка>:] <мнемокод> [<операнды>] [;<комментарий>]

Пример:

L: ADD SI,2; изменение индекса

INC BL

CBW

Метка – это имя. После нее обязательно ставится двоеточие. Метка нужна для ссылок на команду из других мест программы, например, для перехода на эту команду.

Значением метки является адрес команды.

Метка имеет три атрибута:

1. Значение регистра CS;

2. Значение регистра IP;

3. Дистанция Near, Far;

Если к данной метке осуществляется ближний вызов, то ее атрибут Near. Ближний вызов осуществляется путем изменения регистра IP.

Если осуществляется межсегментный переход, то это дальний вызов (изменяется значение регистров CS и IP).

Мнемокод является обязательной частью команды. Это служебное слово, указывающее в символьной форме операцию, которую должна выполнить команда.

Операнды команды отделяются друг от друга запятыми.

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

Директивы

Директивы служат для описания констант и переменных, которые используются в программе. Синтаксис директив:

[<имя>] <название директивы> [<операнды>] [;<комментарий>]

Имя, указываемое в начале директивы, – это имя константы или переменной, описываемой данной директивой.

Названия директив – служебные слова.

Операнды и комментарии директивы записываются так же, как и в командах.

Значением переменной является адрес.

В этом случае переменная имеет три атрибута:

1. SEG (адрес сегмента, в котором она находится);

2. OFFSET (внутрисегментное смещение);

3. TYPE (тип).

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

Используются в языке ассемблера для описания переменных, с которыми работает программа.

DB

[<имя>] DW <операнд> {, <операнд>} [;<комментарий>]

DD


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: