extsh 或 exts (扩展符号 Halfword) 指令
用途
扩展通用寄存器的 16 位以下的内容。
语法
| 位数 | VALUE |
|---|---|
| 0-5 | 31 |
| 6-10 | RS |
| 11-15 | RA |
| 16-20 | /// |
| 21 | OE |
| 22-30 | 922 |
| 31 | rc |
描述
扩展 和 埃克斯 指令将通用寄存器 (GPR) RS 的第 16-31 位放入 GPR RA 的第 16-31 位,并将 GPR RS 的第 16 位复制到 GPR RA的 0 0-15 位。
扩展 和 埃克斯 指示信息各有两种语法形式。 每个语法表单对条件寄存器字段 0 有不同的影响。
| 项 | 描述 | |||
|---|---|---|---|---|
| 语法表单 | 溢出 异常 (OE) | 固定点 异常寄存器 | 记录 位 (Rc) | 条件 注册字段 0 |
| 扩展 | 无 | 无 | 0 | 无 |
| 扩展。 | 无 | 无 | 1 | LT ,GT, EQ , SO |
| 埃克斯 | 无 | 无 | 0 | 无 |
| Exts. | 无 | 无 | 1 | LT ,GT, EQ , SO |
扩展 指令的两个语法形式以及 扩展 指令的两个语法形式从不影响固定点异常寄存器。 如果语法格式将记录 (Rc) 位设置为 1 , 1 指令会影响 "条件寄存器字段 0" 中的 "小于 (LT) 0" , "大于 (GT) 0" , "等于 (EQ) 0" 和 "汇总溢出 (SO)" 位。
参数
| 项 | 描述 |
|---|---|
| RA | 指定通用寄存器接收扩展整数。 |
| RS | 指定操作的源通用寄存器。 |
示例
- 以下代码将 GPR 6 的第 16-31 位放入 GPR 4 的第 16-31 位,并将 GPR 6 的第 16 位复制到 GPR 0 4 的第 0-15 位:
# Assume GPR 6 holds 0x0000 FFFF. extsh 4,6 # GPR 6 now holds 0xFFFF FFFF. - 以下代码将 GPR 6 的第 16-31 位放入 GPR 4 的第 16-31 位,将 GPR 6 的第 16 位复制到 GPR 4 的 0 0-15 位,并设置条件寄存器字段 0 以反映操作的结果:
# Assume GPR 4 holds 0x0000 2FFF. extsh. 6,4 # GPR 6 now holds 0x0000 2FFF.