跳轉到內容

360 彙編/360 指令/LR

來自華夏公益教科書,開放的書籍,開放的世界

LR - 載入暫存器 - RR 指令 - 操作碼 18

LR 2,6 將暫存器 6 的內容複製到暫存器 2,替換暫存器 2 的現有內容

具體語法為

LR 目標暫存器, 源暫存器.

操作碼

[編輯 | 編輯原始碼]
RR 指令 (2 位元組)
位元組 1
位 (0-7)
位元組 2
目標暫存器
(8-11)
源暫存器
(12-15)
(十六進位制) 操作碼
18
(4 位)
0..F / (十進位制 0..15)
(4 位)
0..F / (十進位制 0..15)
  • 第一個引數是目標暫存器,其值受指令影響。
  • 第二個引數是源暫存器
  • 目標暫存器源暫存器的值為 0 到 15。


示例用法

[編輯 | 編輯原始碼]

LR 指令用於將第二個暫存器引數(源暫存器)的內容複製到第一個暫存器引數(目標暫存器),用源暫存器的內容替換目標暫存器的內容。以下是該指令如何從組合語言列表中以各種形式組裝的示例

1826        LR   2,6
1892        LR   9,2
18FA        LR   15,10

典型用法

[編輯 | 編輯原始碼]

當需要複製暫存器的內容以保留原始暫存器中的值時,或者當目的是將一個暫存器中包含的值傳播到另一個暫存器時。

可用性

[編輯 | 編輯原始碼]

LR 指令在 360、370 和 z/System 的所有型號上都可用。

LR 指令將第二個引數指定的暫存器的 32 位值複製到第一個引數指定的暫存器。

暫存器 0 對任何暫存器都是有效的,不像其他一些指令那樣會被忽略。

條件碼

[編輯 | 編輯原始碼]

條件碼不會改變。

異常和故障

[編輯 | 編輯原始碼]

無。

[編輯原始碼]

最密切相關的指令是邏輯加暫存器 (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
  • 要從擴充套件的 (20 位) 帶符號記憶體偏移量將 32 位值載入到 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 彙編器· 偽指令
指令擴充套件 浮點 · 高階語言


華夏公益教科書