.set reorder | |
.globl x | |
.data | |
.align 2 | |
x: | |
.word 0x1 | |
.byte 0x2 | |
.space 3 | |
.byte 0x0 | |
.byte 0x34 | |
.space 2 | |
.byte 0xa | |
.byte 0x6 | |
.space 2 | |
.globl i | |
.sdata | |
.align 2 | |
i: | |
.word 0x10 | |
.globl y | |
.sdata | |
.align 2 | |
y: | |
.byte 0xe0 | |
.space 3 | |
.byte 0x0 | |
.byte 0x0 | |
.byte 0x0 | |
.byte 0x9 | |
.globl main | |
.text | |
.text | |
.align 2 | |
.ent main | |
main: | |
.frame $sp,48,$31 | |
.set noreorder | |
.cpload $25 | |
.set reorder | |
addu $sp,$sp,-48 | |
.mask 0x82000000,-16 | |
.cprestore 28 | |
sw $31,32($sp) | |
la $4,L.4 | |
lw $5,x | |
lb $6,x+4 | |
lw $24,x+8 | |
sra $7,$24,20 | |
lw $24,x+8 | |
sll $24,$24,12 | |
sra $24,$24,28 | |
sw $24,16($sp) | |
lw $24,x+12 | |
sll $24,$24,4 | |
sra $24,$24,29 | |
sw $24,20($sp) | |
lb $24,x+13 | |
sw $24,24($sp) | |
jal printf | |
la $4,L.10 | |
lw $24,y | |
srl $15,$24,30 | |
and $5,$15,3 | |
srl $24,$24,26 | |
and $6,$24,15 | |
lw $7,y+4 | |
jal printf | |
lw $24,x+8 | |
and $24,$24,0xfff0ffff | |
lw $15,i | |
sll $15,$15,28 | |
sra $15,$15,28 | |
sll $15,$15,16 | |
and $15,$15,0xf0000 | |
or $24,$24,$15 | |
sw $24,x+8 | |
lw $24,x+12 | |
and $24,$24,0xf1ffffff | |
sw $24,x+12 | |
la $4,L.4 | |
lw $5,x | |
lb $6,x+4 | |
lw $24,x+8 | |
sra $7,$24,20 | |
lw $24,x+8 | |
sll $24,$24,12 | |
sra $24,$24,28 | |
sw $24,16($sp) | |
lw $24,x+12 | |
sll $24,$24,4 | |
sra $24,$24,29 | |
sw $24,20($sp) | |
lb $24,x+13 | |
sw $24,24($sp) | |
jal printf | |
lw $24,y | |
and $24,$24,0x3fffffff | |
or $24,$24,0x80000000 | |
sw $24,y | |
lw $24,i | |
sw $24,y+4 | |
la $4,L.10 | |
lw $24,y | |
srl $15,$24,30 | |
and $5,$15,3 | |
srl $24,$24,26 | |
and $6,$24,15 | |
lw $7,y+4 | |
jal printf | |
la $4,x | |
jal f2 | |
move $2,$0 | |
L.3: | |
lw $25,28($sp) | |
lw $31,32($sp) | |
addu $sp,$sp,48 | |
j $31 | |
.end main | |
.globl f1 | |
.text | |
.align 2 | |
.ent f1 | |
f1: | |
.frame $sp,32,$31 | |
.set noreorder | |
.cpload $25 | |
.set reorder | |
addu $sp,$sp,-32 | |
.mask 0xc2000000,-8 | |
.cprestore 16 | |
sw $30,20($sp) | |
sw $31,24($sp) | |
move $30,$4 | |
lw $24,($30) | |
and $24,$24,0xc3ffffff | |
sw $24,($30) | |
lw $24,($30) | |
and $24,$24,0x3fffffff | |
and $15,$0,3 | |
sll $15,$15,30 | |
and $15,$15,0xc0000000 | |
or $24,$24,$15 | |
sw $24,($30) | |
lw $24,($30) | |
and $24,$24,0x3c000000 | |
beq $24,$0,L.22 | |
la $4,L.24 | |
jal printf | |
L.22: | |
lw $24,($30) | |
or $24,$24,0xc0000000 | |
sw $24,($30) | |
lw $24,($30) | |
or $24,$24,0x3c000000 | |
sw $24,($30) | |
la $4,L.25 | |
lw $24,($30) | |
srl $15,$24,30 | |
and $5,$15,3 | |
srl $24,$24,26 | |
and $6,$24,15 | |
jal printf | |
move $2,$0 | |
L.21: | |
lw $25,16($sp) | |
lw $30,20($sp) | |
lw $31,24($sp) | |
addu $sp,$sp,32 | |
j $31 | |
.end f1 | |
.globl f2 | |
.text | |
.align 2 | |
.ent f2 | |
f2: | |
.frame $sp,32,$31 | |
.set noreorder | |
.cpload $25 | |
.set reorder | |
addu $sp,$sp,-32 | |
.mask 0xc2800000,-4 | |
sw $23,16($sp) | |
.cprestore 20 | |
sw $30,24($sp) | |
sw $31,28($sp) | |
move $30,$4 | |
lw $24,i | |
bne $24,$0,L.28 | |
la $23,1 | |
b L.29 | |
L.28: | |
move $23,$0 | |
L.29: | |
lw $24,($30) | |
and $24,$24,0x3fffffff | |
move $15,$23 | |
and $15,$15,3 | |
sll $15,$15,30 | |
and $15,$15,0xc0000000 | |
or $24,$24,$15 | |
sw $24,($30) | |
move $4,$30 | |
jal f1 | |
lw $24,($30) | |
and $24,$24,0xc3ffffff | |
move $15,$0 | |
and $15,$15,15 | |
sll $15,$15,26 | |
and $15,$15,0x3c000000 | |
or $24,$24,$15 | |
sw $24,($30) | |
move $2,$0 | |
L.26: | |
lw $23,16($sp) | |
lw $25,20($sp) | |
lw $30,24($sp) | |
lw $31,28($sp) | |
addu $sp,$sp,32 | |
j $31 | |
.end f2 | |
.rdata | |
.align 0 | |
L.25: | |
.byte 112 | |
.byte 45 | |
.byte 62 | |
.byte 97 | |
.byte 32 | |
.byte 61 | |
.byte 32 | |
.byte 48 | |
.byte 120 | |
.byte 37 | |
.byte 120 | |
.byte 44 | |
.byte 32 | |
.byte 112 | |
.byte 45 | |
.byte 62 | |
.byte 98 | |
.byte 32 | |
.byte 61 | |
.byte 32 | |
.byte 48 | |
.byte 120 | |
.byte 37 | |
.byte 120 | |
.byte 10 | |
.byte 0 | |
.align 0 | |
L.24: | |
.byte 112 | |
.byte 45 | |
.byte 62 | |
.byte 98 | |
.byte 32 | |
.byte 33 | |
.byte 61 | |
.byte 32 | |
.byte 48 | |
.byte 33 | |
.byte 10 | |
.byte 0 | |
.align 0 | |
L.10: | |
.byte 121 | |
.byte 32 | |
.byte 61 | |
.byte 32 | |
.byte 37 | |
.byte 100 | |
.byte 32 | |
.byte 37 | |
.byte 100 | |
.byte 32 | |
.byte 37 | |
.byte 100 | |
.byte 10 | |
.byte 0 | |
.align 0 | |
L.4: | |
.byte 120 | |
.byte 32 | |
.byte 61 | |
.byte 32 | |
.byte 37 | |
.byte 100 | |
.byte 32 | |
.byte 37 | |
.byte 100 | |
.byte 32 | |
.byte 37 | |
.byte 100 | |
.byte 32 | |
.byte 37 | |
.byte 100 | |
.byte 32 | |
.byte 37 | |
.byte 100 | |
.byte 32 | |
.byte 37 | |
.byte 100 | |
.byte 10 | |
.byte 0 |