我测试了一下,不只是"_NOP();",随便加一个未定义函数都能编译通过,只是给警告。
反汇编都是编译成LCALL 0000。
由此可以推出,Keil不是将_NOP()编译成 LCALL 0000, 而是它根本就不认识什么_NOP();
C:0x0009 758107 MOV SP(0x81),#0x07
196: LJMP ?C_START
C:0x000C 02000F LJMP main(C:000F)
25: void main(void)
26: {
27: _NOP();
C:0x000F 120000 LCALL C_STARTUP(C:0000)
28: ikjkj();
C:0x0012 120000 LCALL C_STARTUP(C:0000)
29: T67676767();
30:
31:
C:0x0015 120000 LCALL C_STARTUP(C:0000)
32: while(1) ;
C:0x0018 80FE SJMP C:0018
以下是警告
SRC\UART.C(28): warning C206: '_NOP': missing function-prototype
|