Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
арх_лекция_05.doc
Скачиваний:
6
Добавлен:
17.04.2019
Размер:
175.62 Кб
Скачать

Безусловные переходы

Безусловный переход изменяет адрес следующей исполняемой команды.

Вызов подпрограмм

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

Условные переходы

18 команд условных переходов, некоторые из которых используют для одной команды по два мнемонических представления, например je/jz и jg/jnie, доводя общее количество команд до 30.

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

Таблица 5. Окончания команд условных переходов

Окончание

Значение

Окончание

Значение

а

Выше

na

He выше

ае

Выше или равно

nае

He выше или равно

b

Ниже

nb

He ниже

be

Ниже или равно

nbe

He ниже или равно

с

Перенос

Нет переноса

е

Равно

Не равно

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.