gpt4 book ai didi

assembly - 为什么 MOV 不能将两个操作数都作为内存位置?

转载 作者:行者123 更新时间:2023-12-04 11:40:29 24 4
gpt4 key购买 nike

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。




8年前关闭。




我读到了 MOV指令不能有两个操作数的内存位置。

喜欢:MOV [0012H], [0016H]不被允许。

为什么这样?

其他指令是否可以为其操作数提供内存位置?

最佳答案

这是他们创建 CPU 时的设计决定。您拥有更多寻址模式和更多指令,指令获得更大(就表示指令所需的位数而言)。更大的指令需要更长的时间从内存中获取。

也就是说x86的指令集不是orthogonal .编写的汇编代码数量非常有限,这不一定是坏事,至少现在不是。

其他一些 CPU(例如同时期设计的 MC680xx)可以做到这一点。

关于assembly - 为什么 MOV 不能将两个操作数都作为内存位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14510280/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com