Меню сайта

Урок 30. Управляющие рагистры

Для -операций — управления — в -процессоре — 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.

Категория: Программирование на Ассемблере | Дата: 17.02.13

Меню раздела
Блок