跳转到内容

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 汇编器· 伪指令
指令扩展 浮点 · 高级语言


华夏公益教科书