This programming assignment does not require any further coding or documentation than that provided. The program will
Question:
This programming assignment does not require any further coding or documentation than that provided. The program will ABEND and your task is to learn how to investigate what happened so that you can debug your own Assembler programs in the future. To begin, run the following program on the Marist mainframe using the ASSIST JCL used previously: DUMP1 CSECT USING DUMP1,15 L 3, FIRST L 4, SECOND AR 3,4 LA 5, THIRD L 6, TWO ST 3,0(6,5) XDUMP THIRD,4 SR 6,6 ESTABLISH R15 AS BASE REG LOAD REG 3 WITH VALUE AT LABEL FIRST LOAD REG 4 WITH VALUE AT LABEL SECOND ADD THE TWO VALUES REG 5 -> LABEL THIRD LOAD REG 6 WITH VALUE AT LABEL TWO STORE RESULT OF
VALUE AT LABEL FIRST LOAD REG 4 WITH VALUE AT LABEL SECOND ADD THE TWO VALUES REG 5 -> LABEL THIRD LOAD REG 6 WITH VALUE AT LABEL TWO STORE RESULT OF ADDITION ABOVE AT 0(6,5) DUMP THE 4 BYTES AT LABEL THIRD O OUT REG 6 BCR B'1111',14 RETURN TO CALLER LTORG NOTE TWO FIRST SECOND THIRD FOURTH DC DC DC DC DS DS CL2 'OK' F'2' F'211' F'94' XL4 F PLACE KEEPER CONSTANT = 2 CONSTANT = 211 CONSTANT = 94 SUM OF THE ADDITION STORAGE FOR ANOTHER NUMBER
= END DUMP1 PROGRAM ENDS HERE Use the resulting ABEND dump output to answer the following questions: 1. (2 points) Did this error occur (a) while the program was being assembled or (b) when it was being run? 2. (2 points) What is the address of the next instruction which would have been executed? 3. (2 points) What is the value of the condition code at the time of the ABEND? 4. (2 points) What is the length of the instruction that caused the ABEND (a number of bytes)? 5. (2 points) What i
name)? 7. (2 points) What actually causes this error? 8. (3 points) 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.) 9. (2 points) At the time of the ABEND, what is the value of register 3 in decimal? 10. (2 points) What does the value in register 3 represent at the time of the ABEND? 11. (3 points) 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? 12. (2 points) What are the contents of the two bytes of user storage starting at address X'000022? What do they represent? 13. (2 point) Why do we not have XDUMP output? 14. (2 points) 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)?