Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет№8(asm).docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
88.69 Кб
Скачать

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

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

1) Команда безусловного перехода. Формат команды: JMP <метка>. Для перехода в другие сегменты нужно указать атрибут far. Формат команды: JMP far <метка>.

Пример:

MOV…

M1: ADD…

JMP M1

2) Команда условного перехода. Формат команды: JXX <метка> Если некоторое условие (зависящее от команды) выполняется, то происходит передача управления по метке.

Таблица 2- Возможные команды условного перехода

Мнемоника

Формат

Комментарий

JA/JNBE

JA близ_метка

Перейти, если выше

JAE/JNB

JAE близ_метка

Перейти, если выше или равно

JB/JBAE/JC

JB близ_метка

Перейти, если ниже

JBE/JNA

JBE близ_метка

Перейти, если ниже или равно

JCXZ

JCXZ близ_метка

Перейти, если CX=0

JE/JZ

JE близ_метка

Перейти, если равно

JG/JNLE

JG близ_метка

Перейти, если больше

JGE/JNL

JGE близ_метка

Перейти, если больше или равно

JL/JNGE

JL близ_метка

Перейти, если меньше

JLE/JNG

JLE близ_метка

Перейти, если меньше или равно

JNC

JNC близ_метка

Перейти, если нет переноса

JNE/JNZ

JNE близ_метка

Перейти, если не равно

JNO

JNO близ_метка

Перейти, если нет переполнения

JNP/JPO

JNP близ_метка

Перейти, если нечетный

JO

JO близ_метка

Перейти, если перенос

JP/JPE

JP близ_метка

Перейти, если четный

JS

JS близ_метка

Перейти, если отрицательный

Здесь выше или ниже(A-above, B-below) относятся к беззнаковым операндам; больше или меньше (G-greater, L-lower) относятся к знаковым операндам.

Пример:

JE <метка>

СMP [BX], AL

JNE M1

MOV [SI], AL

M1: INC [SI]

INC [BX]

Команды организации цикла.

В качестве счётчика циклов используется регистр СХ. Исполнение: из содержимого СХ вычитается единица, после чего УУ процессора проверяет СХ на равенство нулю. Если СХ=0, то выполняется следующая (за LOOP) команда; возврат на метку.

Таблица 3-Варианты команды LOOP

Мнемоника

Формат

Комментарий

LOOP

LOOP близ_метка

Повторять цикл

LOOPE/LOOPZ

LOOPE близ_метка

Повторять, пока равны

LOOPNE/LOOPNZ

LOOPNE близ_метка

Повторять, пока не равны

Пример:

MOV CX, 40 ;дополним в массиве 40 байт.

……….

M1: ……….

CMP [BX], AL

LOOPNE M1

MOV [SI], AL