История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Топ:
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Интересное:
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Дисциплины:
2020-10-20 | 90 |
5.00
из
|
Заказать работу |
|
|
Программа на ассемблере представляет собой последовательность строк. Строка может содержать:
1. Метку команды. Она представляет собой имя, заканчивающиеся двоеточием. Имя – последовательность символов, начинающихся с буквы или знака подчеркивания.
2. Команду (инструкцию). Любая команда ассемблера представляется в виде инструкции и операндов (операндов может не быть). Операнд – данные, с которыми манипулирует команда. Для удобства описания команд в таблице 3.1. приводятся обозначения операндов (цифра в обозначении указывает на количество бит в операнде).
3. Комментарий. Любая запись после точки с запятой (;).
4. Определение ячейки памяти. Состоит из имени (его может не быть), через пробел последовательность DB – байт (или DW – слово, или DD – двойное слово) и число, хранящееся в этой ячейке.
5. Метку команды и команду.
6. Метку команды, команду и комментарий
7. Некоторые другие комбинации первых четырёх пунктов.
Таблица 3.5.
Местонахождение операнда | Обозначение | Запись на ассемблере |
в команде | i8, i16, i32 | константное выражение |
в регистре общего назначения | r8, r16 | имя регистра |
в сегментном регистре | sr | имя регистра |
в ячейке памяти | m8, m16, m32 | адресное выражение |
Описание некоторых команд ассемблера.
Команды пересылки.
Команда MOV: MOV op1,op2
где допустимы следующие комбинации операндов:
op1 | r8 | m8 | r16 | sr (кроме CS) | m16 |
op2 | i8, r8, m8 | i8, r8 | i16,r16,sr,m16 | r16, m16 | i16, r16,sr |
По команде MOV содержимое op2 пересылается в op1.
Команда XCHG: xchg op1,op2
где допустимы следующие комбинации операндов:
op1 | r8 | m8 | r16 | m16 |
op2 | r8, m8 | r8 | r16, m16 | r16 |
По команде XCHG содержимое операндов меняется местами.
|
Команды сложения и вычитания.
Сложение: add op1,op2
Вычитание: sub op1,op2
Сравнение: cmp op1,op2
Комбинации операндов такие же, как и в команде XCHG, op2 может быть также константным выражением (i8 или i16).
По командам ADD и SUB в op1 пересылается сумма или разность op1 и op2 соответственно. Эти команды влияют на флаги переноса CF, переполнения OF, знака SF и нуля ZF.
Флаг CF устанавливается в 1, если при выполнении произошел перенос или заём. Флаг знака становится равным старшему биту результата, который используется как знаковый при представлении двоичных данных как целых чисел со знаком. Флаг переполнения устанавливается в 1, если результат не вмещается в размер операндов при представлении их содержимого как чисел со знаком. Флаг нуля устанавливается в 1, если результат равен нулю.
Команда CMP аналогична команде SUB, только не происходит запоминание результата. Команда CMP лишь устанавливает флаги.
Увеличение на 1: inc op
Уменьшение на 1: dec op
Операнд может быть следующим: r8, m8, r16, m16.
После выполнения этих команд значение операнда увеличивается или уменьшается на 1. В отличие от команд сложения и вычитания, INC и DEC не влияют на флаг CF.
Команды перехода.
Безусловный переход: jmp op
где оp может быть меткой команды, на которую осуществляется переход; регистром или ячейкой памяти, в которых хранится адрес команды, на которую осуществляется переход.
По команде JMP выполнение программы осуществляется с команды, адресуемой в операнде.
Условный переход: jxx op
где xx – условие перехода, op – метка команды.
По команде Jxx выполнение программы продолжается с команды, адресуемой в операнде, если выполняется условие xx, или с команды, следующей за командой Jxx, если условие xx не выполняется.
xx может содержать название флага, тогда переход будет осуществлен, если соответствующий флаг равен 1 (например jz op – переход при ZF=1); букву n и название флага, тогда переход будет осуществлен, если соответствующий флаг равен 0 (например jnz op – переход при ZF=0); аббревиатуру условия перехода, тогда переход осуществится при выполнении этого условия. Аббревиатуру составляют буквы, символизирующие следующие условия:
|
E – equal (равно);
N – not (не);
G – greater (больше) – для чисел со знаком;
L – less (меньше) – для чисел со знаком;
A – above (больше) – для чисел без знака;
B – below (меньше) – для чисел без знака.
Например: NE – не равно; NGE – не больше и не равно, т.е. L – меньше.
Условие перехода формируется набором флагов, которые устанавливаются в соответствии с результатом работы команды, предшествующей инструкции Jxx.
Флаг – это бит в регистре флагов F. Регистр F является 16-ти разрядным, но только 9 разрядов отводятся под флаги, значение остальных разрядов документацией не определено.
CF (carry flag) – флаг переноса.
OF (overflow flag) – флаг переполнения.
ZF (zero flag) – флаг нуля.
SF (sign flag) – флаг знака.
PF (parity flag) – флаг четности.
AF (auxiliary carry flag) – флаг дополнительного переноса.
DF (direction flag) – флаг направления.
IF (interrupt flag) – флаг прерываний.
ТF (trap flag) – флаг трассировки.
Логические команды.
Логические команды влияют на все флаги.
Отрицание: not op
По этой команде каждый бит операнда меняет своё значение на противоположное. Операнд может быть следующим: r8, m8, r16, m16.
Конъюнкция: and op1,op2
Сочетание операндов такое же, как и в команде ADD.
Команда AND производит поразрядное логическое умножение операндов, результат записывается на место первого операнда.
Проверка: test op1,op2
Команда TEST аналогична команде AND, но результат никуда не записывается. Помещая в оp2 маску, можно проверить, установлены ли в ноль соответствующие биты op1.
Дизъюнкция: or op1,op2
Допустимые сочетания операндов – как и в команде AND.
Команда OR производит побитовое логическое сложение операндов.
Исключающее ИЛИ: xor op1,op2
Допустимые сочетания операндов – как и в команде AND.
Команда XOR производит побитно операцию XOR. Команду XOR удобно использовать для инвертирования конкретных битов оp1.
|
Команды сдвига.
Команды сдвига влияют на все флаги.
Логический сдвиг влево на 1 разряд: shl op,1
Логический сдвиг влево на k разрядов: shl op,cl
Логический сдвиг вправо на 1 разряд: shr op,1
Логический сдвиг вправо на k разрядов: shr op,cl
При логическом сдвиге влево или вправо биты операнда сдвигаются на один разряд влево или вправо соответственно. При этом бит, уходящий за пределы размеров операнда, заносится в CF, а освобождающийся разряд принимает значение 0. При сдвиге на k разрядов, число k заносится в регистр CL.
Перечисленных выше команд достаточно для понимания управляющих программ (УП), рассмотренных в этом пособии. Более подробную информацию о командах МП ВМ86 можно найти в [1] и [3].
|
|
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!