完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 26178610 于 2013-4-5 12:50 编辑
习题题目:已知程序执行前有A=02H,SP=42H,(41H)=FFH,(42H)=FFH.下述程序执行后 POP DPH POP DPL MOV DPTR,#3000H RL A MOV B,A MOVC A,@A+DPTR PUSH A MOV A,B INC A MOVC A,@A+DPTR PUSH A RET ORG 3000H DB 10H,80H,30H,80H,50H,80H 请问:A=( ).SP=( ),(41H)=( ),(42H)=( ),PC=( ). 附,请懂的朋友帮我看看以上括号里面的各个值是什么,重要的是请帮忙分析各个值是怎么来的。(我想了半天只知道A,(41H)(42H)的值其他的不知道怎么来的 参考答案是A=80H,SP=40H,(41H)=(50H ),(42H)=(80H),PC=(8050H). 后面几个怎么来的都不知道了,哎惭愧) |
|
相关推荐
9个回答
|
|
回帖奖励 +2 分积分
{:20:}
|
|
|
|
不是用C吗..................................
|
|
|
|
我想从汇编开始 多了解硬件结构原理在慢慢学高级易语言 这样不好吗 |
|
|
|
POP DPH DPH=FFH SP=41
POP DPL DPL=FFH SP=40 MOV DPTR,#3000H (FFFFH)=3000H RL A A=0000 0010-----0000 0100 MOV B,A B=0000 0100 MOVC A,@A+DPTR A=50H PUSH A SP=41H (41H)=50H MOV A,B A=0000 0100 INC A A=0000 0101 MOVC A,@A+DPTR A=80H PUSH A SP=42H (42H)=80H RET PC(8-15位)=(SP)=80H,SP=SP-1=41H PC(0-7位)=(SP)=50H,SP=SP-1=40H ORG 3000H DB 10H,80H,30H,80H,50H,80H |
|
1 条评论
|
|
非常感谢你的回复 但最后那里还是没有懂 为什么RET后 SP会再减两次变为40H呢 |
|
|
|
那你需要去看看汇编指令RET的具体说明。 看他的注释是保存程序指针。 |
|
|
|
因为 指针会自动指向下一条指令 而前一条指令 是两个字节的 所以指针加二 |
|
|
|
哦 !我知道了 是不是 执行RET指令过后 指针回到了刚进入时候的地址啊? |
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
522 浏览 0 评论
I.MX6ULL-飞凌 ElfBoard ELF1板卡 - 如何在Ubuntu中编译OpenCV库(X86架构)
1392 浏览 0 评论
1173 浏览 1 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-VMware设置成桥接模式后没有VMnet0
1346 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-如何移植NCNN?
764 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
8962 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-6-22 04:22 , Processed in 0.588231 second(s), Total 57, Slave 51 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号