ВУЗ:
Составители:
Рубрика:
13
MOV AX, TABLE
Существует абсолютная и относительная прямая адресация.
• Относительная прямая адресация. Используется в командах перехода
• Абсолютная прямая адресация. В этом случае эффективный адрсе является
частью машинной команды, но формируется этот адрсе только из значения
поля смещения в команде.
3- Косвенная регистровая
При косвенной регистровой адресации исполнительный адрес операнда содержится в
базовом регистре BX, в регистре указателя BP или индексном регистре (SI или DI)
Косвенные регистровые операнды надо заключать в квадратные скобки, чтобы отличить их
от регистровых операндов.
MOV AX,[BX]
Для загрузки адреса в BX используется операция OFFSET(смещение) к адресу ячейки
памяти.
MOV BX, OFFSET TABLE
MOV AX,[BX]
4- Адресация по базе.
При адресации по базе Ассемблер вычисляет исполнительный адрес с помощью сложения
значения сдвига с содержимым регистров BXи BP.
Регистр BX удобно использовать при доступе к структурированным записям данных,
расположенным в разных областях памяти. В этом случае базовый адрес помещается в
базовый регистр BX и доступ к ее отдельным элементам осуществляется по их сдвигу
относительно базы.
MOV AX,[BX]+4
MOV AX,4[BP]
MOVAX,[BP+4]
5- Прямая адресация с индексированием.
При прямой адресации с индексированием исполнительный адрес вычисляется как сумма
значений сдвига и индексного регистра (DI или SI). Этот тип адресации удобен для доступа
к элементам таблицы, когда сдвиг указывает на начало таблицы, а индексный элемент к
элементам таблицы, когда сдвиг указывает на начало таблицы, а индексный регистр – на ее
элемент.
MOV DI,2
MOV AL,B_TABLE[DI]
Загрузится 3-й элемент таблицы.
6- Адресация по базе с индексированием
При адресации по базе с индексированием исполнительный адрес вычисляется как сумма
значений базового регистра, индексного регистра и, возможно, сдвига.
В этом режиме адресации складывается два отдельных смещения, то он удобен при
адресации двумерных массивов, когда базовый регистр содержит начальный адрес массива,
а значение сдвига и индексного регистра суть смещения по строке и столбцу.
MOV AX,SMECH[BX][DI]
Начальный адрес в BX, в DI сдвиг блока(номер строки), а SMECH – сдвиг
Примеры:
MOV AX,[BX+2+DI]
MOV AX,[DI+BX+2}
MOV AX,[BX+2][DI]
MOVAX,[BX][DI+2]
MOV AX, TABLE Существует абсолютная и относительная прямая адресация. • Относительная прямая адресация. Используется в командах перехода • Абсолютная прямая адресация. В этом случае эффективный адрсе является частью машинной команды, но формируется этот адрсе только из значения поля смещения в команде. 3- Косвенная регистровая При косвенной регистровой адресации исполнительный адрес операнда содержится в базовом регистре BX, в регистре указателя BP или индексном регистре (SI или DI) Косвенные регистровые операнды надо заключать в квадратные скобки, чтобы отличить их от регистровых операндов. MOV AX,[BX] Для загрузки адреса в BX используется операция OFFSET(смещение) к адресу ячейки памяти. MOV BX, OFFSET TABLE MOV AX,[BX] 4- Адресация по базе. При адресации по базе Ассемблер вычисляет исполнительный адрес с помощью сложения значения сдвига с содержимым регистров BXи BP. Регистр BX удобно использовать при доступе к структурированным записям данных, расположенным в разных областях памяти. В этом случае базовый адрес помещается в базовый регистр BX и доступ к ее отдельным элементам осуществляется по их сдвигу относительно базы. MOV AX,[BX]+4 MOV AX,4[BP] MOVAX,[BP+4] 5- Прямая адресация с индексированием. При прямой адресации с индексированием исполнительный адрес вычисляется как сумма значений сдвига и индексного регистра (DI или SI). Этот тип адресации удобен для доступа к элементам таблицы, когда сдвиг указывает на начало таблицы, а индексный элемент к элементам таблицы, когда сдвиг указывает на начало таблицы, а индексный регистр – на ее элемент. MOV DI,2 MOV AL,B_TABLE[DI] Загрузится 3-й элемент таблицы. 6- Адресация по базе с индексированием При адресации по базе с индексированием исполнительный адрес вычисляется как сумма значений базового регистра, индексного регистра и, возможно, сдвига. В этом режиме адресации складывается два отдельных смещения, то он удобен при адресации двумерных массивов, когда базовый регистр содержит начальный адрес массива, а значение сдвига и индексного регистра суть смещения по строке и столбцу. MOV AX,SMECH[BX][DI] Начальный адрес в BX, в DI сдвиг блока(номер строки), а SMECH – сдвиг Примеры: MOV AX,[BX+2+DI] MOV AX,[DI+BX+2} MOV AX,[BX+2][DI] MOVAX,[BX][DI+2] 13
Страницы
- « первая
- ‹ предыдущая
- …
- 11
- 12
- 13
- 14
- 15
- …
- следующая ›
- последняя »