在編譯startup.A51時可能會(hui) 遇到找不到?C_START的問題.
有人說這個(ge) 定義(yi) 在運行庫裏,可以加入C:\Keil\C51\LIB\C51S.lib解決(jue) ,
或者在Project裏加入STARTUP.A51將其中的?C_START替換成main即可.
可是我改了還是出現這個(ge) 問題啊?
我在C裏麵有加入匯編的程序.然後用了
#pragma src
.
.
.
#pragma asm
...
#pragma endasm
隻要去掉
#pragma asm
...
#pragma endasm 這部分程序就可以通過.有那段的話就會(hui) 一直找不到?C_START.
請教大家這是什麽(me) 原因?怎麽(me) 解決(jue) ?
答:
定義(yi) 在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