[ Previous | Next | Contents | Home | Search ]
AIX Version 4.3 Assembler Language Reference

ldu (Store Double Word with Update) Instruction


Load a double-word of data into the specified general purpose register, updating the address base.


ldu RT, D(RA)


The ldu instruction loads a double-word in storage from a specified location in memory addressed by the effective address (EA) into the target general-purpose register (GPR) RT.

If GPR RA is not 0, the EA is the sum of the contents of GPR RA and D, a 16-bit, signed two's complement integer, fullword-aligned, sign-extended to 64 bits.

If RA = 0 or RA = RT, the instruction form is invalid.


RT Specifies target general-purpose register where result of operation is stored.
D Specifies a 16-bit, signed two's complement integer sign-extended to 32 bits for EA calculation.
RA Specifies source general-purpose register for EA calculation.


The following code loads the first of 4 double-words from memory into GPR 4, incrementing GPR 5 to point to the next double-word in memory:

.csect   foodata[rw]
storage: .llong 5,6,7,12  # Successive double-words.

.csect   text[PR]
         		# Assume GPR 5 contains address of csect foodata[RW].
ldu       4,storage(5)	# GPR 4 now contains the first double-word of
			# foodata; GRP 5 points to the second double-word.


This instruction is defined only for 64-bit implementations. Using it on a 32-bit implementation will cause the system illegal instruction error handler to be invoked.

Related Information

Fixed-Point Processor.

Fixed-Point Load and Store with Update Instructions

[ Previous | Next | Contents | Home | Search ]