单片机汇编语言简单题求问

单片机汇编语言简单题求问第三题,是答案错了吗?应该怎么做?... 单片机汇编语言简单题求问第三题,是答案错了吗?应该怎么做? 展开
 我来答
JamesCWW
2017-02-03 · TA获得超过609个赞
知道小有建树答主
回答量:639
采纳率:100%
帮助的人:308万
展开全部
红色的是参考答案,还是你做的呢?它是对的啊!
更多追问追答
追问
怎么做呢,能具体说说嘛?
追答
无可否认,这个程式看上去不似得实用,反而是有点故弄玄虚,是要测试学生的逻辑思维能力及对MCS-51系统的认识程度吧。

首先POP DPH和POP DPL并无实际意义,但改变了SP的值,由42H降到40H

MOV DPTR,#3000H是把数据指针设定为3000H

RL A是把累加器内容8位元向左移1位,即由02H变成04H了

MOV B,A把A的数据保存在B

MOVC A,@A+DPTR是数据指针加A的值,即3004H所在地址的内容,即DB行第5个,即50H放到A

PUSH Acc是把A的内容保存在(41H),SP就加1变成41H

MOV A,B及INC A是把之前保存了的A拿回来,然后加1,即为05H

MOVC A,@A+DPTR数据指针加A,即3005H,指向DB行第6个,即80H放到A

PUSH Acc把A保存到(42H),SP加1成42H

RET是返回主程序,注意这是堆栈指针SP+1为PC低位,SP+2为PC高位,然后SP会减2成40H

这就成就了红色显示的答案了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式