Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Топ:
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Интересное:
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Дисциплины:
2017-11-17 | 481 |
5.00
из
|
Заказать работу |
|
|
Здесь code и data – имена сегментов кодов и данных, соответственно, а сегментный регистр es не адресуется по уполчанию.
Режимы адресации
Способ определения операнда называется режимом адресации. Различают следующие режимы адресации.
Регистровая прямая – операнд находится в регистре. Например: mov АХ,SI. Данная запись означает – переслать содержимое регистра SI в регистр АХ.
Непосредственная – непосредственный операнд (константа) присутствует в команде. Например: mov AX, 093Ah – означает: занести константу 093Ah в регистр АХ.
Прямая – исполнительный адрес операнда присутствует в команде. Например, mov AX,WW – означает: переслать в АХ слово памяти с именем WW, а выражение: mov BX,WW+2 переслать в ВХ слово памяти отстоящее от переменной с именем WW на 2 байта.
Регистровая косвенная - регистр содержит адрес операнда. Выражение mov[BX],CL – означает переслать содержимое регистра CL по адресу, находящемуся в регистре ВХ.
Регистровая относительная – адрес операнда вычисляется как сумма содержимого регистра и смещения: mov АХ,WW[SI] – переслать в АХ слово из памяти, адрес которого вычисляется как сумма содержимого регистра SI и смещения WW.
Индексно-базовая – адрес операнда вычисляется как сумма содержимых базового и индексного регистров и смещения: mov [BX+ SI+ 2],CL – переслать содержимое регистра CL по адресу, вычисляемому как сумма содержимого регистров ВХ, SI и константы 2.
Инструкции пересылки данных и двоичной арифметики
Команды данной группы приведены в таблице 2.2. Код определяет выполняемое командой действие, операнды показывают адреса ячеек, хранящих исходные данные, необходимые для выполнения команды и адрес ячейки результата. Процессор i8086 и более поздние версии относятся к двухадресным машинам. Это значит, что его команда может содержать не более двух операндов. Если для выполнения команды необходимо иметь два источника данных, например, сложение, то сохранение результата выполнения команды производиться по адресу одного из источников данных. Чтобы показать, какой из операндов будет хранить результат, его обозначают при описании команды как dst (destination – назначение), операнд, который используется только как адрес исходных данных, обозначается как src (source – источник). В двухоперандных командах операнд dst указывает, перед выполнением команды, адрес исходного данного, а после выполнения – адрес результата.
|
Таблица 2.2. Основные операторы Ассемблера
Мнемокод | Флаги | Действие | ||||||
Код | Операнды | O | S | Z | A | P | C | |
mov | dst, src. | - | - | - | - | - | - | пересылка |
хchg | dst, src | - | - | - | - | - | - | обмен |
add | dst, src | х | х | х | х | х | х | сложение |
adc | dst, src | х | х | х | х | х | х | сложение с переносом |
inc | dst | х | х | х | х | х | - | увеличить на единицу |
sub | dst, src | х | х | х | х | х | х | вычитание |
sbb | dst, src | х | х | х | х | х | х | вычитание с заемом |
dec | dst | х | х | х | х | х | - | уменьшение на единицу |
neg | dst | х | х | х | х | х | х | изменение знака |
rcl | dst,счетчик | х | - | - | - | - | х | циклический сдвиг влево |
rcr | dst,счетчик | х | - | - | - | - | х | циклический сдвиг вправо |
rol | dst,счетчик | х | - | - | - | - | х | циклический сдвиг влево |
ror | dst,счетчик | х | - | - | - | - | х | циклический сдвиг вправо |
sal | dst,счетчик | х | х | х | u | х | х | арифметический сдвиг влево |
sar | dst,счетчик | х | х | х | u | х | х | арифметический сдвиг вправо |
shl | dst,счетчик | х | х | х | u | х | х | логический сдвиг влево |
shp | dst,счетчик | х | х | х | u | х | х | логический сдвиг вправо |
push | src | - | - | - | - | - | - | сохранение слова в стеке |
pop | dst | - | - | - | - | - | - | восстановление слова из стека |
xlat | таблица | - | - | - | - | - | - | трансляция байтов из таблицы |
lea | dst, src | - | - | - | - | - | - | загрузка исполнительного адреса |
lds | dst, src | - | - | - | - | - | - | загрузка указателя с DS |
les | dst, src | - | - | - | - | - | - | загрузка указателя с ES |
lahf | - | - | - | - | - | - | загрузка флагов в АН | |
sahf | - | r | r | r | r | r | установка флагов из АН | |
pushf | х | - | - | - | - | х | сохранение флагов в стеке | |
popf | r | r | r | r | r | r | восстановление флагов из стека |
Примечание:
|
- флажок не модифицируется
х устанавливается или сбрасывается в соответствии с результатом
u не определен
r восстанавливается прежнее запомненное значение
Запись программ на языке ассемблера
В листинге 2.8 приведена типичная структура простой программы на ассемблере.
Листинг 2.8. Пример программы
Data segment;директива начала сегмента данных
D1 dw 34h;переменная d1 имеет размер
;2 байта и содержит значение 52
D2 db 10100110b;переменная d2 имеет размер
;1 байт и содержит значение 166
D3 dd 3 dup (?);массив d3 содержит 3 элемента
;по 4 байта, содержащих случайные
;значения (возможно нулевые)
Data ends;директива конца сегмента данных
|
|
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!