Меню сайта

Урок 26. Сегментные регистры

INTEL 8088 — — — имеетчетыре сегментных — регистра: CS,DS,SSи — ES — для
— — — кодового, — — — — данных-, — — стекового — — — и — — дополнительного — — сегментов
— — — соответственно. — Это их — обычноеиспользование, — но применение этих
— — — регистров может именяться в соответствии спотребностями программы.
— — — — — 8088 -использует регистр — сегментапрограммы — для идентификации
— — — того -сегмента, — который — содержит — — — выполняемую — в — данный — момент
— — — программу. В сочетании с — указателем команд регистр CS используется
— — — для указания текущей команды. — Каждая выполняемая команда находится
— — — в ячейке, на которую указывает парарегистров CS:IP.
— — — — — Комбинация сегментного — регистра -с — регистром — — смещения -для
— — — указания физического — адреса записывается в — виде сегмент:смещение,
— — — например, CS:IP. Значение сегмента стоитперед двоеточием, смещение
— — — — после. -Такая — нотация — используется — — и — для — регистров, -и — для
— — — абсолютных — — — адресов. — Вы -можете — писать — такие -адреса как CS:100,
— — — DS:BX, 570:100, или 630:DI.
— — — — — Регистр сегмента данных (DS) — процессор использует для обычного
— — — доступа -к — — — данным. — Схемы — — — адресации — для — — — операндов, — которые -мы
— — — рассматривали в — предыдущем пункте, дают -16-битовое смещение, и — в
— — — большинстве случаев для формированияисполнительного адреса процес-
— — — сор комбинирует это смещение с ргеистромDS.
— — — — — Регистр -сегмента стека — указывает на — системный стек. — — — — — Команды
— — — PUSH, POP, CALL и RET управляют данными встеке в позиции по адресу
— — — SS:SP. -Регистр — SP — — -указатель — стека — — -служит для определения
— — — смещения -в стеке. — Кроме — того, -сегмент стека — подразумевается по
— — — умолчанию -при адресации — с — использованием — регистра BP. — Это дает
— — — доступ -к — данным — в -стеке — с — использованием в качестве указателя
— — — регистра -BP. В — следующей главе — есть пункт -о стековых операциях,
— — — который -демонстрирует, каким — образомадресация — через BP упрощает
— — — связь с данными в стеке.
— — — — — Наконец, регистр дополнительного сегментаиспользуется 8088 для
— — — доступа к -данным, когда требуется — — — болееодного сенмента. — Обычной
— — — операцией такого рода является — копирование данных из одной области
— — — памяти в -другую. Между областями, находящимися -не внутри одного и
— — — того же блока памяти размером 64К,невозможно произвести обмен дан-
— — — ными, используя единственныйсегментный — регистр. Имея в распоряже-
— — — нии дополнительный — сегментный регистр, программа, — — — — — какпоказано на
— — — Фиг. 3.7, -может указать одновременно исходный -и целевой сегменты.
— — — Регистр -DS — указывает — область -исходных — данных, — — — — — а -регистр ES —

— — — — — — — — — — — — — — — — — і — — — — — — — — — — — — — — і
— — — — — — — — — — — — — — — — — ГДДДДДДДДДДДДДДДДДДДДґ ДДДДДDS
— — — — Копировать — і — — — — Сегмент — — — — — — і
— — — — — отсюда — — — — — ДДДДДДДДґ — — — — — — — — — — — -і
— — — — — — — — — — -і — — — і — — — — источник — — — — — — — і
— — — — — — — — — — -і — — — ГДДДДДДДДДДДДДДДДДДДДґ
— — — — — — — — — — -і — — — і — — — — — — — — — — — — — — і
— — — — — — — — — — -і — — — і — — — — — — — — — — — — — — і
— — — — — — — — — — -і — — — ГДДДДДДДДДДДДДДДДДДДДґ ДДДДДES
— — — — — — — — — — -і — — — і — — — — — Сегмент — — — — — — — і
— — — — — — — — — — -і — — — і — — — — — — — — — — — — — — і
— — — — — -сюда ДДДДДДДДґ — — — назначения — — — — — і
— — — — — — — — — — — — — — — — — ГДДДДДДДДДДДДДДДДДДДДґ

— — — — — — -Фиг.3.7 Копирование из сегмента в
сегмент

— — — сегмент -назначения. — Для — передачи -данных — существуют специальные
— — — строковые команды, — которые автоматически используют -регистры DS и
— — — ES для указания исходного и целевогорегистров.

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

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