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

Сдвиговые операции

 Команда:

SAR приемник, счетчик

 Назначение:

Арифметический сдвиг вправо

 Команда:

SAL приемник, счетчик

 Назначение:

Арифметический сдвиг влево

 Команда:

SHR приемник, счетчик

 Назначение:

Логический сдвиг вправо

 Команда:

SHL приемник, счетчик

 Назначение:

Логический сдвиг влево

 Процессор:

8086

Рис. 7. Сдвиговые операции

 Команда:

SHRD приемник, источник, счетчик

 Назначение:

Сдвиг повышенной точности вправо

 Команда:

SHLD приемник, источник, счетчик

 Назначение:

Сдвиг повышенной точности влево

 Процессор:

80386

Рис. 8. Сдвиги двойной точности

 Команда:

ROR приемник, счетчик

 Назначение:

Циклический сдвиг вправо

 Команда:

ROL приемник, счетчик

 Назначение:

Циклический сдвиг влево

 Команда:

RCR приемник, счетчик

 Назначение:

Циклический сдвиг вправо через флаг переноса

 Команда:

RCL приемник, счетчик

 Назначение:

Циклический сдвиг влево через флаг переноса

 Процессор:

8086

Рис. 9. Циклические сдвиги

Команды передачи управления

 Команда:

JMP операнд

 Назначение:

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

 Процессор:

8086

В зависимости от типа перехода различают:

  • переход типа short (короткий переход) — если адрес перехода находится в пределах от –127 до +128 байт от команды JMP;

  • переход типа near (ближний переход) — если адрес перехода находится в том же сегменте памяти, что и команда JMP;

  • переход типа far (дальний переход) — если адрес перехода находится в другом сегменте. Дальний переход может выполняться и в тот же самый сегмент, если в сегментной части операнда указано число, совпадающее с текущим значением CS;

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

 Команда:

Jcc метка

 Назначение:

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

 Процессор:

8086

Таблица 7. Варианты команды Jcc

Код команды

Реальное условие

Условие для CMP

JA JNBE

CF = 0 и ZF = 0

если выше если не ниже или равно

JAE JNB JNC

CF = 0

если выше или равно если не ниже если нет переноса

JB JNAE JC

CF = 1

если ниже если не выше или равно если перенос

JBE JNA

CF = 1 и ZF = 1

если ниже или равно если не выше

JE JZ

ZF = 1

если равно если ноль

JG JNLE

ZF = 0 и SF = OF

если больше если не меньше или равно

JGE JNL

SF = OF

если больше или равно если не меньше

JL JNGE

SF <> OF

если меньше если не больше или равно

JLE JNG

ZF = 1 и SF <> OF

если меньше или равно если не больше

JNE JNZ

ZF = 0

если не равно если не ноль

JNO

OF = 0

если нет переполнения

JO

OF = 1

если есть переполнение

JNP JPO

PF = 0

если нет четности если нечетное

JP JPE

PF = 1

если есть четность если четное

JNS

SF = 0

если нет знака

JS

SF = 1

если есть знак

 Команда:

JCXZ метка

 Назначение:

Переход, если СХ = 0

 Процессор:

8086

 Команда:

JECXZ метка

 Назначение:

Переход, если EСХ = 0

 Процессор:

80386

 Команда:

LOOP метка

 Назначение:

Цикл

 Процессор:

8086

 Команда:

LOOPE метка

 Назначение:

Цикл, пока равно

 Команда:

LOOPZ метка

 Назначение:

Цикл, пока ноль

 Команда:

LOOPNE метка

 Назначение:

Цикл, пока не равно

 Команда:

LOOPNZ метка

 Назначение:

Цикл, пока не ноль

 Процессор:

8086

 Команда:

CALL операнд

 Назначение:

Вызов процедуры

 Процессор:

8086

 Команда:

RET число RETN число RETF число

 Назначение:

Возврат из процедуры

 Процессор:

8086

 Команда:

INT число

 Назначение:

Вызов прерывания

 Процессор:

8086

 Команда:

IRET IRETD

 Назначение:

Возврат из обработчика прерывания

 Процессор:

8086

 Команда:

INT3

 Назначение:

Вызов прерывания 3

 Процессор:

8086

 Команда:

INTO

 Назначение:

Вызов прерывания 4 при переполнении

 Процессор:

8086

 Команда:

BOUND индекс, границы

 Назначение:

Проверка выхода за границы массива

 Процессор:

80186

 Команда:

ENTER размер, уровень

 Назначение:

Вход в процедуру

 Процессор:

80186

 Команда:

LEAVE

 Назначение:

Выход из процедуры

 Процессор:

80186