- •1, 2,... Данная совокупность ячеек называется оперативной памятью.
- •I80386 первым из семейства процессоров Intel стал поддерживать возможность
- •23Формирование адреса. Сегментная адресация в реальном и защищенном режимах. Размер сегмента. Адресное пространство.
- •I80386 с 32-разрядной шиной команд и данных в целях совместимости программ
- •II локальная дескрипторная таблица (Local Descriptor Table, ldt), ее адрес хра-
- •24.Формирование адреса. Страничная адресация.
- •Is Первую группу образуют пользовательские регистры, к которым относятся:
- •Il указателей на ячейки памяти.
- •II регистр-счетчик (Count register) ecx/cx/ch/cl применяется в командах, произ-
- •26Дескрипторы сегментов. Глобальные и локальные таблицы дескрипторов. Регистры gdtr и ldtr. Селекторы.
- •34Команды безусловной передачи управления. Команды вызова процедур и возврата из процедуры.
- •II промежуточный вариант — внутри другой процедуры или основной программы (в этом случае необходимо предусмотреть обход процедуры с помощью команды безусловного перехода j м р);
- •35Команды условной передачи управления. Команды организации циклов.
- •Как видите, большая часть полей предназначена для хранения содержимого регистров общего назначения и сегментных регистров
Как видите, большая часть полей предназначена для хранения содержимого регистров общего назначения и сегментных регистров
Переключение на задачу процессор производит автоматически и он сам использует дескриптор TSS и все поля из которых состоит сегмент состояния задачи. Переключение производится командами далёкой передачи управления:
|
far jmp |
|
far call |
|
iret |
Каждая из этих команд имеет адрес перехода, состоящий из двух частей - селектора сегмента и смещения. Для того, чтобы переключиться на задачу, нужно в качестве селектора указать селектор TSS, смещение при этом будет проигнорировано процессором, потому что в самом TSS описаны все регистры задачи, в частности, CS и EIP - вот они и определят, откуда именно будет выполняться задача. Для переключения на задачу в процессоре не предусмотрено специальных команд, просто когда процессор обнаруживает, что селектор в адресе далёкого перехода указывает на дескриптор TSS, то запускается механизм переключения задач.
29) Способом, или режимом адресации называют процедуру нахождения операнда для выполняемой команды. Если команда использует два операнда, то для каждого из них должен быть задан способ адресации, причем режимы адресации первого и второго операнда могут как совпадать, так и различаться. Операнды команды могут находиться в разных местах: непосредственно в составе кода команды, в каком-либо регистре, в ячейке памяти; в последнем случае существует несколько возможностей указания его адреса. Строго говоря, способы адресации являются элементом архитектуры процессора, отражая заложенные в нем возможности поиска операндов. С другой стороны, различные способы адресации определенным образом обозначаются в языке ассемблера и в этом смысле являются разделом языка.
Регистровая адресация. Операнд (байт или слово) находится в регистре. Этот способ адресации применим ко всем программно-адресуемым регистрам процессора.
inc СН ;Плюс 1 к содержимому СН
push DS ;DS сохраняется в стеке
Непосредственная адресация. Операнд (байт или слово) указывается в команде и после трансляции поступает в код команды; он может иметь любой смысл (число, адрес, код ASCII), а также быть представлен в виде символического обозначения.
mov АН, 40h ;Число 40h загружается в АН
mov AL,'*' ;Код ASCII символа "*' загружается в AL
int 21h ;Команда прерывания с аргументом 21h
Регистровая косвенная (базовая и индексная). Адресуется память (байт или слово). Относительный адрес ячейки памяти находится в регистре, обозначение которого заключается в прямые скобки. В МП 86 косвенная адресация допустима только через регистры ВХ, ВР, SI и DI. При использовании регистров ВХ или ВР адресацию называют базовой, при использовании регистров SI или DI - индексной. Преобразуем приведенный выше пример, чтобы продемонстрировать использование косвенной адресации через регистр.
mov AX,0B800h ;Сегментный адрес
mov ES,AX ; видеобуфера в ES
Регистровая косвенная адресация со смещением (базовая и индексная). Адресуется память (байт или слово). Относительный адрес операнда определяется, как сумма содержимого регистра BX, BP, SI или DI и указанной в команде константы, иногда называемой смещением. Смещение может быть числом или адресом. Так же, как и в случае базовой адресации, при использовании регистров BX, SI и DI подразумевается сегмент, адресуемый через DS, а при использовании ВР подразумевается сегмент стека и, соответственно, регистр SS. Рассмотрим применение косвенной адресации со смещением на примере прямого вывода в видеобуфер.
mov AX,0B800h ;Сегментный адрес
mov ES,AX ;видеобуфера в ES
mov DI, 80*2*24 ;Смещение к нижней строке экрана