書中指出:
6.01 節介紹了暫存器傳輸符號的擴展。我們可以用它來描述指令的執行。例如,LDD 指令是這樣描述的:
ACC ← [[CIR(15:0)]]
該指令在 CIR 中,只需檢查 16 位地址即可識別資料在記憶體中的位置。該位置的內容被傳輸到累加器中
例如,我想如果它是我們要讀取的前 16 位,它將是 (0:15),而如果它們是例如位 16 到 32,它可能是 (16:31) 或 (16:16 (即從位位置 16 開始并讀取 16 位))
不過,我對 15:0 的訂單感到困惑。有沒有人特別知道這些數字中的每一個是指什么?
謝謝
uj5u.com熱心網友回復:
在過去,從 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 代表 2 0,因此將 LSB 命名為位 0 也是有意義的。
不過,我對 15:0 的訂單感到困惑。有沒有人特別知道這些數字中的每一個是指什么?
此表示法使用更現代的位編號,其中 LSB 為位 0。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/382429.html
上一篇:STM32將值加載到記憶體的問題
