cpu 中的索引寄存器(Computer org. and arc.)

Index register in cpu (Computer org. and arc.)

索引寄存器可以有负值吗?
比如:一开始Xr是0,然后我们需要减1? Xr 的值是多少?

寄存器可以保存适合其位数的任何值。使价值为负或不负的是你对待它的方式。您应该问自己的问题是 - 您的基本 CPU 是否支持带符号的算术运算,以及它如何对它们进行编码。

你现在应该知道的常用方法是2的补码,所以如果一个寄存器的值为0xffff(假设它是16位宽),那么它可以解释为(2^16减一),或作为 (-1) - 取决于谁在阅读它以及如何阅读。 因此,术语索引有点含糊不清,因为使用的值将由操作类型决定——如果你打算在某些计算中使用它——这取决于你使用的操作是否有符号。如果你打算直接将它用于内存寻址(如果你的 CPU 支持它) - 同样,这取决于 CPU 支持这种形式的索引。