Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
konspekt_UMS.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
189.95 Кб
Скачать

Размещение информации в памяти

Процессор оперирует физической памятью, объёмом 2n, где n – разрядность шины адреса процессора.

Фото 1692

Каждый байт памяти имеет свой физический адрес.

Фото 1692

В памяти могут хранится восьмиразрядные байты, 16 разрядные слова, 32 разрядные двойные слова и т.д..

Слова (2 байта) могут занимать 2 смежных байта памяти, двойные слова – 4 смежных байта и т.д.. причём младший байт располагается в ячейке с меньшим адресом, страший байт располагается в ячейке с большим адресом.

Фото 1693, 1694

РОНы предназначены для хранения данных и адресов. Поддерживают работу с данными разрядностью 8, 16, 32 бита и адресами разрядностью 16 и 32 бита.

Младшие 16 разрядов этих РОНов доступны при использовании имён (AX, BX, CX, DX, BP). При операциях с байтами можно отдельно обращаться к младшему байту РОНов (разряды 7-0) при использовании имён AL, BL, CL, DL.

К старшему байту РОНов (разряды 15-8) при использовании AH, BH, CH, DH

ФОТО 1694, 1695

Операнды могут находится в:

  • Регистрах (РОНы, сегментные регистры (DS, ES, GS, FS, CS, SS)

  • В команде

  • В памяти (ОП)

Команда пересылки mov приёмник, источник

Содержимое источника копируется в приемник. Разрядность операндов должна быть одинаковой.

( ) – содержимое

:= принимает значение

MOV AL, BH; (AL):=(BH)

До выполнения: AL = 30, BH = 50

После выполнения: AL = 50, BH = 50

Способы адресации:

  • Регистровая адресация. Операнд находится в регистре, в команде указывается имя регистра (либо РОН, либо сегментный регистр)

MOV AX, CX; AX принимает значение СХ.

  • Непосредственная адресация. Операнд находится в команде в поле непосредственный операнд.

MOV AX, 40; АХ принимает значение 40

Или

A1 EQU 65535

MOV AX, A1

  • Прямая адресация. Операнд находится в памяти. Относительный адрес операнда (смещение) находится в команде в поле «смещение». В исходном тексте программы относительный адрес переменной.

MOV AL, AS; содержимое ячейки AS скопируется в РОН AL.

Фото 1696, 1697

  • Косвенно – регистровая адресация

Относительный адрес содержится в индексном регистре или базовом регистре.

MOV AL, [DI]

Фото 1697, 1698

  • Базовая адресация (косвенно-базовая). Операнд находится в памяти, относительный адрес операнда формируется путём сложения базового регистра и смещения. В исходном тексте смещение – имя переменной.

MOV AL, AS[BX]; AL = AS+BX

Фото 1699

  • Индексная адресация (косвенно – индексная). Операнд находится в памяти, относительный адрес формируется путём сложения содержимого индексного регистра и смещения переменной.

MOV AL, AS [SI]

  • Базово – индексная адресация. Операнд находится в памяти, относительный адрес операнда образуется путём сложения содержимого базового регистра и индексного регистра.

MOV AL, [BX][SI]

Фото 1700

  • Базово – индексная адресация со смещением. Операнд находится в памяти, относительный адрес операнда формируется путём сложения базового регистра, индексного регистра и смещения (имя переменной).

MOV AL, AS [BX][SI]

Фото 1701, 1702

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]