В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > Обзоры по типам > Микроконтроллеры > MCS-51 > Команды
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


Команда DEC <байт>

Команда "декремент" производит вычитание "1" из указанного опеанда. Начальное значение 00Н перейдет в 0FFH. Команда DEC не влияет на флаги. Этой командой допускается четыре режима адресации операнда:

  1. к аккумулятору
  2. регистровый
  3. прямой
  4. косвенно-регистровый

Рассмотрим их.


  1. Ассемблер: DEC A
    Код:
    0 0 0 1 0 1 0 0
    Время: 1 цикл
    Алгоритм: (A) : =(A)-1
    Пример:
              ;(A)=11H, (C)=1, (AC)=1
    DEC A     ;(A)=10H, (C)=1, (AC)=1
                        



  2. Ассемблер: DEC Rn ; где n=0-7
    Код:
    0 0 0 1 1 rrr
    где rrr=000-111
    Время: 1 цикл
    Алгоритм: (Rn) :=(Rn)-1
    Пример:
                 ;(R1)=7FH,
                 ;(ОЗУ[7F])=40H, (ОЗУ[7F])=00H
      DEC @R1 
      DEC R1
      DEC @R1     ;(R1)=7EH,
                  ;(ОЗУ[7F])=3FH, (ОЗУ[7F])=FFH         
    		   



  3. Ассемблер: DEC <direct>
    Код:
    0 0 0 1 0 1 0 1
    direct address
    Время: 1 цикл
    Алгоритм: (direct) : = (direct)-1
    Пример:
                 ;(SCON)=A0H, (C)=1, (AC)=1
    DEC SCON     ;(SCON)=9FH, (C)=1, (AC)=1
    



  4. Ассемблер: DEC @Ri ; где i=0,1
    Код:
    0 0 0 1 0 1 1 i
    Время: 1 цикл
    Алгоритм: ((Ri) :=((Ri)-1)
    Пример:
                ;(R1)=7FH,
                ;(ОЗУ[7F])=40H, (ОЗУ[7F])=00H  
    DEC  @R1            
    DEC  R1
    DEC  @R1     ;(R1)=7EH,
                 ;(ОЗУ[7F])=3FH, (ОЗУ[7F])=FFH
    			 

Примечание. Если эта команда используется для изменения информации на выходе порта, значение, используемое как исходные данные, считывается из "защелки" порта, а не с выводов БИС.