首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

寄存器的地址与内存地址,该如何解决

2013-07-08 
寄存器的地址与内存地址寄存器是有地址的这是没有异议的吧。那么寄存器的地址是相对于CPU而言的吗?CPU中有

寄存器的地址与内存地址
寄存器是有地址的这是没有异议的吧。
那么寄存器的地址是相对于CPU而言的吗?CPU中有一套自己的地址机制吗?

通常说的地址一般指的地内存地址。
如果往一个地址中写数据,那么CPU怎么识别是写寄存器还是写内存呢?

处理器 内存 寄存器 地址
[解决办法]
从某种意义上来说,寄存器确实是有地址的,不过它们的地址不是一个完整的字节,而只是几个二进制位。
        ADD EBX, 1
        ADD ECX, 1
这两条语句生成的代码肯定不同,那么不同之处自然就是寄存器的地址。
不过计算机不需要去判断地址是寄存器还是内存,因为操作寄存器与操作内存的代码是不一样的。
[解决办法]
在CPU内部,可以将寄存器看作有地址(试比较MOV EAX,10和MOV ECX,10这两条汇编指令对应字节的各二进制位的值),只不过这个地址和RAM内存地址是两回事而已。

热点排行