interrupt.h header - ylab-nsu/cdm16-llvm-neo GitHub Wiki

#include <cdm/interrupt.h>

Functions for controlling processor interrupts.

int_enable() function

void int_enable(void);

Enables hardware interrupts. Sets the interrupt (I) bit in PSR.
Lowered into ei processor instruction.

int_disable() function

void int_disable(void);

Disables hardware interrupts. Clears the interrupt (I) bit in PSR.
Lowered into di processor instruction.

int_wait() function

void int_wait(void);

Waits for a hardware interrupt.
Continues execution on IRQ without granting the interrupt if the I bit is not set in PSR.
Lowered into wait processor instruction.

int_trigger() macro

#define int_trigger(vector)

int_trigger(5);

Triggers a software interrupt with the specified vector.
Interrupt vector must be a compile-time integer constant in the range [0; 63].
Lowered into int $vector processor instruction.