汇编高手在哪?一个单片机考题(我只有答案,不知理由),求详细指导!拜谢!(不懂的、灌水的不要来!) 5

36.阅读下列程序,回答问题,将答案填人空格中。START:MOVDPTR,#8000HMOVR2,#4MOVRO,#30HLPI:MOVXA,@DPTRMOV@R0,A... 36.阅读下列程序,回答问题,将答案填人空格中。
START: MOV DPTR,#8000H
MOV R2, #4
MOV RO, #30H
LPI: MOVX A,@DPTR
MOV @R0,A
INC DPTR
INC R0
DJNZ R2,LPl
MOV R2, #4
MOV R0, #30H
CLR C
LP2: MOVX A,@DPTR
ADDC A,@R0
DA A
MOVX @DPTR,A
INC DPTR
INC R0
DJNZ R2,LP2
WAIT: SJMP WAIT
ORG 8000H
DB 96H,74H,32H,16H
DB 65H,94H,87H,29H
(1)程序完成的操作是_________________.
(2)R0=__________________ .(8004H)=______,(8005H)=_____,(8006H)=______,(8007H)=______ 。
(请写出每条指令的意思)
展开
 我来答
潘达lya
2012-12-27 · TA获得超过1476个赞
知道小有建树答主
回答量:509
采纳率:0%
帮助的人:443万
展开全部
DRAT=8000H
R2=04H,
R0=30H
LPI: A=*DRAT,
*R0=A,
DRAT++,
R0++,
if(R2!=0) R2--,goto lp1(跳转到lp1的位置执行)
R2=4H;
R0=30H
C=0(c是进位标志,可认为是布尔型变量)
LP2 :A=*DRAT
A+=*R0;
DAA是 将A中数变为BCD码,就是10进制1个8字节的数等于10时进位。。。。
*DPTR=A;
DPTR++
R0++
if(R2!=0) R2--; goto lp2
while(1){}
ORG 8000H 意思是后面的程序写在8000这个位置就是地址8000到8007存放的是后面8个数。。。
此程序是将8000到8003中的16进制数编程BCD码存在后面8004-8007。。。

转换成类似C语言的东西应该能看懂了吧,R0和DRAT为指针变量,A,R2为char变量。。。。
生活如歌_
2013-01-11 · TA获得超过1.5万个赞
知道大有可为答主
回答量:7398
采纳率:78%
帮助的人:2162万
展开全部
感觉这个题有点问题呀,是想问8000H?但是MOVX访问的是片外RAM.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式