Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Топ:
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Основы обеспечения единства измерений: Обеспечение единства измерений - деятельность метрологических служб, направленная на достижение...
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Интересное:
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Дисциплины:
2017-11-17 | 475 |
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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!