Команды управления (безусловный и условные переходы)

4.1. Команда безусловного перехода

Б1 Б2 Б3 JMP
младшие разряды Адрес перехода
старшие разряды

(Счетчик команд РС)←(< Б3>< Б2>)

Пример: JMP 8105h ; (Счетчик команд РС)←8105h

4.2. Команды условных переходов (JM, JNM, JZ, JNZ)

Все команды условного перехода 3-х байтные: в 1-м байте КОП, в 3- м и 2-м байтах команды адрес перехода.

Последовательность выполнения команды условного перехода: если условие КОП выполняется, то в PC заносится адрес перехода из 3-го и 2-ого байтов команды. Если условие КОП не выполняется, то к значению PC прибавляется 3, т.е. МР переходит к выполнению очередной команды.

Команда перехода, если минус:

Б1 Б2 Б3 JM
младшие разряды адрес перехода
старшие разряды

(РС)←(< Б3>< Б2>), если S=1

(PC)←(РС)+3, если S=0

Команда перехода, если минус, т.е. если предыдущий результат отрицательный (S=1), то в PC заносится адрес 3- и 2- ого байтов команды и происходит переход по этому адресу. Если условие КОП не выполняется (S=0), то к значению PC прибавляется 3, т.е. МР переходит к выполнению очередной команды.

Пример команды:

Команда перехода, если ноль:

Б1 Б2 Б3 JZ
младшие разряды адрес перехода
старшие разряды

(РС)←(< Б3>< Б2>), если Z=1

(PC)←(РС)+3, если Z=0

Команда перехода, если не ноль:

Б1 Б2 Б3 JNZ
младшие разряды адрес перехода
старшие разряды

(РС)←(<Б3>< Б2>), если Z=0

(PC)←(РС)+3, если Z=1