跳轉到內容

360 彙編/360 指令/MR

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

MR - 乘暫存器 - 操作碼 1C

MR 2,7

具體的語法是

MR 目標暫存器, 源暫存器.
RR 指令 (2 位元組)
位元組 1 位元組 2
目標暫存器 源暫存器
(8 位)
操作碼
1C
(4 位)

0..F
(4 位)

0..F
  • 第一個引數是具有較少對目標暫存器的對數,其值為指令影響。
  • 第二個引數是源值暫存器。

可用性

[編輯 | 編輯原始碼]

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

MR 指令執行兩個帶符號 32 位整數的乘法。第一個被乘數來自通用暫存器 T+1,其中 T 是目標暫存器(第一個運算元)的編號。第二個被乘數來自源暫存器(第二個運算元)。然後將所得積作為 64 位帶符號值放置到暫存器 T(最高有效 32 位)和 T+1(最低有效 32 位)中。目標暫存器編號 T 應為偶數。

程式狀態字中的條件碼欄位不會更改。

異常和錯誤

[編輯 | 編輯原始碼]
  • 如果指定奇數暫存器編號作為目標暫存器,則會發生操作異常。

從 T+1 而不是 T 中獲取第一個被乘數(其中 T 是目標暫存器編號)可能會讓程式程式碼閱讀者感到困惑。例如,“MR 2,2”將暫存器 2 和 3 的值相乘,但“MR 2,3”計算暫存器 3 的值的平方。

[編輯 | 編輯原始碼]
  • 要乘以記憶體中的字值,請參見M
  • 要除以暫存器中的字值,請參見DR
  • 要新增暫存器中的字值,請參見AR
  • 要新增值並根據無符號算術設定條件碼,或新增多字整數值的非最高有效部分,請參見ALALR
  • 要乘以浮點值,請參見MERMDRMEMD
上一條指令
MP
360 彙編指令
{{{name}}}
下一條指令
MS
上一條操作碼
1B
下一條操作碼
1D
360 組合語言
360 系列 簡介 · 基本常見問題解答 · 360 系列 · 360 架構
360 指令集 360 指令 · 分支指令 · 資料傳輸指令 · 控制流指令 · 算術指令 · 邏輯指令 · 移位和旋轉指令 · 特權指令 · 其他指令
語法和彙編器 360 彙編器· 偽指令
指令擴充套件 浮點 · 高階語言


華夏公益教科書