pststd
Prefixed Store Doubleword
pststd RS, D34(RA), R
Stores a 64-bit value to memory using a 34-bit immediate offset.
Encoding
Binary Layout
1
0:5
2
6:7
R
8
0
9:13
D0
14:31
61
32:37
RS
38:42
RA
43:47
D1
48:63
Operands
-
RS
Source Register -
D34
34-bit Displacement -
RA
Base Register -
R
PC-Relative Flag
Example
pststd r3, label@pcrel(0), 1
// Store value to label.
Registers Altered
PCRelated
More in Prefixed
Reference
View in PowerISA v3.1C Specification ↗
OPF Power ISA v3.1C
Description
Stores a 64-bit doubleword from RS to memory at the address calculated from RA plus a 34-bit immediate displacement. When R=1, the displacement is PC-relative; when R=0, it is treated as absolute. This is a 64-bit prefixed instruction from the Prefixed extension.
Operation
if R = 1 then
EA ← (RA | 0 if RA=0) + sign_extend(D34, 34) + CIA
else
EA ← (RA | 0 if RA=0) + sign_extend(D34, 34)
[EA] ← RS
Programming Note
The pststd instruction stores a doubleword from the source register to memory. It uses the Program Counter (PC) or an effective address calculated from the base register and displacement. Ensure proper alignment for optimal performance; unaligned accesses may incur penalties. This instruction operates at user privilege level.