计算机的数字都是补码存在,为什么又说基址寄存器的数是原码?
计算机的数字都是补码存在,为什么又说基址寄存器的数是原码?
About
由以下几个点共同构成:
1.基址寄存器保存的地址
2.MAR是原码
因此基址寄存器保存的是原码。
至于为什么MAR保存的是原码?
这是因为存储器确定存储位置的过程是一种基于bit位读取的过程。我们先确定了读取一个字节的对应的地址的bit位高低,再将这个bit位直接映射成数字。
但是要注意,基址寄存器保存的是无符号原码(uint),因此范围内不存在负数。