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

Сложение


    Команда ADD выполняет сложение указанных операндов, представленных
    в двоичном дополнительном коде.  Микропроцессор помещает результат
    на место первого операнда после того, как сложит оба операнда.
    Второй операнд не изменяется.  Команда корректирует регистр флагов
    в соответствии с результатом сложения.  Например, команда
 
            ADD   AX,BX
 
    складывает содержимое регистра BX с содержимым регистра AX, и
    оставляет результат в регистре AX.    Регистр флагов сообщает о том,
    был ли результат нулевым, отрицательным, имел ли четность, перенос
    или переполнение.


 
      Фиг. 4.8 кратко иллюстрирует варианты команды ADD.
    Существуют две формы сложения, 8=битовое и 16=битовое. В различных
    формах сложения принимают участие различные регистры. Ассемблер
    следит за тем, чтобы операнды соответствовали друг другу.
    Содержимое байтового регистра (например, CH) не может быть
    прибавлено к ячейке памяти, которая не имеет тип BYTE. Если ячейка
    памяти является одним из операндов, она может быть либо
    операндом=результатом, либо неизменяемым операндом. Тем самым
    команда может прибавить содержимое регистра к ячейке памяти и
    возвратить результат в память. Одним из операндов может также быть
    непосредственное значение. На Фиг. 4.9 показан листинг ассемблера с
    накоторыми арифметическими командами.
 
      Команда сложения с переносом ADC - это та же команда ADD, за
    исключением того, что в сумму включается флаг переноса. Для любой
    формы команды ADD существует сравнимая с ней команда ADC.
     ЪДДДДДДДДї     ЪДДДДДДДДї               ЪДДДДДДДДї
     і      AX   і     і     AX   і               і   AX   і
     і      BX   і     і     BX   і               і   BX   і
     і      CX   і     і     CX   і      ДДДДДДД>   і   CX   і
     і      DX   і     і     DX   і               і   DX   і
     АДДДДДДДДЩ     АДДДДДДДДЩ               АДДДДДДДДЩ
     ЪДДДДДДДДї  +  ЪДДДДДДДДї               ЪДДДДДДДДї



Содержание раздела