Assembler для начинающих




Флаг переноса - часть 2


    втором сложении.
 
      втоорое сложение       первое сложение
      --------------------------------------------
          2222                    4444
          3333                    EEEE
             1 (перенос от первого)
          ----                   -----
          5556                   13332
      --------------------------------------------
         Фиг. 3.12 32-битовое сложение с переносом
 
      Первое 16-битовое сложение 4444H и EEEEH дает результат 13332H.
    Поскольку результат имеет длину 17 бит,  он не может быть помещен в
    16-битовый    регистр. Флаг  переноса регистра  состояний примет этот
    дополнительный бит арифметической информации. При втором 16-битовом
    сложении складываются не только числа  2222H и 3333H, но и значение
    флага переноса. Существует две  формы команды сложения: команда ADD
    складывает    два  16-битовых  числа,  давая      17-битовый результат, а
    команда сложения с переносом ADC  складывает два 16-битовых числа и
    значение  флага  переноса,      давая  также  17-битовый  результат.  В
    примере  на рис.3.12  для первой  операции сложения  использовалась
    команда ADD, а для второй операции сложения команда ADC.
      Оба приведенных примера используют флаг переноса для выполнения
    арифметики    повышенной точности.  В первом      примере после  сложения
    3333H  и  5555H  получился      нулевой  перенос;  когда  команда  ADC
    прибавляет    значение переноса  к числам  2222H и  4444H, получается
    правильный    результат 6666H.  Во втором  примере флаг  переноса был
    установлен,так как был перенос из младшей части суммы в старшую.
      В случае арифметики еще  большей точности программа может снова
    и снова  использовать  в  процессе    сложения  флаг переноса. Каждое
    16-битовое    сложение устанавливает  флаг переноса  в соответствии с
    его результатом, а программа может сложить следующие по старшинству
    части чисел с полученным значением    флага переноса. В каждом случае



Содержание  Назад  Вперед