Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕКЦИЯ3.DOC
Скачиваний:
2
Добавлен:
22.07.2019
Размер:
49.15 Кб
Скачать

Последовательность команд

mov BX,5

mov AL,array[BX]

загрузит в регистр AL элемент с индексом 5 – число 50. Тот же результат можно получить, загрузив в BX не индекс, а адрес массива:

mov BX,offset array

mov AL, 5[BX]

Другие варианты последней команды:

mov AL,[BX]+5

mov AL,[BX+5]

2.6. Базовый индексный. Адресуется память (байт или слово). Относительный адрес операнда определяется как сумма содержимого следующих пар регистров:

[BX][SI](подразумевается DS:[BX][SI])

[BX][DI](подразумевается DS:[BX][DI])

[BP][SI](подразумевается SS:[BP][SI])

[BP][DI](подразумевается SS:[BP][DI])

Допускается замена сегмента.

Пусть в сегменте данных определен массив из 10 слов:

words dw 0,10,20,30,40,50,60,70,80,90

Последовательность команд

mov BX,offset words

mov SI,10

mov AX,[BX][SI]

загрузит в регистр AX слов со смещением 10 байтов от начала массива, т. е. число 50.

2.7. Базовый индексный со смещением. Адресуется память (байт или слово). Относительный адрес операнда определяется как сумма содержимого двух регистров и смещения. Обозначение этого способа адресации:

смещение [BX][SI](подразумевается DS: смещение[BX][SI])

смещение [BX][DI](подразумевается DS: смещение[BX][DI])

смещение [BP][SI](подразумевается SS: смещение[BP][SI])

смещение [BP][DI](подразумевается SS: смещение[BP][DI])

Допустимы также обозначения (со всеми регистрами) вида:

смещение [BX+SI ]

[смещение +BX+DI]

[BP][DI]+смещение

Пусть в сегменте данных определен массив из 24 байтов:

syms db ‘ЙЦУКЕНГШЩЗХЪ’

db ‘QWERTYUIOP{}’

Последовательность команд

mov BX,12

mov SI,6

mov DL,syms[BX][SI]

загрузит в регистр DL элемент с индексом 6 из второго ряда , т. е. код ASCII буквыU. Тот же результат можно получить, загрузив в один из регистров не индекс, а адрес массива:

mov BX,offset syms

mov SI,6

mov DL,12[BX][SI]

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