На главную Назад
Добро пожаловать, уважаемый посетитель!

Дляоперацийуправлениявпроцессоре8088 используются главным

образом три16-битовых регистра. Это указательстека (SP), указа-

тель команды (IP) ирегистр флагов. Два регистра-указателя процес-

сор использует для необходимой при выполнении программы адресации в

памяти. Регистрфлагов содержит кодысостояний, которые программа

может использовать для управления своим выполнением.

Указатель команд - это16-битовый регистр, который содержит смеще-

ние очередной команды. Какпоказано в предыдущем пункте, Процессор

использует регистр CS совместно с регистром IP для формирования 20-

битового физического адреса. Регистр CS определяет сегмент выполня-

емой программы, а IP задает смещение.

Посколькувзаданииадресаочереднойкоманды участвует два

регистра,существуетнесколькоспособовзадатьходвыполнения

программы.Наиболее обычныйиз этихспособов осуществляетсяпри

нормальном выполнении программы. При извлечении процессором команды

изпамяти иее выполнениизначение регистраIP увеличивается на

размер командыв байтах. Теперпара CS:IP указываетна следующую

команду.

Дляизменения порядкавыполнения командиспользуются команды

перехода. Команда перехода одного вида изменяет только регистр IP и

дает переходвнутри одного сегмента. Этоттип перехода называется

внутрисегментнымилиблизким(NEAR)переходом. Спецификация для

неготребуетлишьновоезначениедлярегистраIP. Регистр CS

остается без изменений. Близкий переход может передавать управление

тольковнутритекущегосегмента,поэтомудальностьперехода

ограничена сверху 64K байт. Для перехода к боле отдаленному участку

программы требуется переход другого типа.

Переход второго типа называется межсегментным или далеким (FAR)

переходом. При этом переходе процессор назначает новые значения как

для IP таки для CS. Этот переходпозволяет выполнять новую прог-

рамму расположеннуюв любом месте адресногопространства 8088. Но

длявыполнениятакогопереходакомандадолжна определить новые

значения дляобоих регистров -CS и IP.При прямом переходеэто

требует пяти-байтовой команды : один байтна код операции и по два байта для регистров CS и IP.


 

Mail.ru