3 An optimization inserted instructions in between IPUSH and CALL which resulted in wrong code for mcs51.
8 #define DS_CMD_RAM 1 << 6
10 unsigned char cfg_table
[4];
12 unsigned char f(unsigned char j
)
14 static unsigned char testval
= DS_CMD_RAM
>> 1 | 2;
23 j
= DS_CMD_RAM
>> 1 | 2;
24 for (i
= 0; i
!= 4; i
++)
25 cfg_table
[i
] = f(j
++); // The incremented value got passed to f for mcs51.