mips_ultrix_mach_dep.s 618 B

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