45#ifdef CONF_RCX_COMPILER
46#define HANDLER_WRAPPER(wrapstring,handstring)
48#define HANDLER_WRAPPER(wrapstring,handstring) \
49__asm__ (".text\n.align 1\n.global _" wrapstring "\n_" wrapstring \
50": push r0\npush r1\npush r2\npush r3\njsr @_" handstring \
51"\npop r3\npop r2\npop r1\npop r0\nrts\n")
99 __asm__ __volatile__(
"\torc #0x80,ccr\n":::
"cc");
104 __asm__ __volatile__(
"\tandc #0x7f,ccr\n":::
"cc");
__asm__("\n\
.text\n\
.globl _atomic_inc\n\
_atomic_inc:\n\
stc ccr, r1h ; save flags\n\
orc #0x80, ccr ; disable all but NMI\n\
mov.b @r0, r1l\n\
inc r1l\n\
mov.b r1l, @r0\n\
ldc r1h, ccr ; restore flags\n\
rts\n\
")
void * irq0_vector
IRQ0 interrupt vector.
void * icib_vector
ICIB interrupt vector.
void rom_ocia_return()
return address in ROM OCIA handler
void * tei_vector
TEI interrupt vector.
void * fovi_vector
FOVI interrupt vector.
void * ad_vector
A/D interrupt vector.
void * reset_vector
reset vector
void * ovi1_vector
OVI1 interrupt vector.
void * icid_vector
ICID interrupt vector.
void * ovi0_vector
OVI0 interrupt vector.
void * eri_vector
ERI interrupt vector.
void * irq1_vector
IRQ1 interrupt vector.
void * ocia_vector
OCIA interrupt vector.
void * cmi1a_vector
CMI1A interrupt vector.
void * rxi_vector
RXI interrupt vector.
void * cmi0b_vector
CMI0B interrupt vector.
void rom_dummy_handler()
address of an RTS instruction
void * txi_vector
TXI interrupt vector.
void * cmi1b_vector
CMI1B interrupt vector.
void * nmi_vector
NMI interrupt vector.
void * ocib_vector
OCIB interrupt vector.
void disable_irqs()
disable interrupt processing
void enable_irqs()
enable interrupt processing
void * cmi0a_vector
CMI0A interrupt vector.
void * wovf_vector
WOVF interrupt vector.
void * icic_vector
ICIC interrupt vector.
void * rom_reset_vector
ROM reset vector.
void * icia_vector
ICIA interrupt vector.
void rom_ocia_handler()
ROM OCIA interrupt handler.
void * irq2_vector
IRQ2 interrupt vector.