在这个寄存器传输符号指令中,这两个位值是什么意思:ACC <-- [[CIR(15:0)]]?
What do these two bit values mean in this register transfer notation instruction: ACC <-- [[CIR(15:0)]]?
书上说:
Section 6.01 introduced an extension to register transfer notation. We can use this to describe the
execution of an instruction. For example, the LDD instruction is described by:
ACC ← [[CIR(15:0)]]
The instruction is in the CIR and only the 16-bit address needs to be examined to identify the location of
the data in memory. The contents of that location are transferred into the accumulator
例如,我认为如果是我们要读取的前 16 位,它将是 (0:15),而如果它们是例如第 16 位到第 32 位,它可以是 (16:31) 或 (16:16 (即从第 16 位开始并读取 16 位))
虽然我对 15:0 的顺序感到困惑。有谁特别知道这些数字分别指的是什么?
谢谢
在过去,从 top/msb 到 bottom/lsb 的位编号很常见,因此 0 是指令中的第一位或带符号数据中的符号位。
从这里开始:https://80character.wordpress.com/2018/12/10/pdp-8-instruction-set/
0 1 2 3 4 5 6 7 8 9 10 11
+-------+---+---+------------------+
| Op | I | Z | Offset |
+-------+---+---+------------------+
例如,一些PDP-8指令字段的描述。
HP 的 PA-RISC 以及许多其他指令集描述了这个方向的位,从 0 的 MSB 到字大小的 LSB。
但是,将位取反,不仅可以,而且非常合理。
在大多数情况下,编号只会影响人类可读的文本和此类图片。然而,一些指令集有位测试或字段提取指令,这些指令使用位编号,然后它很重要。
LSB 为 0 的位编号在逻辑上是有道理的。这样,无论数据大小(字节、字或更长),LSB 始终为 0。从数学上讲,在数据中,LSB 表示 20,因此将 LSB 命名为位 0 也是有道理的。
I'm confused by the order 15:0, though. Does anyone know in particular what each of these numbers is referring to?
此表示法使用更现代的位编号,其中 LSB 为位 0。
书上说:
Section 6.01 introduced an extension to register transfer notation. We can use this to describe the execution of an instruction. For example, the LDD instruction is described by:
ACC ← [[CIR(15:0)]]
The instruction is in the CIR and only the 16-bit address needs to be examined to identify the location of the data in memory. The contents of that location are transferred into the accumulator
例如,我认为如果是我们要读取的前 16 位,它将是 (0:15),而如果它们是例如第 16 位到第 32 位,它可以是 (16:31) 或 (16:16 (即从第 16 位开始并读取 16 位))
虽然我对 15:0 的顺序感到困惑。有谁特别知道这些数字分别指的是什么?
谢谢
在过去,从 top/msb 到 bottom/lsb 的位编号很常见,因此 0 是指令中的第一位或带符号数据中的符号位。
从这里开始:https://80character.wordpress.com/2018/12/10/pdp-8-instruction-set/
0 1 2 3 4 5 6 7 8 9 10 11
+-------+---+---+------------------+
| Op | I | Z | Offset |
+-------+---+---+------------------+
例如,一些PDP-8指令字段的描述。
HP 的 PA-RISC 以及许多其他指令集描述了这个方向的位,从 0 的 MSB 到字大小的 LSB。
但是,将位取反,不仅可以,而且非常合理。
在大多数情况下,编号只会影响人类可读的文本和此类图片。然而,一些指令集有位测试或字段提取指令,这些指令使用位编号,然后它很重要。
LSB 为 0 的位编号在逻辑上是有道理的。这样,无论数据大小(字节、字或更长),LSB 始终为 0。从数学上讲,在数据中,LSB 表示 20,因此将 LSB 命名为位 0 也是有道理的。
I'm confused by the order 15:0, though. Does anyone know in particular what each of these numbers is referring to?
此表示法使用更现代的位编号,其中 LSB 为位 0。