360 汇编/360 指令/DR
外观
	
	
DR - 除以寄存器 - 操作码 1D
- DR 2,7
具体的语法是
- DR 目标寄存器, 源寄存器.
| RR 指令 (2 字节) | ||||||
| 字节 1 | 字节 2 | |||||
| 目标寄存器 | 源寄存器 | |||||
| (8 位) 操作码 1D | (4 位) 0..F | (4 位) 0..F | ||||
- 第一个参数是一个包含较少对目标寄存器的数字,其值受指令影响。
- 第二个参数是源值寄存器。
DR 指令在所有型号的 360、370 和 z/System 上都可用。
DR 指令将被除数 - 存储在 T 和 T+1 寄存器对中的 64 位有符号值(其中 T 是目标寄存器号,T 应包含最高有效位,T+1 应包含最低有效位)除以除数 - 源寄存器中的 32 位有符号值。目标寄存器号 T 应为偶数。该指令将商放入寄存器 T,并将余数放入寄存器 T+1,两者均为 32 位有符号值。
除数不应为零。商应符合 32 位有符号值的限制(-2147483648 到 2147483647)。
DR 指令执行所谓的 T 除法,当商被截断为零时;余数符号等于被除数符号,如果两个值都不等于 0;换句话说,(余数 * 被除数 >= 0)。
程序状态字中的条件码字段不会改变。
- 如果将奇数寄存器号指定为目标寄存器,则会发生操作异常。
- 如果除数为零,则会发生操作异常。
- 如果检测到有符号整数溢出并且 PSW 中的第 36 位被设置,则会发生操作异常。
假设寄存器 4 包含 0,5 - 13 和 11 - 4。指令 "DR 4,11" 将 13 寄存器的内容除以 4,将商(等于 3)放入 4 寄存器,并将余数(等于 1)放入 5 寄存器。
- 要除以内存中的字值,请参见 D。
- 要乘以寄存器中的字值,请参见 MR。
- 要从寄存器中减去字值,请参见 SR。
- 要添加值并根据无符号算术设置条件码,或添加多字整数值的非最高有效位,请参见 AL 或 ALR。
- 要除以浮点数,请参见 DER,DDR,DE 或 DD。
| 上一条指令 DP | 360 汇编指令 {{{name}}} | 下一条指令 DSG | 
| 上一个操作码 1C | 下一个操作码 1E | 
| 360 汇编语言 | |
| 360 系列 | 介绍 · 基本常见问题解答 · 360 系列 · 360 架构 | 
|---|---|
| 360 指令集 | 360 指令 · 分支指令 · 数据传输指令 · 控制流指令 · 算术指令 · 逻辑指令 · 移位和旋转指令 · 特权指令 · 其他指令 | 
| 语法和汇编器 | 360 汇编器· 伪指令 | 
| 指令扩展 | 浮点 · 高级语言 | 
|  | 此页面或部分是一个未开发的草稿或大纲。 您可以帮助 开发工作,或者您可以在 项目室 寻求帮助。 |