完善资料让更多小伙伴认识你,还能领取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 分积分 |
|
|
|
|
|
不是用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指令过后 指针回到了刚进入时候的地址啊? |
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【瑞萨RA6E2】瑞萨E2S软件安装过程,等待过程玩下97_e2 studio_ZGZZ
140 浏览 0 评论
483 浏览 0 评论
【原创】【RA4M2-SENSOR开发板评测】低功耗+USB综合测试
815 浏览 0 评论
1346 浏览 2 评论
804 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16903 浏览 31 评论
浏览过的版块 |
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 16:54 , Processed in 0.979478 second(s), Total 98, Slave 77 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2964