Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Топ:
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Основы обеспечения единства измерений: Обеспечение единства измерений - деятельность метрологических служб, направленная на достижение...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Интересное:
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Дисциплины:
2017-11-17 | 471 |
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;директива конца сегмента данных
|
|
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!