永发信息网

汇编 执行pop[bx]

答案:3  悬赏:10  手机版
解决时间 2021-03-15 21:30
  • 提问者网友:捧腹剧
  • 2021-03-15 03:38
执行pop [bx] 请问数据传送的经过 数据是在存储器内部转移? 数据经过处理器攻氦掇教墀寄峨犀法篓,转而进入存储器? 事实是哪个?? 请给出证据,谢谢
最佳答案
  • 五星知识达人网友:英雄的欲望
  • 2021-03-15 03:57
在正常的系统中,数据经处理器传送。
(1)目前可以查到的、在微机(单片、单板、系统)使用的RAM芯片,它们只支持读取、写入,从管脚上无法控制它在内外单元间移动、传输数据。没有发现可以控制其部数据交换的内存芯片。当然,理论上,这种芯片也是可以制造的。
(2)在我们常用X86、C51等的CPU系统中, 内存的读写!!全部!由CPU操作完成,(如果想具体了解POP间址指令,请查阅相关CPU教材、手册的“指令、指令系统及操作部件”章节中或附录中的指令周期表中关于该指令周期流程的描述。网上的资料不好找。90年代前的微机原理之类的攻氦掇教墀寄峨犀法篓书上一般都有,不知为什么现在不注重这部分知识了)。
全部回答
  • 1楼网友:思契十里
  • 2021-03-15 05:07
问题出在你的sp=0,再pop 操作(操作数据将来自0000h开始的字),操作数地址越界引发cpu异常!具体你看一下x86cpu保护模式下异常方面的资料。 也就是说,使用堆栈时,两种情况要注意: (1)push时向下越界 (2)pop 时向上越界 一般情况下,不要使用sp进行参数操作,还是安全地使用bp寻址。
  • 2楼网友:轮獄道
  • 2021-03-15 04:36
数据经过处理器再转入存储器 证据嘛 你学学cpu运行原理就知道攻氦掇教墀寄峨犀法篓了 比较明显的就是一条指令运行占用的周期 比如mov指令的话 一般只占用一个周期 而push和pop指令本身就是两个周期的(一个周期取数据 一个周期放数据) 可想而知不论寻址的方式是什么 都至少分两步 先取数据进处理器
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯