pipe.s 312 B

12345678910111213141516171819
  1. .set noreorder
  2. .global pipe
  3. .type pipe,@function
  4. pipe:
  5. lui $3, %hi(%neg(%gp_rel(pipe)))
  6. daddiu $3, $3, %lo(%neg(%gp_rel(pipe)))
  7. daddu $3, $3, $25
  8. li $2, 5021
  9. syscall
  10. beq $7, $0, 1f
  11. nop
  12. ld $25, %got_disp(__syscall_ret)($3)
  13. jr $25
  14. dsubu $4, $0, $2
  15. 1: sw $2, 0($4)
  16. sw $3, 4($4)
  17. move $2, $0
  18. jr $ra
  19. nop