stdu

Store Doubleword with Update DS-form

stdu RS,disp(RA)

Stores a doubleword from a register to memory and updates the base address register.

Details

The stdu instruction stores the contents of register RS into the doubleword in storage addressed by EA, which is the sum of (RA) + EXTS(DS || 0b00). The effective address EA is then placed back into register RA. If RA=0, the instruction form is invalid.

Pseudocode Operation

EA ← (RA) + EXTS(DS || 0b00)
MEM(EA, 8) ← (RS)
RA ← EA

Programming Note

The base register (RA) is updated with the effective address after the memory access. RA must not be 0 and must differ from the destination register; violating this constraint produces undefined results.

Example

stdu r3, disp(RA)

Encoding

Binary Layout
0
0
RS
6
RA
11
DS
16
1
31
 
Format DS-form
Opcode 0xF8000001
Extension Base

Operands

  • RS
    Source General Purpose Register
  • RA
    Base Address General Purpose Register
  • disp
    Displacement value