采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
以MOV R0, R1这种形式的指令为例,都是[OP][addr]这样的形式,应该也可以不光是R0这样指定寄存器,应该也可以指定主存吧?(比如MOV R0,主存地址)那CPU是如何区分编译后的二进制表示的是寄存器的地址还是主存的地址?
还有我记得之前也讲过[OP]后面还可以直接跟操作数,那地址和操作数又如何区分?
这个问题太细了,如果你感兴趣的话,我建议你可以了解一下汇编语言,在汇编语言上的指令就有操作寄存器和操作内存的指令。
这里以mov指令做个例子,实际的机器指令是类似这样子的:
mov [0x0619], eax
前面的是内存地址,后面的是寄存器地址,指令的意思是把寄存器eax的数据移动到内存的0x0619空间上面去。
更多的内容可以自行了解汇编语言做拓展。
登录后可查看更多问答,登录/注册
编程之前先学这门课,系统补足计算机基础知识,夯实编程地基
3.9k 17
2.2k 14
1.6k 13
1.9k 11
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号