Can we use MVC instruction to move pack field to pack
field....which instruction you will use and why ?

Answer Posted / steve holton

Qualification to above answer:

You can use MVC to move ANY data from any addressable
storage area to another. So the answer above is correct.
But if you use this technique, it is up to the programmer to
ensure that the result is valid. For example, the source
field may not be the same length as the target, so any
subsequent decimal arithmetic calculations (after a
"straight" MVC FIELD2,FIELD2) against the target field could
result in abend (S0C7). Even if the source field IS packed
decimal, if it is of a different length than the target, the
programmer will have to "adjust" the source and target
specifications to ensure that the result in the target field
is valid packed decimal. For example, if the source field is
PL3 (packed length 3)and the target is PL5, a "straight" MVC
PL5field,PL3field will leave 2 bytes of "garbage" in the
last 2 bytes of PL5field (assuming that you don't get an
abend S0C4 because the and of PL3 is at a page boundary).
For this case to work, you need MVC PL5field+2(3),PL5field,
then you need to ensure that the "top two" bytes of PL5field
are zero to ensure that subesequent packed decimal
arithmetic using PL5field will work.

Is This Answer Correct ?    14 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is need of start 0? In steed of can we use anyother numerics? If we use what will happen?

828


Explain about base register?

796


Explain about house keeping in assembler?

805


Why do we use "drop"?

742


What is the use of trt instruction?

774


what is need of start 0? In steed of

828


how do you round the addition or subtraction of two numbers in assembler? what does the following code do? change process tool(code changes from dev to prd) the changes made to your code should be effected in live. How the process takes place. That is how can you move the code changes from development to production?

888


Explain how to produce soc7 abend?

816


Explain the difference between various read and find statement and which one should be used when for better adabas performance?

756


Ap wkur,=p5 where wkur is a label?

865


How many maximum base registers we can have in a single program?

801


How to pass the parameters from jcl to assembler program?

734


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?

1726


explain about maximum displacement and how to cross this limit?

877


Explain how to initialize a register to 0000?

784