static void act(const unsigned char op) {
- static const void * const arr[] = {
- &&op0,
- &&op1,
- &&op2,
- &&op3,
- &&op4,
- &&op5,
- &&op6,
- };
-
- goto *arr[op];
-
- op0:
- val += 1;
- return;
-
- op1:
- val += 2;
- return;
-
- op2:
- val += 3;
- return;
-
- op3:
- val2 += 1;
- return;
-
- op4:
- val2 += 5;
- return;
-
- op5:
- val2 += 7;
- return;
-
- op6:
- val2 += 9;
- return;
+ static const void * const arr[] = {
+ &&op0,
+ &&op1,
+ &&op2,
+ &&op3,
+ &&op4,
+ &&op5,
+ &&op6,
+ };
+
+ goto *arr[op];
+
+ op0:
+ val += 1;
+ return;
+
+ op1:
+ val += 2;
+ return;
+
+ op2:
+ val += 3;
+ return;
+
+ op3:
+ val2 += 1;
+ return;
+
+ op4:
+ val2 += 5;
+ return;
+
+ op5:
+ val2 += 7;
+ return;
+
+ op6:
+ val2 += 9;
+ return;
}
int main(void) {
- val = val2 = 0;
+ val = val2 = 0;
- act(1);
- act(3);
- act(5);
+ act(1);
+ act(3);
+ act(5);
- return val == 2 && val2 == 8 ? 0 : 1;
+ return val == 2 && val2 == 8 ? 0 : 1;
}
static unsigned char val;
static void foo(void) {
- val = 5;
+ val = 5;
}
static void wrap(void) {
- asm("lda #<%v", foo);
- asm("ldx #>%v", foo);
- asm("jmp callax");
+ asm("lda #<%v", foo);
+ asm("ldx #>%v", foo);
+ asm("jmp callax");
}
int main(void) {
- val = 0;
- wrap();
+ val = 0;
+ wrap();
- return val == 5 ? 0 : 1;
+ return val == 5 ? 0 : 1;
}