You are on page 1of 6

Loading Multiple Base Registers

Programmer Responsibilities
• Tell the assembler which registers to choose
when creating base/displacement addresses
X DS CL5 ==> C008 (BDDD)
Do this with USING:
USING *,R12
• Load the base register with the correct
address
Loading a Single Register
Address
X‘1000’ BASR R12,R0
USING *,R12
X’1002’ ...
Why is this Incorrect?
Address
USING *,R12
X’1000’ BASR R12,R0
X’1002’ ...
Loading Multiple Registers
Address
X‘1000’ BASR R12,R0
USING *,R12,R11,R10
X’1002’ LA R10,2048
LA R11,2048(R12,R10)
LA R10,2048(R11,R10)

Remember that X’1000’ = 4096


X’800’ = 2048
Direction
• It would be helpful to understand the terms
Domain and Range as they relate to USINGs.
• Also, read about the DROP directive

You might also like