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

作者&投稿:漆星 (若有异议请与网页底部的电邮联系)
~ 我帮你修改好了,你程序的错误就是把数字的'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