为什么有些架构没有MOV?

Why do some architectures don't have MOV?

在大学里,我学习了 x86x64 架构,以及其他采用 MOV 功能。与他们合作后,当我发现 MIPS r3000 或 Commodore 64 之类的没有 MOV 并且依赖于保存到内存和从内存加载来移动时,我感到很困惑寄存器之间的值。

所以,我想知道,这背后的原因是什么?我们设计了基于信号处理的架构,至少在那些情况下,MOV 功能的实现仅依赖于同时打开注册表写入和注册表读取信号,从而使其成为一个非常简单的命令。那么,为什么它没有在这些架构中实现呢?他们是如此不同,事情不是这样的吗? space的事情?时尚设计?

忍不住想知道

X86 需要一条 MOV 指令,因为它的原始咒语 8086 依赖于 2 个操作数指令。如果您的指令集如下所示:

instruction destination_op, source_op

除了专用的 mov 指令外,几乎没有其他选择。

如果像 mips 一样,您有 3 个操作数指令

instruction destination, source1, source2

然后有很多方法可以将数据从源移动到目标,而不需要专用的 mov 指令。
还有一些指令集只是有不同名称的移动指令,例如LD(加载)用于 Z80,T??(传输)用于 6502。