360 彙編/360 指令/LGFR
外觀
LGFR - 載入暫存器並符號擴充套件 - RRE 指令 - 操作碼 B914
- LGFR 2,6 將暫存器 6 的內容複製到暫存器 2 中,從 32 位符號擴充套件到 64 位。
具體的語法是
- LGFR 目標暫存器, 源暫存器.
LGFR 指令用於將第二個暫存器引數(源暫存器)的內容複製到第一個暫存器引數(目標暫存器)中,用源暫存器的內容替換目標暫存器的內容,從 32 位符號擴充套件到 64 位。以下是如何從組合語言列表中以各種形式組裝指令的示例
B914 0026 LGFR 2,6 B914 0092 LGFR 9,2 B914 00FA LGFR 15,10
當需要將整數的值從 32 位擴充套件為 64 位的符號擴充套件時,源值位於通用暫存器中。
LGFR 指令是 64 位的,並且僅在 390 系列和 z/System 上可用。它將在 360 和 370 系列上導致操作碼異常。
LGFR 指令將第二個引數指定的暫存器的 32 位值複製到第一個引數指定的暫存器中。
目標 64 位暫存器的位 0-31(高半部分)用源值的符號位(最高有效位)的副本填充。
暫存器 0 對任一暫存器均有效,與其他一些指令不同,不會被忽略。
條件碼不會改變。
- 360 和 370 系列:操作碼異常
- 390 系列和 zSystem:無。
最密切相關的指令
[編輯原始碼]最密切相關的指令是邏輯加暫存器 (ALR),而不是載入地址 (LA),正如有時假設的那樣。雖然 L 從記憶體中載入值,但 LA 不會訪問記憶體;它只計算一個數字,這個數字可以是地址,但不必是地址。
32 位指令
[編輯原始碼]- 要從記憶體中載入 8 位位元組(字元)值,請參閱 IC.
- 要根據掩碼將一個或多個 8 位位元組值載入到暫存器中,請參閱 ICM
- 要從記憶體中載入 16 位半字值,請參閱 LH.
- 要將 12 位無符號值載入到暫存器中,或將最多 4095 加到一個或兩個 32 位暫存器中的值,請參閱 LA.
- 要將 32 位字值從一個暫存器複製到另一個暫存器,請參閱 LR.
- 要從記憶體中載入 32 位字值,請參閱 L.
- 要將 8 位位元組(字元)值儲存到記憶體中,請參閱 STC.
- 要根據掩碼將一個或多個 8 位位元組值儲存到記憶體中,請參閱 STCM
- 要將 16 位半字值儲存到記憶體中,請參閱 STH.
- 要將 32 位字值儲存到記憶體中,請參閱 ST.
64 位指令
[編輯原始碼]- 要將 20 位有符號值從擴充套件的(20 位)有符號記憶體偏移載入到 32 位或 64 位暫存器中,請參閱 LAY.
- 要將 32 位值從擴充套件的(20 位)有符號記憶體偏移載入到 64 位暫存器中,請參閱 LGF.
- 要將 64 位值從一個 64 位暫存器複製到另一個 64 位暫存器中,請參閱 LGR.
- 要將 64 位值從記憶體載入到 64 位暫存器中,請參閱 LG.
- 要將 32 位值從暫存器儲存到擴充套件的(20 位)有符號記憶體偏移中,請參閱 STY.
- 要將 64 位值從 64 位暫存器儲存到記憶體中的地址,請參閱 STG.
| 上一條指令 LPXR |
360 彙編指令 {{{name}}} |
下一條指令 LRA |
| 上一條操作碼 17 |
下一條操作碼 19 |
| 360 組合語言 | |
| 360 系列 | 簡介 · 基本常見問題 · 360 系列 · 360 架構 |
|---|---|
| 360 指令集 | 360 指令 · 分支指令 · 資料傳輸指令 · 控制流指令 · 算術指令 · 邏輯指令 · 移位和旋轉指令 · 特權指令 · 其他指令 |
| 語法和彙編器 | 360 彙編器· 偽指令 |
| 指令擴充套件 | 浮點數 · 高階語言 |
| 此頁面或部分是一個未完成的草稿或大綱。 您可以幫助開發這項工作,或者您可以在專案室尋求幫助。 |