Относительный. Операнд Е адресуется относительно текущего содержимого программного счётчика. Предполагается, что операнд Е имеет значение 12460. Если команда имеет адрес 1500, а Е адрес 1726, то в машинном представлении команды её второе слово хранит число 1726-1504=222. Оно явл. относительным адресом операнда Е. Число 1504- адрес слова, следующего за последним словом команды. Таково содержимое программного счётчика после доступа к операнду Е.
MOV E, R2 до после
R2/0 R2/12460
Относит. косв. Хар-ся тем, что слово памяти, соответствующее записанному в команде символич. имени Е, сод. адрес операнда. Предполагается, что имени Е соответствует слово памяти с адресом 1726. И в этом слове хранится число 12460. Но это число интерпретируется как адрес операнда.
56. Организация памяти.
Единицы памяти.
-бит
-байт(8 бит)
-слово(16 бит)
-двойное слово(32 бита)
-учетверенное слово(64 бита)
Слово запис-ся в двух смежных байтах, начиная с младшего. Адресом слова явл-ся адрес его младшего байта.
Старший байт, наход-ся в ячейке с адресом: адрес младшего байта +1. Слово может размещаться как по четному, так и по нечетн. адресу. Выравнивание по границе слова означает, что адрес четный.
Все пространство памяти разбивается на параграфы--облости и 16 смежных байт, начиная с нулевого адреса. Выравнивание по границе параграфа означает, что 4 младших бита адреса нулевые. Более крупными единицами памяти явл-ся: страницы и сегменты. Объем страницы 4КБ, а объем сегмента произвольный. Сегментация явл-ся организацией памяти на прикладном уровне. Разбиение на страницы применяется на системном уровне. Шина адреса Intel 80X86 имеет 20 разрядов. Физический адрес памяти(20 бит) сост. из двух частей (адреса сегмента; исполнительного адреса),суммируемых со смещением на 4 бита.Сдвиг адреса сегмента на 4 бита влево эквивалентно умножению на 16, следовательно физический адрес можно вычислить:
PA=16*Seg+EA
57. Режимы адресации Intel 80X86.
1. Непосредственный режим. Данные явл-ся частью программы.
MOV DX, 12H ; (DX)-12h
1. Регистровый косвенный режим. Адрес данных находится как смещение, записанное в регистр BX. (SI, DI). MOV DS : [BX], 12H
DS=2000
BX=120
3. Регистровый относительный режим. Адрес данных определяется как сумма значения рег. BX и числа.
MOV DS : [BX+27H], 12h
Фазовый индексный режим. Адрес данных определяется как смещение записанное одновременно в базовом и индексном регистрах.
MOV DS : [BX+SI], 12h
DS : 2000
BX : 120
SI : 6
5. Относительный базовый индексный. Опр-ся виде смещения, формирующего виде суммы значения базового и индексного рег-ра и смещения виде const.
MOV DS : [BX+SI+4h], 12h
DS : 2000
BX : 120
SI : 6 6
59. Правила записи программы на языке Ассемблер.
Общие регистры Регистры Регистр
данных и адресов сегментов флагов (FLAGS) 16 разр.
CS |
SS |
DS |
ES |
FS |
GS |
код
стек
данные
Рег. AX исп-ся при умножении, делении, вводе-выв. инф.
AL-младшие биты.
AH-старшие биты.
Рег. BX исп-ся при различных режимах адресации памяти.
Рег. CX исп-ся в кач-ве счетчика цикла и указателя длины строковых операций.
Рег. DX исп-ся при умножении и делении слова, а также ввода-выв. с косвенной адресацией.
Рег. SP-указатель стека.
Рег. SI,DI-рег-ры исп-ые при стековых операциях.
CS-сигмент кодов команд.
SS-рег. сигмента стека.
DS-рег. сигмента данных.
ES, FS, GS-дополнительные рег. сигмента данных.
Содержимое сигментных рег-ов не может быть модифицировано. Они допускают лишь загрузку сохранения содержимого.
Рег. флагов.
0 разряд - CF-флаг переносов.
2 разряд - PF- флаг паритета.
4 разряд - AF- флаг дополнительного переноса в тетраде.
6 разряд - ZF- флаг нулевого результата.
7 разряд - SF- флаг знака.
8 разряд - TF- флаг пошагового режима.
11 разряд - OF-флаг переполнения.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.