Skip to content

Instantly share code, notes, and snippets.

@scalone
Created May 16, 2014 02:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save scalone/8ce2be3d34b2a9697aad to your computer and use it in GitHub Desktop.
Save scalone/8ce2be3d34b2a9697aad to your computer and use it in GitHub Desktop.
.set noreorder
.global pipe
.type pipe,@function
pipe:
lui $gp, %hi(_gp_disp)
addiu $gp, %lo(_gp_disp)
addu $gp, $gp, $25
li $2, 4042
syscall
beq $7, $0, 1f
nop
lw $25, %call16(__syscall_ret)($gp)
jr $25
subu $4, $0, $2
1: sw $2, 0($4)
sw $3, 4($4)
move $2, $0
jr $ra
nop
/*
00000000 <pipe>:
0: 3c1c0000 lui gp,0x0
0: R_MIPS_HI16 _gp_disp
4: 279c0000 addiu gp,gp,0
4: R_MIPS_LO16 _gp_disp
8: 0399e021 addu gp,gp,t9
c: 24020fca li v0,4042
10: 0000000c syscall
14: 10e00004 beqz a3,28 <pipe+0x28>
18: 00000000 nop
1c: 8f990000 lw t9,0(gp)
1c: R_MIPS_CALL16 __syscall_ret
20: 03200008 jr t9
24: 00022023 negu a0,v0
28: ac820000 sw v0,0(a0)
2c: ac830004 sw v1,4(a0)
30: 00001021 move v0,zero
34: 03e00008 jr ra
38: 00000000 nop
*/
/* lib8c funfa */
.global pipe
.type pipe,@function
pipe:
.set noreorder
.cpload $25
li $2, 4042
syscall
beq $7, $0, 1f
nop
sw $2, 0($4)
sw $3, 4($4)
j $ra
move $2, $zero
1:
move $4, $2
nop
/*
00000000 <pipe>:
0: 24020fca li v0,4042
4: 0000000c syscall
8: 10e00005 beqz a3,20 <pipe+0x20>
c: 00000000 nop
10: ac820000 sw v0,0(a0)
14: ac830004 sw v1,4(a0)
18: 03e00008 jr ra
1c: 00001021 move v0,zero
20: 00402021 move a0,v0
24: 00000000 nop
*/
/* lib9c */
.global pipe
.type pipe,@function
pipe:
.set noreorder
lw $gp, ($25)
li $2, 4042
syscall
beq $7, $0, 1f
nop
lw $25, __syscall_ret($gp)
jr $25
1:
move $4, $2
nop
/* lib10c */
.set noreorder
.global pipe
.type pipe,@function
pipe:
.cpload $25
li $2, 4042
syscall
beq $7, $0, 1f
nop
lw $25, __syscall_ret($gp)
jr $25
1:
move $4, $2
nop
/* lib11c */
.set noreorder
.global pipe
.type pipe,@function
pipe:
lui $gp, %hi(_gp_disp)
addiu $gp, %lo(_gp_disp)
addu $gp, $gp, $25
li $2, 4042
syscall
beq $7, $0, 1f
nop
lw $25, __syscall_ret($gp)
jr $25
subu $4, $0, $2
1: sw $2, 0($4)
sw $3, 4($4)
move $2, $0
jr $ra
nop
/*
00000000 <pipe>:
0: 3c1c0000 lui gp,0x0
0: R_MIPS_HI16 _gp_disp
4: 279c0000 addiu gp,gp,0
4: R_MIPS_LO16 _gp_disp
8: 0399e021 addu gp,gp,t9
c: 24020fca li v0,4042
10: 0000000c syscall
14: 10e00006 beqz a3,30 <pipe+0x30>
18: 00000000 nop
1c: 3c190000 lui t9,0x0
1c: R_MIPS_HI16 __syscall_ret
20: 033cc821 addu t9,t9,gp
24: 8f390000 lw t9,0(t9)
24: R_MIPS_LO16 __syscall_ret
28: 03200008 jr t9
2c: 00022023 negu a0,v0
30: ac820000 sw v0,0(a0)
34: ac830004 sw v1,4(a0)
38: 00001021 move v0,zero
3c: 03e00008 jr ra
40: 00000000 nop
*/
/* libc12.c */
.set noreorder
.global pipe
.type pipe,@function
pipe:
lui $gp, (_gp_disp)
addu $gp, $gp, $25
li $2, 4042
syscall
beq $7, $0, 1f
nop
lw $25, __syscall_ret($gp)
jr $25
subu $4, $0, $2
1: sw $2, 0($4)
sw $3, 4($4)
move $2, $0
jr $ra
nop
/*
00000000 <pipe>:
0: 3c1c0000 lui gp,0x0
4: 0399e021 addu gp,gp,t9
8: 24020fca li v0,4042
c: 0000000c syscall
10: 10e00006 beqz a3,2c <pipe+0x2c>
14: 00000000 nop
18: 3c190000 lui t9,0x0
18: R_MIPS_HI16 __syscall_ret
1c: 033cc821 addu t9,t9,gp
20: 8f390000 lw t9,0(t9)
20: R_MIPS_LO16 __syscall_ret
24: 03200008 jr t9
28: 00022023 negu a0,v0
2c: ac820000 sw v0,0(a0)
30: ac830004 sw v1,4(a0)
34: 00001021 move v0,zero
38: 03e00008 jr ra
3c: 00000000 nop
*/
/*libc13*/
.set noreorder
.global pipe
.type pipe,@function
pipe:
lw $gp, (_gp_disp)
addu $gp, $gp, $25
li $2, 4042
syscall
beq $7, $0, 1f
nop
lw $25, __syscall_ret($gp)
jr $25
subu $4, $0, $2
1: sw $2, 0($4)
sw $3, 4($4)
move $2, $0
jr $ra
nop
/*
00000000 <pipe>:
0: 3c1c0000 lui gp,0x0
0: R_MIPS_HI16 _gp_disp
4: 8f9c0000 lw gp,0(gp)
4: R_MIPS_LO16 _gp_disp
8: 0399e021 addu gp,gp,t9
c: 24020fca li v0,4042
10: 0000000c syscall
14: 10e00006 beqz a3,30 <pipe+0x30>
18: 00000000 nop
1c: 3c190000 lui t9,0x0
1c: R_MIPS_HI16 __syscall_ret
20: 033cc821 addu t9,t9,gp
24: 8f390000 lw t9,0(t9)
24: R_MIPS_LO16 __syscall_ret
28: 03200008 jr t9
2c: 00022023 negu a0,v0
30: ac820000 sw v0,0(a0)
34: ac830004 sw v1,4(a0)
38: 00001021 move v0,zero
3c: 03e00008 jr ra
40: 00000000 nop
*/
/*lib14.c*/
.set noreorder
.global pipe
.type pipe,@function
pipe:
lw $gp, %hi(_gp_disp)
addiu $gp, %lo(_gp_disp)
addu $gp, $gp, $25
li $2, 4042
syscall
bne $7, $0, 1f
nop
sw $2, 0($4)
sw $3, 4($4)
li $2, 0
j $ra
1:
li $2, -1
nop
/*
00000000 <pipe>:
0: 8c1c0000 lw gp,0(zero)
0: R_MIPS_HI16 _gp_disp
4: 279c0000 addiu gp,gp,0
4: R_MIPS_LO16 _gp_disp
8: 0399e021 addu gp,gp,t9
c: 24020fca li v0,4042
10: 0000000c syscall
14: 14e00005 bnez a3,2c <pipe+0x2c>
18: 00000000 nop
1c: ac820000 sw v0,0(a0)
20: ac830004 sw v1,4(a0)
24: 24020000 li v0,0
28: 03e00008 jr ra
2c: 2402ffff li v0,-1
30: 00000000 nop
*/
/*lib15.c*/
.set noreorder
.global pipe
.type pipe,@function
pipe:
.cpload $25
li $2, 4042
syscall
bne $7, $0, 1f
nop
sw $2, 0($4)
sw $3, 4($4)
j $ra
li $2, 0
1:
li $2, -1
nop
/*libc16*/
.set noreorder
.global pipe
.type pipe,@function
pipe:
.cpload $25
li $2, 4042
syscall
bne $7, $0, 1f
nop
sw $2, 0($4)
sw $3, 4($4)
j $ra
li $2, 0
1:
lw $25, __syscall_ret($gp)
jr $25
subu $4, $0, $2
nop
/*
00000000 <pipe>:
0: 24020fca li v0,4042
4: 0000000c syscall
8: 14e00005 bnez a3,20 <pipe+0x20>
c: 00000000 nop
10: ac820000 sw v0,0(a0)
14: ac830004 sw v1,4(a0)
18: 03e00008 jr ra
1c: 24020000 li v0,0
20: 3c190000 lui t9,0x0
20: R_MIPS_HI16 __syscall_ret
24: 033cc821 addu t9,t9,gp
28: 8f390000 lw t9,0(t9)
28: R_MIPS_LO16 __syscall_ret
2c: 03200008 jr t9
30: 00022023 negu a0,v0
34: 00000000 nop
*/
/*libc17*/
.set noreorder
.global pipe
.type pipe,@function
pipe:
lui $gp, %hi(_gp_disp)
addiu $gp, %lo(_gp_disp)
addu $gp, $gp, $25
li $2, 4042
syscall
beq $7, $0, 1f
nop
lw $25, __syscall_ret($gp)
jr $25
subu $4, $0, $2
1: sw $2, 0($4)
sw $3, 4($4)
move $2, $0
jr $ra
nop
/*
00000000 <pipe>:
0: 3c1c0000 lui gp,0x0
0: R_MIPS_HI16 _gp_disp
4: 279c0000 addiu gp,gp,0
4: R_MIPS_LO16 _gp_disp
8: 0399e021 addu gp,gp,t9
c: 24020fca li v0,4042
10: 0000000c syscall
14: 10e00006 beqz a3,30 <pipe+0x30>
18: 00000000 nop
1c: 3c190000 lui t9,0x0
1c: R_MIPS_HI16 __syscall_ret
20: 033cc821 addu t9,t9,gp
24: 8f390000 lw t9,0(t9)
24: R_MIPS_LO16 __syscall_ret
28: 03200008 jr t9
2c: 00022023 negu a0,v0
30: ac820000 sw v0,0(a0)
34: ac830004 sw v1,4(a0)
38: 00001021 move v0,zero
3c: 03e00008 jr ra
40: 00000000 nop
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment