How do you initialize a register to 0000?
Answers were Sorted based on User's Feedback
Answer / ajay kuriyal
from my point of view the best way is to do boolean
XR RX,RX
Now RX will have '0000'
| Is This Answer Correct ? | 25 Yes | 2 No |
Answer / pazhanivel seethapathy
The standard ways to intialize registers are as follows
1. SR Rx,Rx or
2. LA Rx,0 or
3. XR Rx,Rx
| Is This Answer Correct ? | 10 Yes | 1 No |
Answer / sunny
XR Rx,Rx
This is the best way and most efficient way of initializing
the register values or Label values to '0'.
Its because the time required to execute a Logical
Instruction is always less than the Arithmetic Instructions.
e.g SR Rx,Rx consumes more execution time than XR Rx,Rx.
So XR Rx,Rx is a better way to do obtain our target.
| Is This Answer Correct ? | 7 Yes | 0 No |
Answer / sourav
The best way to initialize a register is
SR Rx,Rx
instruction.
There are other ways as well, few of them are already
posted.
| Is This Answer Correct ? | 11 Yes | 5 No |
Answer / anonym
1. Register i-memory (fastest)
LA x,0
SRL x,64
2. register register
XGR/XR x,x
SGR/SR x,x
3. register memory (not very clever)
L x,=A(0)
LG x,=AD(0)
| Is This Answer Correct ? | 4 Yes | 2 No |
Answer / sam
I'm assuming something like
R0 EQU 0
R1 EQU 1
:
Rx EQU x
is coded somewhere in the program
| Is This Answer Correct ? | 2 Yes | 26 No |
how to pass the parameters from jcl to assembler pgm?
how to produce SOC7 abend
explain about maximum displacement and how to cross this limit?
Explain the difference in data type "x" and "p"?
Explain about house keeping in assembler?
What will happen if we drop the base register in the program which contains only one basereg?
how to access VSAm file
In the house keeping section of an MVS assembly language program, like the one below STM R14,R12,12(R13) BASR R12,R0 USING *,R12,R11 LA R11,2048 LA R11,2048(R11,R12) .... .... 1. What if BASR R12,R0 IS NOT PRECEDE USING *,R12,R11? 2. USING (base address), REGISTER does USING directive says assembler to treat particular Register as a base register with the mentioned base address..in the above case * i.e current location counter..well if that is the case why we need BASR R12,R0 ? 3. What if I write like STM R14,R12,12(R13) BASR R12,R0 LA R11,2048 LA R11,2048(R11,R12) USING *,R12,R11 there is no address resolution being calculated in both LA statements so is it a right way to set Base register?..will there be any issues with Domain regarding R11 and R12?
Can we use an equated value as operand for an MVC instruction? Reason for the same
Explain about base register?
How many maximum base registers we can have in a single program?
How is data passed from a calling program to an assembler called program?