Адресация по базе с индексированием — КиберПедия 

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Адресация по базе с индексированием

2024-02-15 19
Адресация по базе с индексированием 0.00 из 5.00 0 оценок
Заказать работу

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

Так как в этом режиме адресации складывается два отдельных смещения, то он удобен при адресации двумерных массивов, когда базовый регистр содержит начальный адрес массива, а значения сдвига и индексного регистра суть смещения по строке и столбцу.

Предположим, например, что Ваша ЭВМ следит за шестью предохранительными клапанами на химическом предприятии. Она считывает их состояния каждые полчаса и запоминает в ячейках памяти. За неделю эти считывания образуют массив, состоящий из 336 блоков (48 считываний в течение семи дней) по шесть элементов в каждом, а всего — 2016 значений.

Если начальный адрес массива загружен в регистр ВХ, сдвиг блока (номер считывания, умноженный на 12) - в регистре DI, а номер клапана задан в перемен­ной VALVE, то команда

MOV AX ,VALVE[BX][DI ]

загрузит требуемое считывание состояния клапана в регистр АХ. На рис. 5 изображен процесс извлечения результата третьего считывания (с номером 2) для клапана 4 из массива, у которого смещение в сегменте данных равно 100Н.

Приведем несколько допустимых форматов операндов, адресуемых по базе с индексированием:

MOVE       AX,[BX+2+DI]

MOVE       AX,[DI+BX+2]

MOVE       AX,[BX+2][DI]

MOVE       AX,[BX][DI+2]

КОМАНДЫ ПЕРЕСЫЛКИ ДАННЫХ

 

Команды пересылки данных осуществляют обмен данными и адреса­ми между регистрами и ячейками памяти или портами ввода-вывода. Эти команды разделены на четыре подгруппы: команды общего назначения, команды ввода-вывода, команды пересылки адреса и команды пересылки флагов.

 

Команды общего назначения

Основная команда общего назначения MOV (move - переслать) может пересылать байт или слово между регистром и ячейкой памяти или между двумя регистрами. Она может также пересылать непосредственно адресуемое значение в регистр или в ячейку памяти.

Команда MOV имеет следующий формат:

MOV приемник, источник

 

В ней допустимо большинство из возможных сочетаний операндов.

Приведем несколько примеров:

 

MOV AX,TABLE          ; Пересылка иэ памяти в регистр

MOV TABLE,AX          ; и наоборот

MOV ES:[BX],АХ         ; Можно заменить используемый регистр сегмента

MOV DS,AХ                              ; Пересылка между 16-битовыми регистрами

MOV BL.AL                              ; Пересылка между 8-битовыми регистрами

MOV CL,-30                   ; Пересылка константы в регистр

MOV DE5T,25H             ; или в память

 

В команде MOV исключаются следующие сочетания операндов:

1. Вы не можете осуществить непосредственную пересылку данных из одной ячейки памяти в другую. Чтобы выполнить такую пересылку, данные источника надо загрузить в регистр общего назначения, а затем запомнить содержимое этого регистра в приемнике. Например, если POUNDS и WEIGHT - переменные, находя­щиеся в памяти, то для пересылки значения из одной переменной в другую можно воспользоваться командами

MOV AX,POUNDS

MOV WEIGHT,AX

2. Вы не можете загрузить непосредственно адресуемый операнд в регистр сегмента. Как и в случае 1, сначала надо загрузить его в регистр общего назначе­ния. Например, следующие команды загружают номер блока сегмента данных (DATA_SEG) в регистр DS:

MOV HX,DATA_SEG

MOV DS,AX

Подобные команды обычно сопутствуют оператору ASSUME в сегменте команд. Они указывают Ассемблеру, где размещен сегмент данных.

3. Вы не можете непосредственно переслать значение одного регистра сегмента в другой. Делайте подобные пересылки через регистр общего назначения. Напри­мер, чтобы регистр DS указывал на тот же сегмент, что и регистр ES, воспользуй­тесь командами

MOV AX,ES

MOV DS,AX

(Для выполнения этой операции можно воспользоваться командами PUSH и POP, которые будут описаны в следующем разделе.)

4. Вы не можете использовать регистр CS в качестве приемника в команде пересылки.

Команда обмена XCHG

Команда обмена XCHG (exchange - обменять) меняет между собой значения двух регистров или регистра и ячейки памяти. Однако она не может выполнить обмен значений регистров сегмента.

Приведем несколько примеров команд XCHG:

XCHG AX,BX            ;Обменять значения двух регистров (слова

XCHG AL,BH     ; или байты

XCHG WRD_LOC,DX ;Обменять значения ячейки памяти

ХСНG DL,BYTE_LOC ; и регистра

Команды ввода-вывода

Команды ввода-вывода используются для взаимодействия с перифе­рийными устройствами системы. Они имеют формат

IN аккумулятор, порт

OUT порт, аккумулятор

где аккумулятор – регистр AL при обмене байтами или регистр АХ при обмене словами. Операндом порт может быть десятичное значение от 0 до 255, что позво­ляет адресоваться к 256 устройствам.

В качестве операнда порт можно использовать регистр DX, что позволяет легко изменять номер порта, например при необходимости пересылать одни и те же данные в несколько различных портов.

Приведем несколько примеров команд IN и OUT:

IN AL,200                   ;Ввести байт из порта 200

IN AL,PORT_VAL             ; или из порта, указанного константой

OUT ЗОН,AХ             ; Вывести слово в порт ЗОН

OUT DX,AX               ; или в порт, указанный в ОХ

Команды пересылки адреса

Команды пересылки адреса передают не содержимое перемен­ных, а их адреса.

 


Поделиться с друзьями:

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.01 с.