Why can only 256 bytes be moved from one address to another
in a MVC?
Answers were Sorted based on User's Feedback
Answer / mike m
THE LENGTH CODE FIELD IS 1 BYTE IN LENGTH.
THE LARGEST VALUE YOU MAY SPECIFY IN A 1 BYTE FIELD IS X'FF'
X'FF' = 255 DECIMAL
THE LEN. IN THE OBJECT CODE FIELD WILL BE 1 LESS THAN
ACTUAL LEN.
| Is This Answer Correct ? | 20 Yes | 1 No |
Answer / vikram
Lenght feild is 8 bits so the data is stored in binary
format so if we have all 8 bits set to 1 then the length
will be 128+64+32+16+8+4+2+1 = 255.or
2^7+ 2^6+2^5...2^0 = 255.
so the lenght is 256 .....
| Is This Answer Correct ? | 3 Yes | 0 No |
Answer / pazhanivel seethapathy
The length of MVC instruction is 1 Byte which is X'FF'. it
can have the range between 0 - 255 so totally 256 bytes of
data can be used.
| Is This Answer Correct ? | 2 Yes | 1 No |
Answer / roocarlin
the length of the MVC instruction itself is 6, one byte for the opcode, one byte for the length of the move-data, 2 bytes for base-displacement of the receiving field, and 2 bytes for the base-displacement of the sending field. since the length field in the MVC instruction is 1 byte, the values can be 0 to 255, thus you would be moving 1 to 256 bytes.
| Is This Answer Correct ? | 2 Yes | 1 No |
Can we use an equated value as operand for an MVC instruction? Reason for the same
explain about maximum displacement and how to cross this limit?
What is the use of trt instruction?
How is data passed from a calling program to an assembler called program?
How many maximum base registers we can have in a program?
Why do we have multiple base registers in certain programs?
What is base register?
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.
about maximum displacement and how to cross this limit.
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?
What is maximum displacement?
What is the use of TRT instruction and how it is working?