Reference no: EM132217421
Written Assignment
This assignment is practice in reading a dump.
Write out your answers to these problems on your own paper and hand them in, on the due date, in class.
Be sure to put your name on your paper.
Show your work!
Run the following program. You can use the JCL we used in the lab training exercise.
WRIT2 CSECT USING WRIT2,15 Establish a base register L 6,TWO Load TWO's value into register 6 L 3,FIRST Load a number into register 3 L 4,SECOND Load another number into register 4 AR 3,4 Add the two numbers LA 5,THIRD Set register 5 = address of THIRD ST 3,0(6,5) Store the result XDUMP THIRD,4 Dump the result SR 6,6 Set register 6 to 0 BCR B'1111',14 Return to the caller * This is a comment line. PLACE DC CL2'OK' Place keeper TWO DC F'2' A constant = 2 FIRST DC F'142' A number SECOND DC F'57' Another number THIRD DS XL4'00' Sum of the two numbers FOURTH DS F Yet another number END WRIT2 End of the program
Use the resulting output to answer the following questions:
Did this error occur (a) while the program was being assembled or (b) when it was being run?
What is the address of the next instruction which will be executed?
What is the value of the condition code at the time of the ABEND?
What is the length of the instruction that caused the ABEND (a number of bytes)?
What is the address of the instruction that caused the abend?
What type of error occurred (number and name)?
What actually causes this error?
Correct the error by rewriting the section of code that caused it. (The sum should be stored in THIRD.) (There are several correct ways to do this.)
At the time of the ABEND, what is the value of register 3 in decimal?
What does the value in register 3 represent at the time of the ABEND?
Why is the address (LOC column) of the storage area with the label TWO on it at X'000024' when the DC statement whose address is X'000020' only takes up 2 bytes?
What are the contents of the two bytes of user storage starting at address X'000022'? What do they represent?
Why do we not have XDUMP output?
How many bytes are taken up by the XDUMP pseudo-instruction?
If we correct the error, what should be the value of the condition code at the end of the program (when we reach the BCR line)?