Ассемблер. Команды сложения. Примеры.



    Различие четырех различных команд сложение состоит в том, из каких источников берутся данные для их выполнения.

 

Пример команды: СЛОЖЕНИЕ С РЕГИСТРОМ

 

ADD r            A+r->A

ADD r

 


По команде содержимое регистра прибавляется к содержимому аккумулятора и результат помещается в аккумулятор. Исходное содержимое аккумулятора теряется. Это 1-байтовая команда, для выполнения которой затрачивается два микроцикла процессора. Если результат выполнения команды содержит 1 в старшем разряде или равен 0 или возникает перенос из старшего разряда регистра состояния устанавливаются в 1.

 

Пример команды: СЛОЖЕНИЕ С ПАМЯТЬЮ ПРЯМОЕ

 

ADD M, Адрес             A+M->A

 

 

  

 

 


По команде содержимое области памяти, адрес которой указан в команде, приставляется к содержимому аккумулятора.

    Второй и третий байты по команде составляют адрес области, в которой находиться одно из слагаемых. Результат помещается в аккумулятор. Исходное содержимое аккумулятора теряется. Это 3-байтовая команда, для выполнения которой затрачиваются четыре микроцикла процессора. Если результат выполнение команды содержит 1 в старшем разряде или равен 0 или возникает перенос из старшего разряда результата, то соответствующие разряды регистра состояния устанавливается в 1.

 

Пример команды: СЛОЖЕНИЕ С ПАМЯТЬЮ КОСВЕННОЕ

 

ADI M
ADI M            A+M->A

 

 

При выполнении команды содержимое области памяти прибавляется и содержимому аккумулятора. На область в которой находиться слагаемое указывает содержимое регистровой пары ВС, которая должна быть предварительно заполнена. Результат помещается в аккумулятор. Исходное содержимое аккумулятора теряется. Это 1-байтовая команда выполняется за три микроцикла. Если результат выполнения команды содержит 1 в старшем разряде или равен 0 или если возникает перенос из старшего разряда результата, то составляющие разряды регистра состояние устанавливается в 1.

 

Пример команды: СЛОЖЕНИЕ С НЕПОСРЕДСТВЕННЫМИ ДАННЫМИ

 

ADD I, Данные       A+Данные

ADD I Данные
              1-й байт

                2-1 байт

 

При рекмуещим команды содержимое второго байта команды прибавляется к содержимому аккумулятора. Результат остается в аккумуляторе. Исходное содержимое аккумулятора теряется. Эта 2-байтовая команда выполняется за три микроцикла. Если результат выполнения команды содержит 1 в старшем разряде или равен 0, или возникает перенос из старшего разряда результата, то соответствующие разряды регистра состояния устанавливается в 1.

 

СЛОЖЕНИЕ

    Рассмотрим пример использования команды СЛОЖЕНИЕ. На рисунке приведена блок-схема программы, содержащей эту команду.

 

 

 

 


  

 

 

 


 

 

 

 

 


    Рисунок – Блок-схема программы выполняющей команду СЛОЖЕНИЕ

 

    В данной программе используется такие команды пересылки данных ЗАГРУЗКА НЕПОСРЕДСТВЕННАЯ. Она служит для размещения в аккумуляторе десятичного числа 12. С помощью команды СЛОЖЕНИЕ С НЕПОСРЕДСТВЕННЫМИ ДАННЫМИ к десятичному числу 12 прибавляется число 24. Результат 36 остается в аккумуляторе. По завершении сложения происходит остановка процессора. Хотя на рисунках показаны шестнадцатеричные числа (ОС и 18), в действительности микропроцессор обрабатывает двоичные числа. Таким образом, выполняется следующие действия:

Двоичные числа               Десятичные числа            Шест. Числа

00001100                 12                                      ОС

00011000                 24                                      18    

00100100                 36                                      24

 

 

Вопрос 24


Дата добавления: 2018-04-15; просмотров: 381; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!