By convention, register $a0
is used to pass the argument.
But in the body of the subroutine
register $a0
is used to pass arguments to
the trap handler.
So a safe copy must be made in an "S" register.
Here is a section of the main program. It prints out the contents of both structs:
. . . . # $s1 contains the address of the first struct # $s2 contains the address of the second struct # # write out the first struct move ____,____ jal PStruct # write out the second struct move ____,____ jal PStruct