Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vvod_inform_s_klav_v_pamyat_i_vyvod_eyo_na_ekr.doc
Скачиваний:
23
Добавлен:
07.06.2015
Размер:
699.9 Кб
Скачать

2.3. Синтаксис операндов языка assembler

Общий формат ассемблерной команды имеет следующий вид:

Метка: Мнемоника Операнд 1,Операнд 2; Комментарий.

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

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

М1: ADD AX, COUNT[BX]; добавить элемент ; из COUNT в АХ

Эта команда прибавляет к регистру АХ содержимое ячейки памяти COUNT, адрес которой формируется из содержимого регистра ВХ. В этой команде используется регистровый и регистрово-относительный режим адресации.

Когда операндом является слово в памяти, младший байт слова имеет меньший (младший) адрес, а старший байт - больший.

Форматы (синтаксис) операндов для различных режимов адресации приведем в табл. 2.

Таблица 2 .

Режим адресации

данных

Формат

Примеры

Формат

Примеры

Непосредственный

Выражение_константа

10011В

523

0А5Н

’аb’

Прямой

Переменная +/-выражение_константа

уу-хх+5 wat cnt-5 array +5

Регистровый

Регистр

ВН

АХ

Регистровый косвенный

[Регистр]

[ВХ]

[DI]

[SI]

Продолжение таблицы 2

Регистровый относительный

Переменная [базовый регистр +/- выражение_ константа] или [регистр +/- выражение константа]

war[BX]

[SI+10]

[ВХ-1]

Базовый индексный

[базовый_регистр][индексный регистр]

[BP][DI]

[ВР+DI]

Относительный базовый индексный

Переменная[базовый регистр+/- выражение_кон-станта][индексный_регистр +/-выражение_константа

или

переменная[базовый регистр][индексный регистр]

DATA[ВХ+5] [SI-2]

DATA[BX][SI]

[базовый_регистр +/ - выражение_конс-танта][индексный_ регистр +/- выраже-ние_константа]

[BP+2][SI+5]

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

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