主题:[讨论]MOV的目的数和源操作数为何不能同时为内存?
pjjoe
[专家分:180] 发布于 2007-04-23 12:11:00
MOV的目的数和源操作数为何不能同时为内存?
我觉得是不是,因为CPU不能同时对内存发出读和写指令。
回复列表 (共6个回复)
沙发
ccpp [专家分:9360] 发布于 2007-04-24 20:31:00
我的理解是,
汇编是直接超作cpu的语言,
每一行都是真正直接的指令,而且都与cpu的寄存器有关
板凳
wuxb [专家分:280] 发布于 2007-04-25 13:50:00
总线的问题吧,与内存通路的线路成本高(因为是外部),而多一条指令就能解决问题,少一半的线,性价比就高了。内存的存取在运算中不占太大的比例啊
3 楼
englishmad [专家分:30] 发布于 2007-04-25 22:43:00
[quote]我的理解是,
汇编是直接超作cpu的语言,
每一行都是真正直接的指令,而且都与cpu的寄存器有关[/quote]
是不是CPU每从内存中取数据都要先经过寄存器呢?而如果可从内存和内存中直接读写数据不经过寄存器,那是否就可以不用寄存器了?请救以上两个问题.
4 楼
塞北江南 [专家分:1350] 发布于 2007-04-29 11:25:00
正确的理解应该为:
若两个操作数都在内存,则CPU要有两次访问内存的周期取操作数,指令周期太长了!
5 楼
wuxb [专家分:280] 发布于 2007-05-01 01:01:00
不是周期,是一个命令的复杂度,就像移位,一位和多位就不是一个操作。
我来回复