305 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			305 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
.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
 |