stswi 或 stsi (立即存储字符串字) 指令
用途
将连续的字节从连续寄存器存储到内存中的指定位置。
语法
| 位数 | VALUE |
|---|---|
| 0 - 5 | 31 |
| 6 - 10 | RS |
| 11 - 15 | 亚美尼亚共和国 |
| 16 - 20 | 注: |
| 21 - 30 | 725 |
| 31 | / |
描述
stswi 和 stsi 指令将 N 个连续字节存储在通用寄存器 (GPR) RS 中,从 GPR RS 到 GPR RS + NR -1 的有效地址 (EA) 处。
如果 GPR RA 不是 0 ,那么 EA 是 GPR RA的内容。 如果 RA 为 0 ,那么 EA 为 0。
使用 stswi 和 stsi 指示信息时,请考虑以下事项:
- NB 是字节计数。
- RS 是起始寄存器。
- N 是 NB,这是要存储的字节数。 如果 NB 为 0 ,那么 N 为 32。
- NR 是上限 (N/4) ,这是要从中存储数据的寄存器数。
对于 POWER ® 系列指令 stsi,未定义 MQ 寄存器的内容。
stswi 和 stsi 指令具有一种语法形式,不会影响 "定点异常寄存器" 或 "条件寄存器" 字段 0。
参数
| 项 | 描述 |
|---|---|
| RS | 指定存储数据的源通用寄存器。 |
| RA | 指定用于 EA 计算的源通用寄存器。 |
| NB | 指定 EA 计算的字节计数。 |
示例
以下代码将 GPR 6 到 GPR 8 中包含的字节存储到内存中的某个位置:
.csect data[rw]
buffer: .long 0,0,0
# Assume GPR 4 contains the address of buffer.
# Assume GPR 6 contains 0x4865 6C6C.
# Assume GPR 7 contains 0x6F20 776F.
# Assume GPR 8 contains 0x726C 6421.
.csect text[pr]
stswi 6,4,12
# buffer now contains 0x4865 6C6C 6F20 776F 726C 6421.