当前位置:编程学习 > 汇编语言 >>

KEIL中编译汇编程序出现警告,如何处理?

源程序如下: ORG 0000H LJMP MAIN ORG 0030H MAIN:MOV R0,#10H MOV R1,#30H MOV A,#00H LOOP:MOV @R1,A INC R1 INC A DJNZ R0,LOOP SJMP $ END 出错信息如下: Build target 'Target 1' assembling protues_exp1.asm... assembling STARTUP.A51... linking... *** WARNING L5: CODE SPACE MEMORY OVERLAP FROM: 0000H TO: 003CH *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: ?C_START MODULE: STARTUP.obj (?C_STARTUP) *** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL SYMBOL: ?C_START MODULE: STARTUP.obj (?C_STARTUP) ADDRESS: 0047H Program Size: data=9.0 xdata=0 code=76 creating hex file from "protues_exp1"... "protues_exp1" - 0 Error(s), 3 Warning(s). 请不要告诉我删除startup.a51。删除该程序警告虽然消除了,但运行结果是错误的。
追问:是的,但是运行后查看30H~3FH全部为零,我不知道原因何在。用μ3和μ4运行的结果都是如此。你用KEIL运行后的结果是正确的吗?
答案:“请不要告诉我删除startup.a51。删除该程序警告虽然消除了,但运行结果是错误的。”
运行结果错误在别的方面。
从仿真结果来看,30H~3FH放置从00H到0FH的数,这不就是你所需的运行结果吗?
其他:你用汇编写的程序是可以删除startup.a51的,startup.a51是为C语言准备运行环境的。
你说你的程序会错误,你把MOV R2,A
看下R2的值还会错不? 

上一个:急求retf 0020 这条汇编语句的解释
下一个:汇编小问题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,