Меню сайта

Урок 25. Физическая адресация

Все, -что до сих пор говорилось об адресации, относится к генерации
— — — так называемого смещения (offset) адреса.Смещение имеет 16-битовое
— — — значение. 8088 сегментирует память такимобразом, что можно адресо-
— — — ваться к памяти большей чем 64K. В этомпункте бует показан — способ
— — — сегментауии 8088.
— — — — — Поскольку размер слова в микропроцессоре8088 равен 16 бит, для
— — — него естественно — генерировать адреса в — 16бит длиной. — Это делает
— — — доступными для — прямой адрессации 2**16 -элементов или 65 — 535 байт
— — — памяти. — -Однако — — для — — некоторых — — — программ — — 64K — — ячеек — памяти
— — — недостаточно. — — Поэтому — фирма — — INTEL -сконструировала — — 8088 — для
— — — адресации 2**20 байт или одного мегабайтапамяти.
— — — — — Для -получения 20-битовой адресации требуется еще четыре бита к
— — — имеющимся 16-ти. Добавочные 4 битаадресной информации — берутся — из
— — — сегментных регистров. Сегментные регистрысами имеют размер 16 бит.
— — — 8088 -комбинирует — 16-битовый — адрес -смещения и 16-битовый регистр
— — — сегмета как показано на Фиг.3.5. Процессордополняет сегментный ре-
— — — гистр 4-мя нулевыми битами, что составляетвместе полное 20-битовое
— — — значение. -К расширенному значению сегмента процессор добавляет ад-
— — — рес сммещения, определяемый черезвычисление адреса. 20-битовый ре-
— — — зультат является указателем наисполнительный адрес.

— — — — — — — — — — — — — — -ЪДДДДДДДДДї
— — — — — — — — — — — — — — -і Сегмент і — 0000
— — — — — — — — — — — — — — -АДДДДДДДДДЩ
— — — — — — — — — — — — — — — — — — ЪДДДДДДДДДДДї
— — — — — — — — — — — — — — — — + — — і Смещение — і
— — — — — — — — — — — — — — — — — — АДДДДДДДДДДДЩ
— — — — — — — — — — — — — — — — — —————-
— — — — — — — — — — — — — — — — ЪДДДДДДДДДДДДДДДДї
— — — — — — — — — — — — — — — — і20-битовый адресі
— — — — — — — — — — — — — — — — АДДДДДДДДДДДДДДДДЩ

— — — — — — — — — -Фиг.3.5 Вычисление адреса с сегментом и смещением

— — — — — Каждая обращающаяся к памяти — команда может сформировать только
— — — 16-битовый адрес — операнда. В действительности -процессор применяет
— — — этот -адрес внутри — определенногосегмента. — Фиг. 3.6 иллюстриирует
— — — такой способ применения сегментации.

— — — — — — — — — — — ЕДДДДДДДДДДДДДДДДДДґДДДДДВДДДДСегментный регистр
— — — — — — — — — — -іі — — — — — — — — — — і — — і
— — — — — — — — — — -іі — — — — — — — — — — і -смещение
— — — — — — — — — — -іі — — — — — — — — — — і — — і
— — — — Сегмент — -іГДДДДДДДДДДДДДДДДДДЕ ДДДДДБДДДДАдресуемая область
— — — — — — 64К — ГДДДДДДДДДДДДДДДДДДґ
— — — — — — — — — — -іі — — — — — — — — — — і
— — — — — — — — — — -іі — — — — — — — — — — і
— — — — — — — — — — -іі — — — — — — — — — — і
— — — — — — — — — — — ЕДДДДДДДДДДДДДДДДДДґ
— — — — — — — — — — — і — — — — — — — — — — — — і
— — — — — — — — -Фиг.3.6 Сегментация.

— — — — — Начальный адрес — сегмента всегда имеет — — — нулив младших — — — четырех
— — — битах. -Адрес с — этим — свойством -имеет каждая — шестнадцатая ячейка
— — — памяти. Конструируя расположение данных — в своей программе помните,
— — — что сегмент всегда должен — приходиться на такую 16-битовую границу.
— — — Эти границы называются также границамипараграфов.

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

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