1 #define CPU_ID *((volatile unsigned char*)0xffff4200)
2 
main()3 int main() {
4     // try switching between threads using `thread 1` and `thread 2`!
5     int done = 0;
6     int x = 0;
7 
8     // diverging paths on each CPU core
9     if (CPU_ID == 0xaa) {
10         while (!done) {}
11         return x;
12     } else {
13         // big, useless loop to test ctrl-c functionality
14         for (int i = 0; i < 1024 * 32; i++) {
15             x += 1;
16         }
17         done = 1;
18         // loop forever
19         for (;;) {}
20     }
21 }
22