lilium-voyager/code/tools/lcc/mips/irix/tst/fields.sbk
2005-10-04 15:18:22 +00:00

304 lines
3.4 KiB
Text

.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,40,$31
.set noreorder
.cpload $25
.set reorder
addu $sp,$sp,-40
.mask 0x82000000,-8
.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,40
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