把keil目录里面的startup.A51复制一份,加入到工程里面后,keil就不链接默认的了。
注释如下:
C:0x2930 22 RET
C:0x2931 787F MOV R0,#0x7F ;R0里面存入7F,也就是RAM的最后一个地址。
C:0x2933 E4 CLR A ; clear指令来 清空A
C:0x2934 F6 MOV @R0,A ;A的值存入R0指向的idata
C:0x2935 D8FD DJNZ R0,C:2934 ;decrease R0, Jump to 上一句 if Not Zero,翻译成C语言 if(!--R0) goto C:2934
C:0x2937 758120 MOV SP(0x81),#0x20 ;c语言运行用堆栈初始化
C:0x293A 022978 LJMP C_START(C:2978) ;c语言进入main函数前的全局变量初始化
C:0x293D 022B24 LJMP main(C:2B24) ;c语言main函数
你这个只清空了idata的0~7F;xdata没有清空。
|