50. Команды передачи управления
КПУ изменяют последовательность выполнения команды и осуществляют переход на выполнение других команд.
Программа – последовательность команд и данных, занимающих определенное пространство оперативной памяти. Это пространство памяти может быть либо непрерывным, либо состоять из нескольких фрагментов. Процессор «узнает» какая программа должна выполняться следующей по содержимому пары регистров CS|IP. CS – регистр сегмента кода, в котором находится физический (базовый) адрес текущего сегмента. EIP|IP – регистр указателя команды, в котором находится значение, представляющее собой смещение в памяти следующей выполняемой команды относительно начала текущего сегмента кода.
Т.о., КПУ изменяют содержимое регистров CS и EI, в результате чего процессор выбирает для выполнения не следующую по порядку команду программы, а команду в некотором другом участке программы.
По принципу действия команды процессора, обеспечивающие организацию переходов в программе, можно разделить на три группы.
>Команды безусловной передачи управления:
Безусловного перехода
Вызова процедуры и возврата из процедуры
Вызова программных прерываний и возврата из программных прерываний
>Команды условной передачи управления
Переходу по результату команды сравнения
Переходу по состоянию определенного флага
Перехода по содержимому регистра ECX/CX
>Команды управления циклом
Организации цикла со счетчиком ECX/CX
Организации цикла со счетчиком ECX/CX с возможностью досрочного выхода из цикла по дополнительному условию.