blob: 3e22e269f670a913cc75d315767d1adf39a6372c [file] [log] [blame]
.text
.ent func1
func1:
.frame $sp,0,$31
.set noreorder
.cpload $25 # 0000 lui gp,hi(_gp_disp)
# 0004 addiu gp,gp,lo(_gp_disp)
# 0008 addu gp,gp,t9
.set reorder
.cprestore 8 # 000c sw gp,8(sp)
jal end # 0010 lw t9,got(.text)(gp)
# 0014 nop
# 0018 addiu t9,t9,lo(end)
# 001c jalr t9
# 0020 nop
# 0024 lw gp,8(sp)
# Avoid confusion: avoid the 'lw' above being put into the delay
# slot for the jalr below!
.set noreorder
nop # 0028 nop
.set reorder
jal $25 # 002c jalr t9
# 0030 nop
# 0034 lw gp,8(sp)
.end func1
.text
.ent func2
func2:
.frame $sp,0,$31
.set noreorder
.cpload $25 # 0038 lui gp,hi(_gp_disp)
# 003c addiu gp,gp,lo(_gp_disp)
# 0040 addu gp,gp,t9
.set reorder
.cprestore 32768 # 0044 lui at,0x1
# 0048 addu at,at,sp
# 004c sw gp,-32768(at)
jal end # 0050 lw t9,got(.text)(gp)
# 0054 nop
# 0058 addiu t9,t9,lo(end)
# 005c jalr t9
# 0060 nop
# 0064 lui at,0x1
# 0068 addu at,at,sp
# 006c lw gp,-32768(at)
# Avoid confusion: avoid the 'lw' above being put into the delay
# slot for the jalr below!
.set noreorder
nop # 0070 nop
.set reorder
jal $25 # 0074 jalr t9
# 0078 nop
# 007c lui at,0x1
# 0080 addu at,at,sp
# 0084 lw gp,-32768(at)
.end func2
.text
.ent func3
func3:
.frame $sp,0,$31
.set noreorder
.cpload $25 # 0088 lui gp,hi(_gp_disp)
# 008c addiu gp,gp,lo(_gp_disp)
# 0090 addu gp,gp,t9
.set reorder
.cprestore 65536 # 0094 lui at,0x1
# 0098 addu at,at,sp
# 009c sw gp,0(at)
jal end # 00a0 lw t9,got(.text)(gp)
# 00a4 nop
# 00a8 addiu t9,t9,lo(end)
# 00ac jalr t9
# 00b0 nop
# 00b4 lui at,0x1
# 00b8 addu at,at,sp
# 00bc lw gp,0(at)
# Avoid confusion: avoid the 'lw' above being put into the delay
# slot for the jalr below!
.set noreorder
nop # 00c0 nop
.set reorder
jal $25 # 00c4 jalr t9
# 00c8 nop
# 00cc lui at,0x1
# 00d0 addu at,at,sp
# 00d4 lw gp,0(at)
.end func3
end:
# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
.space 8