Реферат: Программная модель процессоров семейства X86
- команда организации цикла со счетчиком ecx/cx;
- команда организации цикла со счетчиком ecx/cx с возможностью досрочного выхода из цикла по дополнительному условию.
jmp адрес_перехода - безусловный переход без сохранения информации о точке возврата. Аналог goto.
jmpm1 m4:
… …
m1: jmpm4
Условные переходы
Команды условного перехода имеют одинаковый синтаксис:
jcc метка_перехода
Мнемокод всех команд начинается с “j ” — от слова jump (прыжок), cc — определяет конкретное условие, анализируемое командой. Что касается операнда метка_перехода , то эта метка может находится только в пределах текущего сегмента кода, межсегментная передача управления в условных переходах не допускается .
Для того чтобы принять решение о том, куда будет передано управление командой условного перехода, предварительно должно быть сформировано условие, на основании которого и будет приниматься решение о передаче управления. Источниками такого условия могут быть:
- любая команда, изменяющая состояние арифметических флагов;
- команда сравнения cmp , сравнивающая значения двух операндов;
- состояние регистра ecx/cx.
Условные переходы по содержимому флагов
Название флага | Номер бита в eflags/flag | Команда условного перехода | Значение флага для осуществления перехода |
Флаг переноса cf | 1 | jc | cf = 1 |
Флаг четности pf | 2 | jp | pf = 1 |
Флаг нуля zf | 6 | jz | zf = 1 |
Флаг знака sf | 7 | js | sf = 1 |
Флаг переполнения of | 11 | jo | of = 1 |
Флаг переноса cf | 1 | jnc | cf = 0 |
Флаг четности pf | 2 | jnp | pf = 0 |
Флаг нуля zf | 6 |