在編譯startup.A51時(shí)可能會(huì)遇到找不到?C_START的問題.
有人說這個(gè)定義在運(yùn)行庫里,可以加入C:\Keil\C51\LIB\C51S.lib解決,
或者在Project里加入STARTUP.A51將其中的?C_START替換成main即可.
可是我改了還是出現(xiàn)這個(gè)問題啊?
我在C里面有加入?yún)R編的程序.然后用了
#pragma src
.
.
.
#pragma asm
...
#pragma endasm
只要去掉
#pragma asm
...
#pragma endasm 這部分程序就可以通過.有那段的話就會(huì)一直找不到?C_START.
請(qǐng)教大家這是什么原因?怎么解決?
答:
定義在C:\Keil\C51\LIB\INIT.A51中,源代碼如下:
?C_START:
MOV DPTR,#?C_INITSEG
Loop:
WATCHDOG
CLR A
MOV R6,#1
MOVC A,@A+DPTR
JZ INITEND
INC DPTR
MOV R7,A
ANL A,#3FH
JNB ACC.5,NOBIG
ANL A,#01FH
MOV R6,A
CLR A
MOVC A,@A+DPTR
INC DPTR
JZ NOBIG
INC R6
NOBIG: XCH A,R7