分享

keil C中找不到?C_START

 共同成长888 2015-07-14

keil C中找不到?C_START 

在编译startup.A51时可能会遇到找不到?C_START的问题. 

有人说这个定义在运行库里,可以加入C:\Keil\C51\LIB\C51S.lib解决, 
或者在Project里加入STARTUP.A51将其中的?C_START替换成main即可. 

可是我改了还是出现这个问题啊? 
我在C里面有加入汇编的程序.然后用了 
#pragma src 
    . 
    . 
    . 
#pragma asm  
   ...  
#pragma endasm 

只要去掉 
#pragma asm  
   ...  
#pragma endasm 这部分程序就可以通过.有那段的话就会一直找不到?C_START. 

请教大家这是什么原因?怎么解决? 

 

答:

定义在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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多