Why do we use "drop"? What does "using" do?
Answers were Sorted based on User's Feedback
Answer / mike m
USING tells the assembler what your base reg. will be at
that point in the code.
DROP says to stop using the register coded on the DROP
instruction
| Is This Answer Correct ? | 12 Yes | 2 No |
Answer / phil
neither DROP nor USING affect the register contents.
Once a register has been loaded with the address of a piece
of storage, the using statement can be used to 'map' that
storage against a set of labels defining the layout of that
storage e.g. a DSECT. Then whenever one of those labels is
referenced in the code, in moves etc, the assembler resolves
the relative address as a particular displacement from the
absolute address in the register. The DROP instruction
removes the relationship between the labels and the register
and renders subsequent references to those labels as
unresolvable, giving rise to errors at assembly (compile)time.
Typically the DROP instruction will be used to allow use of
the register for another purpose, e.g. address a different
bit of storage via a using staement on second DSECT without
the risk of corrupting that data via moves referencing the
original DSECT.
| Is This Answer Correct ? | 9 Yes | 0 No |
Answer / ajay kuriyal
to be more precise , using maps the register with the dsect
and drop unmapped or disolve the mapping of register with
the dsect
| Is This Answer Correct ? | 5 Yes | 1 No |
Answer / guest
Using is to map the addressablity for a table and drop used
to drop the addresability of a register. (to remove the
addressability)
| Is This Answer Correct ? | 1 Yes | 1 No |
How do you initialize a register to 0000?
Is it possible to access some memory location (Ex: VAR1 DS P) without using Base Displacement?
What does the following code do? Ap wkur,=p5 where wkur is a label?
explain icm instruction?
Explain the difference in data type "x" and "p"?
Why can only 256 bytes be moved from one address to another in a MVC?
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?
How we can retrieve the instream data in SYSIN ?
how to retrieve the instream data in sysin?
what is need of START 0?. In steed of '0' can we use any other numerics?. if we use what will happen?.
Explain the difference between various read and find statement and which one should be used when for better adabas performance?
What is maximum displacement and how to cross this limit?