This exercise is intended to help you understand standard entry and exit linkage.
It is not a homework assignment and will not be graded.
You need to write a program and a subroutine. This is a bit more work than the other practice exercises.
When you run the program, look at the XDUMP output. You will find that register 13 does have a meaningful value. This is the address of an 18-fullword save area belonging to ASSIST.
SUB has one parameter: the address of an 18-fullword save area.
Now call SUB. The parameter list should contain one item, the address of PRACSAV. Before the BALR statement, though, use XDUMP to print out the register values.
When you run the program, you should be able to see in the XDUMP output the values you have just put in registers 1 and 15.
Now use XDUMP to print the contents of PRACSAV, that is, the 72 bytes starting at address 0(11).
When you run the program, you should see in the XDUMP output the values you earlier put into registers 2 through 10.
In SUB, also use XDUMP to print out the contents of SUBSAVE.
When you run the program, you should see in the XDUMP output that most of SUBSAVE is uninitialized, but you should be able to spot the backward pointer.
When you run the program, you should be able to see in register 15 the value you put there (which is different from what it was earlier).