60 likes | 245 Views
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
E N D
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