Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Топ:
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Интересное:
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Дисциплины:
2024-02-15 | 68 |
5.00
из
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
При адресации по базе с индексированием исполнительный адрес вычисляется как сумма значений базового регистра, индексного регистра и, возможно, сдвига.
Так как в этом режиме адресации складывается два отдельных смещения, то он удобен при адресации двумерных массивов, когда базовый регистр содержит начальный адрес массива, а значения сдвига и индексного регистра суть смещения по строке и столбцу.
Предположим, например, что Ваша ЭВМ следит за шестью предохранительными клапанами на химическом предприятии. Она считывает их состояния каждые полчаса и запоминает в ячейках памяти. За неделю эти считывания образуют массив, состоящий из 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 ; или в порт, указанный в ОХ
Команды пересылки адреса
Команды пересылки адреса передают не содержимое переменных, а их адреса.
|
|
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!