
- •Лекция 05. Синтаксис ассемблера
- •Основные группы команд процессора
- •Команды передачи данных
- •Арифметические команды
- •Команды сложения
- •Умножение и деление знаковых значений
- •Безусловные переходы
- •Вызов подпрограмм
- •Условные переходы
- •Команды управления процессором
- •Команды для работы со строками
- •Трансляция текстов программ
- •Опции транслятора tasm
- •Опции компоновщика (редактора связей) tlink
- •Типы данных
Безусловные переходы
Безусловный переход изменяет адрес следующей исполняемой команды.
Вызов подпрограмм
Одним из наиболее полезных инструментов в языке ассемблера является процедура, или подпрограмма — набор взаимосвязанных команд, обычно выполняющих одну часто встречающуюся операцию.
Условные переходы
18 команд условных переходов, некоторые из которых используют для одной команды по два мнемонических представления, например je/jz и jg/jnie, доводя общее количество команд до 30.
Условные переходы требуют целевого адреса — метки, обозначающей место в программе, с которого она продолжит исполняться в случае выполнения заданного условия.
Таблица 5. Окончания команд условных переходов |
|||
Окончание |
Значение |
Окончание |
Значение |
а |
Выше |
na |
He выше |
ае |
Выше или равно |
nае |
He выше или равно |
b |
Ниже |
nb |
He ниже |
be |
Ниже или равно |
nbe |
He ниже или равно |
с |
Перенос |
nс |
Нет переноса |
е |
Равно |
nе |
Не равно |
g |
Больше |
ng |
Не больше |
ge |
Больше или равно |
nge |
Не больше или равно |
l |
Меньше |
nl |
Не меньше |
le |
Меньше или равно |
nle |
Не меньше или равно |
о |
Переполнение |
no |
Нет переполнения |
p |
Паритет |
np |
Нет паритета |
ре |
Паритет четный |
- |
|
po |
Паритет нечетный |
- |
|
s |
Знак |
ns |
Нет знака |
z |
Нуль |
nz |
Не нуль |
Команды управления процессором
Команды, представленные в табл. 6. непосредственно работают с процессором. Во всех случаях, кроме одного, эти команды управления процессором ассемблируются в однобайтовые коды и не требуют операндов. Большинство команд либо устанавливают, либо очищают отдельные биты флагов. Другие бинхронизируют процессор с внешними событиями, и, в одном случае, команда пор действительно не выполняет никакой работы.
Таблица 6. Команды управления процессором
Мнемокод / Операнды |
Описание |
Команды флагов |
|
clс cld cli cmc stc std sti |
Сброс флага переноса Сброс флага направления Сброс флага прерывания Переключение флага переноса Установка флага переноса Установка флага направления Установка флага прерывания |
Команды внешней синхронизации |
|
esc hlt lock wait |
Переключение на сопроцессор Останов процессора Блокировка шины доступа к данным Установка процессора в состояние ожидания |
Прочие команды |
|
nор |
Нет операции |
Операции с флагами
Первая группа команд устанавливает и очищает отдельные биты флагов. ы можете устанавливать и очищать флаг переноса (stc и с1с), флаг направления (std и eld) и флаг прерывания (sti и cli). Вы можете также дополнять с помощью cmc флаг переноса, переключая cf с 1 на 0 исО на 1.