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
 
Format MLS:D-form
Opcode 0x04000000F4000000
Extension Prefixed

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

PC

Related

More in Prefixed

Reference

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.