Ассемблер. Команды сложения. Примеры.
Различие четырех различных команд сложение состоит в том, из каких источников берутся данные для их выполнения.
Пример команды: СЛОЖЕНИЕ С РЕГИСТРОМ
ADD r A+r->A
|
По команде содержимое регистра прибавляется к содержимому аккумулятора и результат помещается в аккумулятор. Исходное содержимое аккумулятора теряется. Это 1-байтовая команда, для выполнения которой затрачивается два микроцикла процессора. Если результат выполнения команды содержит 1 в старшем разряде или равен 0 или возникает перенос из старшего разряда регистра состояния устанавливаются в 1.
Пример команды: СЛОЖЕНИЕ С ПАМЯТЬЮ ПРЯМОЕ
ADD M, Адрес A+M->A
По команде содержимое области памяти, адрес которой указан в команде, приставляется к содержимому аккумулятора.
Второй и третий байты по команде составляют адрес области, в которой находиться одно из слагаемых. Результат помещается в аккумулятор. Исходное содержимое аккумулятора теряется. Это 3-байтовая команда, для выполнения которой затрачиваются четыре микроцикла процессора. Если результат выполнение команды содержит 1 в старшем разряде или равен 0 или возникает перенос из старшего разряда результата, то соответствующие разряды регистра состояния устанавливается в 1.
Пример команды: СЛОЖЕНИЕ С ПАМЯТЬЮ КОСВЕННОЕ
|
|
|
При выполнении команды содержимое области памяти прибавляется и содержимому аккумулятора. На область в которой находиться слагаемое указывает содержимое регистровой пары ВС, которая должна быть предварительно заполнена. Результат помещается в аккумулятор. Исходное содержимое аккумулятора теряется. Это 1-байтовая команда выполняется за три микроцикла. Если результат выполнения команды содержит 1 в старшем разряде или равен 0 или если возникает перенос из старшего разряда результата, то составляющие разряды регистра состояние устанавливается в 1.
Пример команды: СЛОЖЕНИЕ С НЕПОСРЕДСТВЕННЫМИ ДАННЫМИ
ADD I, Данные A+Данные
|
2-1 байт
При рекмуещим команды содержимое второго байта команды прибавляется к содержимому аккумулятора. Результат остается в аккумуляторе. Исходное содержимое аккумулятора теряется. Эта 2-байтовая команда выполняется за три микроцикла. Если результат выполнения команды содержит 1 в старшем разряде или равен 0, или возникает перенос из старшего разряда результата, то соответствующие разряды регистра состояния устанавливается в 1.
|
|
СЛОЖЕНИЕ
Рассмотрим пример использования команды СЛОЖЕНИЕ. На рисунке приведена блок-схема программы, содержащей эту команду.
Рисунок – Блок-схема программы выполняющей команду СЛОЖЕНИЕ
В данной программе используется такие команды пересылки данных ЗАГРУЗКА НЕПОСРЕДСТВЕННАЯ. Она служит для размещения в аккумуляторе десятичного числа 12. С помощью команды СЛОЖЕНИЕ С НЕПОСРЕДСТВЕННЫМИ ДАННЫМИ к десятичному числу 12 прибавляется число 24. Результат 36 остается в аккумуляторе. По завершении сложения происходит остановка процессора. Хотя на рисунках показаны шестнадцатеричные числа (ОС и 18), в действительности микропроцессор обрабатывает двоичные числа. Таким образом, выполняется следующие действия:
Двоичные числа Десятичные числа Шест. Числа
00001100 12 ОС
00011000 24 18
00100100 36 24
Вопрос 24
Дата добавления: 2018-04-15; просмотров: 381; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!