用Keil 编译汇编程序时 的问题

程序如下,是关于多字节BCD码十进制移位。能ORG0100HMOVR7,#03HMOVR0,#30HMOV30H,#47HMOV31H,#36HMOV32H,#21HBR... 程序如下,是关于多字节BCD码十进制移位。

能 ORG 0100H
MOV R7,#03H
MOV R0,#30H
MOV 30H,#47H
MOV 31H,#36H
MOV 32H,#21H
BRLN: MOV A,R7
MOV R2,A
ADD A,R0
MOV R0,A
MOV R3,#0
BRL1: DEC R0
MOV A,@R0
SWAP A
MOV @RO,A
MOV A,@RO
MOV R3,A
DJNZ R2,BRL1
END

出现在错误信息如下:

Build target 'Target 1'
assembling BCD10.asm...
linking...
BL51 BANKED LINKER/LOCATER V6.00 - SN: K1DUC-U00W91
COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2005
"BCD10.obj"
TO "BCB10"
*** FATAL ERROR L210: I/O ERROR ON INPUT FILE:
EXCEPTION 0021H: PATH OR FILE NOT FOUND
FILE: BCD10.obj
Target not created

希望高手能指点下~~
展开
 我来答
百度网友8e1a48c92
2008-11-02 · TA获得超过1322个赞
知道小有建树答主
回答量:445
采纳率:0%
帮助的人:508万
展开全部
我帮你修改好了,你程序的错误就是把数字的'0'写成了字符的'o',这里要细心一写,因为在键盘上'o'的位置与数字'0'很近,我有的时候也可能会因为写的快而搞错了,,,,不过在keil中的默认设置,如果是合法的寄存器,会变成黑体(我一看字体,就找到你的错误了)
我这里调试的结果是,(30H)上的0x47,变成了0x74,(31H)上的0x36变成了0x63,(32H)上的0x21变成了0x12,,,,,,不知道你要的是不是这样的效果.个人修改的程序如下:

ORG 0000H ;这里的3条语句是为了调试使用
LJMP MAIN
ORG 0100H

MAIN:
MOV R7,#03H
MOV R0,#30H
MOV 30H,#47H
MOV 31H,#36H
MOV 32H,#21H
BRLN: MOV A,R7
MOV R2,A
ADD A,R0
MOV R0,A
MOV R3,#0
BRL1: DEC R0
MOV A,@R0
SWAP A
MOV @R0,A ;你原来把这里的R0,写成了RO(而且你这里'o'是大写,一下子更难找出来,幸亏你的程序短,你一下就找出来了)
MOV A,@R0 ;这里你错误原因同上
MOV R3,A
DJNZ R2,BRL1
END
caogos
2008-11-02 · TA获得超过185个赞
知道小有建树答主
回答量:287
采纳率:0%
帮助的人:206万
展开全部
你没有把这个源程序加到工程里面。

在project workplace里面右击source group 1,然后选择add file to group‘source group 1’,在出现的对话框中找到你的源文件最后add进去就ok了。
注意:要注意文件的后缀,如果看不到你的源程序文件,默认的后缀是.c,如果你的是asm汇编的你必须把下面的文件类型改为.asm或者all。

祝你好运!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式