# define call_push(x) move $4,x; jal GC_push_one .text # Mark from machine registers that are saved by C compiler .globl GC_push_regs .ent GC_push_regs GC_push_regs: subu $sp,8 ## Need to save only return address sw $31,4($sp) .mask 0x80000000,-4 .frame $sp,8,$31 call_push($2) call_push($3) call_push($16) call_push($17) call_push($18) call_push($19) call_push($20) call_push($21) call_push($22) call_push($23) call_push($30) lw $31,4($sp) addu $sp,8 j $31 .end GC_push_regs