|  | @@ -1,3 +1,5 @@
 | 
	
		
			
				|  |  | +#include "asm.h"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  /*
 | 
	
		
			
				|  |  |      Entry point of all programs (_start).
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -88,45 +90,45 @@ _start:
 | 
	
		
			
				|  |  |  .global _start_trap
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  _start_trap:
 | 
	
		
			
				|  |  | -    addi sp, sp, -16*4
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    sw ra, 0*4(sp)
 | 
	
		
			
				|  |  | -    sw t0, 1*4(sp)
 | 
	
		
			
				|  |  | -    sw t1, 2*4(sp)
 | 
	
		
			
				|  |  | -    sw t2, 3*4(sp)
 | 
	
		
			
				|  |  | -    sw t3, 4*4(sp)
 | 
	
		
			
				|  |  | -    sw t4, 5*4(sp)
 | 
	
		
			
				|  |  | -    sw t5, 6*4(sp)
 | 
	
		
			
				|  |  | -    sw t6, 7*4(sp)
 | 
	
		
			
				|  |  | -    sw a0, 8*4(sp)
 | 
	
		
			
				|  |  | -    sw a1, 9*4(sp)
 | 
	
		
			
				|  |  | -    sw a2, 10*4(sp)
 | 
	
		
			
				|  |  | -    sw a3, 11*4(sp)
 | 
	
		
			
				|  |  | -    sw a4, 12*4(sp)
 | 
	
		
			
				|  |  | -    sw a5, 13*4(sp)
 | 
	
		
			
				|  |  | -    sw a6, 14*4(sp)
 | 
	
		
			
				|  |  | -    sw a7, 15*4(sp)
 | 
	
		
			
				|  |  | +    addi sp, sp, -16*REGBYTES
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    STORE ra, 0*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    STORE t0, 1*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    STORE t1, 2*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    STORE t2, 3*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    STORE t3, 4*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    STORE t4, 5*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    STORE t5, 6*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    STORE t6, 7*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    STORE a0, 8*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    STORE a1, 9*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    STORE a2, 10*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    STORE a3, 11*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    STORE a4, 12*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    STORE a5, 13*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    STORE a6, 14*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    STORE a7, 15*REGBYTES(sp)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      jal ra, _start_trap_rust
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    lw ra, 0*4(sp)
 | 
	
		
			
				|  |  | -    lw t0, 1*4(sp)
 | 
	
		
			
				|  |  | -    lw t1, 2*4(sp)
 | 
	
		
			
				|  |  | -    lw t2, 3*4(sp)
 | 
	
		
			
				|  |  | -    lw t3, 4*4(sp)
 | 
	
		
			
				|  |  | -    lw t4, 5*4(sp)
 | 
	
		
			
				|  |  | -    lw t5, 6*4(sp)
 | 
	
		
			
				|  |  | -    lw t6, 7*4(sp)
 | 
	
		
			
				|  |  | -    lw a0, 8*4(sp)
 | 
	
		
			
				|  |  | -    lw a1, 9*4(sp)
 | 
	
		
			
				|  |  | -    lw a2, 10*4(sp)
 | 
	
		
			
				|  |  | -    lw a3, 11*4(sp)
 | 
	
		
			
				|  |  | -    lw a4, 12*4(sp)
 | 
	
		
			
				|  |  | -    lw a5, 13*4(sp)
 | 
	
		
			
				|  |  | -    lw a6, 14*4(sp)
 | 
	
		
			
				|  |  | -    lw a7, 15*4(sp)
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    addi sp, sp, 16*4
 | 
	
		
			
				|  |  | +    LOAD ra, 0*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    LOAD t0, 1*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    LOAD t1, 2*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    LOAD t2, 3*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    LOAD t3, 4*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    LOAD t4, 5*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    LOAD t5, 6*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    LOAD t6, 7*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    LOAD a0, 8*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    LOAD a1, 9*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    LOAD a2, 10*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    LOAD a3, 11*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    LOAD a4, 12*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    LOAD a5, 13*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    LOAD a6, 14*REGBYTES(sp)
 | 
	
		
			
				|  |  | +    LOAD a7, 15*REGBYTES(sp)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    addi sp, sp, 16*REGBYTES
 | 
	
		
			
				|  |  |      mret
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 |