跳转到内容

360 汇编/360 指令/LCR

来自维基教科书,开放的书籍,开放的世界

LCR - 加载寄存器补码 - RR 指令 - 操作码 13

LCR 2,6 将寄存器 6 的内容的二进制补码(整数否定)复制到寄存器 2 中,替换寄存器 2 中的现有内容。

具体的语法是

LCR 目标寄存器, 源寄存器.

操作码

[编辑 | 编辑源代码]
RR 指令 (2 字节)
字节 1
位 (0-7)
字节 2
目标寄存器
(8-11)
源寄存器
(12-15)
(十六进制) 操作码
13
(4 位)
0..F / (十进制 0..15)
(4 位)
0..F / (十进制 0..15)
  • 第一个参数是目标寄存器,其值受指令影响。
  • 第二个参数是源寄存器
  • 目标寄存器源寄存器的值为 0 到 15。


示例用法

[编辑 | 编辑源代码]

LCR 指令用于将第二个寄存器参数(源寄存器)的整数否定复制到第一个寄存器参数(目标寄存器)中,用源寄存器的内容替换目标寄存器的内容。以下是如何从汇编语言列表中以各种形式汇编指令的示例。

1326        LCR   2,6
1392        LCR   9,2
13FA        LCR   15,10

典型用法

[编辑 | 编辑源代码]

当需要对 32 位整数进行取反操作时。

可用性

[编辑 | 编辑源代码]

LCR 指令在所有型号的 360、370 和 z/System 上可用。

LCR 指令将第二个参数指定的寄存器中的 32 位值的否定复制到第一个参数指定的寄存器中。

寄存器 0 对两个寄存器都有效,并且不像其他一些指令那样被忽略。

条件码

[编辑 | 编辑源代码]

如果发生带符号整数溢出,即源为 -2147483648(十六进制 80000000),则 CC 设置为 3。否则,如果总和等于零,则 CC 设置为 0、1 或 2,分别低于零或高于零。

异常和错误

[编辑 | 编辑源代码]
  • 如果检测到带符号整数溢出并且 PSW 中的位 36 设置,则会发生操作异常。
[编辑 | 编辑源代码]
  • 要从寄存器中减去一个整数,请参见 SRSSHSLSLR
  • 要加载并取反 64 位整数,请参见 LCGR
  • 要加载并取反 32 位整数并将其扩展到 64 位,请参见 LCGFR
上一条指令
LTR
360 汇编指令
{{{name}}}
下一条指令
NR
上一条操作码
12
下一条操作码
14
360 汇编语言
360 系列 简介 · 基本常见问题 · 360 系列 · 360 架构
360 指令集 360 指令 · 分支指令 · 数据传输指令 · 控制流指令 · 算术指令 · 逻辑指令 · 移位和旋转指令 · 特权指令 · 其他指令
语法和汇编器 360 汇编器· 伪指令
指令扩展 浮点数 · 高级语言


华夏公益教科书