MSP430 система команд - Команда EINT

*EINT Разрешение (общее) прерываний
Синтаксис EINT
Операция 1 -> GIE или
(0008h .OR. SR -> SR / .src .OR. dst -> dst)
Эмуляция BIS #8,SR
Описание Все прерывания разрешаются. Константа #08h и регистр статуса SR логически складываются (OR). Результат помещается в регистр статуса SR.
Биты статуса Биты статуса не изменяются
Биты режима GIE устанавливается. Биты OSCOFF и CPUOFF не изменяются.
Пример Бит общего разрешения прерываний (GIE) в регистре статуса устанавливается.
; Подпрограмма обработки прерывания портов с P1.2 по P1.7
; P1IN – это адрес регистра, в котором читаются все биты порта.
; P1IFG – это адрес регистра, в котором фиксируются все события, вызывающие прерывания
;
               PUSH.B &P1IN;
               BIC.B  @SP,&P1IFG;  ; сброс только принятых флагов
               EINT               ; Предварительно установленные флаги прерывания
                                  ; порта 0 сохранены на стеке, поэтому
                                  ; допустимы другие прерывания
               BIT    #Mask,@SP
               JEQ    MaskOK      ; переход, если флаги идентичны представленной
                                  ; маске
               …
MaskOK         BIC    #Mask,@SP
               …
               INCD   SP          ; Вспомогательное действие, обратное команде
                                  ; PUSH, использованной в начале процедуры
                                  ; обработки прерывания. Корректирует указатель
                                  ; стека для правильного выхода из процедуры
                                  ; обработки прерывания
               RETI
Примечание: разрешение прерываний
Команда, следующая за командой разрешения прерываний (EINT), выполняется всегда, даже когда ранее поступивший запрос на обслуживание прерывания ожидает, когда прерывания будут разрешены.






© 2008 Электроника для начинающих | Programming V.Lasto | Povered by Nano-CMS | Designer S.Gordi