How to initialize 20,000 bytes in the Assembler..
Answer Posted / roocarlin
since the machine-code for MVC moves up to 256 bytes, you would need to do a series of MVCs to initialize 20000 bytes. this requires that you maintain a register or two to keep track of how far you've progressed through initialization.
possibly, you could get MVCL to do it; i've never tried...
MVCL uses 2 sets of even-odd pairs of registers to do the move.
you specify source address, destination address, length of source, length of destination, and fill character in the registers. the fill-character goes into the high order byte of (I THINK...) the destination length register (in this case r4)
l r4,=f'20000'
l r6,=f'20000'
la r7,source_field
la r5,dest_field
mvcl r4,r6
| Is This Answer Correct ? | 10 Yes | 3 No |
Post New Answer View All Answers
explain about maximum displacement and how to cross this limit?
What does "using" do?
How many maximum base registers we can have in a single program?
Explain how to access vsam file?
Explain the difference in data type "x" and "p"?
What is maximum displacement and how to cross this limit?
explain icm instruction?
how to initialize a register to 0000?
Explain about base register?
What is the use of trt instruction?
Explain how to produce soc7 abend?
What will happen if we drop the base register in the program which contains only one basereg?
Explain the difference between various read and find statement and which one should be used when for better adabas performance?
how to retrieve the instream data in sysin?
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?