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), выполняется всегда, даже когда ранее поступивший запрос на обслуживание прерывания ожидает, когда прерывания будут разрешены. |