关于寄存器地址和主存地址的区别?

来源:3-10 计算机指令执行的过程

烈焰卡卡

2019-12-23

以MOV R0, R1这种形式的指令为例,都是[OP][addr]这样的形式,应该也可以不光是R0这样指定寄存器,应该也可以指定主存吧?(比如MOV R0,主存地址)那CPU是如何区分编译后的二进制表示的是寄存器的地址还是主存的地址?

还有我记得之前也讲过[OP]后面还可以直接跟操作数,那地址和操作数又如何区分?

写回答

1回答

咚咚呛

2019-12-23

这个问题太细了,如果你感兴趣的话,我建议你可以了解一下汇编语言,在汇编语言上的指令就有操作寄存器和操作内存的指令。

这里以mov指令做个例子,实际的机器指令是类似这样子的:

mov [0x0619], eax

前面的是内存地址,后面的是寄存器地址,指令的意思是把寄存器eax的数据移动到内存的0x0619空间上面去。

更多的内容可以自行了解汇编语言做拓展。

0
0

(新版)计算机基础,计算机组成原理+操作系统+网络

编程之前先学这门课,系统补足计算机基础知识,夯实编程地基

7739 学习 · 1580 问题

查看课程