go to previous page   go to home page   go to next page

Answer:

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 SPIM service. So a safe copy must be made in an "S" register.

Calling the Subroutine

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
        

QUESTION 12:

Fill in the blanks. Look back at the subroutine if needed.