Поиск по сайту:

 


По базе:  

микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Обзоры по типам > Микроконтроллеры > MCS-51 > Команды

реклама

 




Мероприятия:




Команда SUBB A, <байт источника>

Команда "вычитание с заемом" вычитает указанную переменную вместе с флагом переноса из содержимого аккумулятора, засылая результат в аккумулятор. Эта команда устанавливает флаг переноса (заема), если при вычитании для бита 7 необходим заем, в противном случае флаг переноса сбрасывается. Если флаг переноса установлен перед выполнением этой команды, то это указывает на то, что заем необходим при вычитании с увеличенной точностью на предыдущем шаге, поэтому флаг переноса вычитается из содержимого аккумулятора вместе с операндом источника. (АС) устанавливается, если заем необходим для бита 3 и сбрасывается в противном случае. Флаг переполнения (OV) устанавливается, если заем необходим для бита 6, но его нет для бита 7, или есть для бита 7, но нет для бита 6.

При вычитании целых чисел со знаком (OV) указывает на отрицательное числоЮ которое получается при вычитании отрицательной величины из положительной, или положительное число, которое получается при вычитании положительного числа из отрицательного.

Операнд источника допускает четыре режима адресации:

  1. регистровый;
  2. прямой;
  3. косвенно-регистровый;
  4. непосредственный (к константе).

  1. Ассемблер: SUBB A, Rn; где n=0-7
    Код:
    1 0 0 1 1 rrr
    где r=000-111
    Время: 1 цикл
    Алгоритм: (A) : = (A)-(C)-(Rn);
    (C):=X, (AC):=X, (OV):=X, где X=(0 или 1)
    Пример:
                 ;(A)=C9H,  (R2)=54H, (C)=1
    SUBB  A,R2   ;(A)=74H,  (R2)=54H, (C)=0
                 ;(AC)=0, (OV)=1
    



  2. Ассемблер: SUBB A, <direct>
    Код:
    1 0 0 1 0 1 0 1
    direct address
    Время: 1 цикл
    Алгоритм: (A) : =(A)-(C)-(direct);
    (C):=X, (AC):=X, (OV):=X, где Х=(0 или 1)
    Пример:
              ;(A)=97H, (B)=25H, (C)=9
    SUBB  A,B ;(A)=72H, (B)=25H, (C)=0,
              ;(AC)-0, (OV)=1
    



  3. Ассемблер: SUBB A@Ri; где i=0,1
    Код:
    1 0 0 1 0 1 1 i
    Время: 1 цикл
    Алгоритм: (A) : = (A)-(C)-((Ri));
    (C):=X, (AC):=X, (OV):=X, где Х=(0 или 1)
    Пример:
                 ;(A)=49H,  (C)=1, (R0)=33H,
                 ;(ОЗУ[33])=68H
    SUBB  A,@R0  ;(A)=E0H,  (C)=1, (AC)=0, (OV)=0
    



  4. Ассемблер: SUBB A,#data
    Код:
    1 0 0 1 0 1 0 0
    #data8
    Время: 1 цикл
    Алгоритм: (A):=(A)-(C)-(#data8);
    (C):=X, (AC):=X, (OV):=X, где Х=(0 или 1)
    Пример:
                   ;(A)=0BEH, (C)=0
    SUBB  A,#3FH   ;(A)=7FH, (C)-0, (AC)=1, (OV)=1
    





 
Впервые? | Реклама на сайте | О проекте | Карта портала
тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru
©1998-2023 Рынок Микроэлектроники