SONIX的C编译器做得非常垃圾,编译后的代码效率非常低。
不过它的运行速度很快,可以算是个弥补。
看看这条查表赋值语句:DispBuf1=DispTab[temp1];
编译后的结果是:
0x00000297: MOV A, 0x30
0x00000298: B0MOV 0x13, A
0x00000299: MOV A, #00h
0x0000029A: B0MOV 0x14, A
0x0000029B: MOV A, #9fh
0x0000029C: ADD A, #9Fh
0x0000029D: MOV 0x11, A
0x0000029E: MOV A, #03h
0x0000029F: MOV 0x12, A
0x000002A0: ADC 0x12, A
0x000002A1: BSET 0x12.7
0x000002A2: B0MOV A, 0x11
0x000002A3: ADD 0x13, A
0x000002A4: B0MOV A, 0x12
0x000002A5: ADC 0x14, A
0x000002A6: B0MOV A, 0x14
0x000002A7: B0MOV Y, A
0x000002A8: B0MOV A, 0x13
0x000002A9: B0MOV Z, A
0x000002AA: B0BTS1 Y.7
0x000002AB: JMP 0x02AE
0x000002AC: CALL 0x0058 这里不知到CALL到哪里去了?
0x000002AD: JMP 0x02AF
0x000002AE: B0MOV A, @YZ
0x000002AF: MOV 0x1E, A
|