1 /* Keyword "critical" tests.
5 #if defined(SDCC_mcs51)
18 //must be at least 2 bytes big and volatile
19 volatile big global_var = { 0 };
22 unsigned int get_global (void) critical
31 #if defined(SDCC_mcs51)
35 //enable the interrupt and set it
40 critical x.a = global_var.a;
48 critical x.a = global_var.a;
54 //check the interrupt has run at all
58 //check the interrupts are still enabled
65 #if defined(SDCC_mcs51)
66 void T2_isr (void) interrupt 5 using 2
68 //do not clear flag ET2 so it keeps interrupting !
70 if (global_var.b == 0)
72 global_var.c = global_var.b;