|
|
1.1 root 1: .set reorder
2: .globl x
3: .data; .align 2; x:.word 0x1
4: .byte 2
5: .space 3
6: .byte 0
7: .byte 52
8: .space 2
9: .byte 10
10: .byte 6
11: .space 2
12: .globl i
13: .sdata; .align 2; i:.word 0x10
14: .globl y
15: .sdata; .align 2; y:.byte 224
16: .space 3
17: .byte 0
18: .byte 0
19: .byte 0
20: .byte 9
21: .text
22: .globl main
23: .text
24: .align 2; .ent main
25: main:
26: $fp1=32
27: .frame $sp,32,$31
28: addu $sp,$sp,-32
29: .mask 0x80000000,-4
30: sw $31,28($sp)
31: la $4,L.4
32: lw $5,x
33: lb $6,x+4
34: lw $25,x+8
35: sra $7,$25,20
36: lw $25,x+8
37: sll $25,$25,12
38: sra $25,$25,28
39: sw $25,16($sp)
40: lw $25,x+12
41: sll $25,$25,4
42: sra $25,$25,29
43: sw $25,20($sp)
44: lb $25,x+13
45: sw $25,24($sp)
46: jal printf # int
47: la $4,L.10
48: lw $25,y
49: srl $5,$25,30
50: sll $25,$25,2
51: srl $6,$25,28
52: lw $7,y+4
53: jal printf # int
54: lw $25,x+8
55: and $25,$25,0xfff0ffff
56: lw $24,i
57: sll $24,$24,28
58: sra $24,$24,28
59: sll $24,$24,16
60: and $24,$24,0xf0000
61: or $25,$25,$24
62: sw $25,x+8
63: lw $25,x+12
64: and $25,$25,0xf1ffffff
65: sw $25,x+12
66: la $4,L.4
67: lw $5,x
68: lb $6,x+4
69: lw $25,x+8
70: sra $7,$25,20
71: lw $25,x+8
72: sll $25,$25,12
73: sra $25,$25,28
74: sw $25,16($sp)
75: lw $25,x+12
76: sll $25,$25,4
77: sra $25,$25,29
78: sw $25,20($sp)
79: lb $25,x+13
80: sw $25,24($sp)
81: jal printf # int
82: lw $25,y
83: and $25,$25,0x3fffffff
84: or $25,$25,0x80000000
85: sw $25,y
86: lw $25,i
87: sw $25,y+4
88: la $4,L.10
89: lw $25,y
90: srl $5,$25,30
91: sll $25,$25,2
92: srl $6,$25,28
93: lw $7,y+4
94: jal printf # int
95: la $4,x
96: jal f2 # int
97: L.3:
98: lw $31,28($sp)
99: addu $sp,$sp,32
100: j $31
101: .end main
102: .globl f1
103: .text
104: .align 2; .ent f1
105: f1:
106: $fp2=24
107: .frame $sp,24,$31
108: addu $sp,$sp,-24
109: .mask 0xc0000000,-4
110: sw $30,16($sp)
111: sw $31,20($sp)
112: move $30,$4
113: lw $25,($30)
114: and $25,$25,0xc3ffffff
115: sw $25,($30)
116: lw $25,($30)
117: and $25,$25,0x3fffffff
118: and $24,$0,3
119: sll $24,$24,30
120: and $24,$24,0xc0000000
121: or $25,$25,$24
122: sw $25,($30)
123: lw $25,($30)
124: and $25,$25,0x3c000000
125: beq $25,$0,L.22
126: la $4,L.24
127: jal printf # int
128: L.22:
129: lw $25,($30)
130: or $25,$25,0xc0000000
131: sw $25,($30)
132: lw $25,($30)
133: or $25,$25,0x3c000000
134: sw $25,($30)
135: la $4,L.25
136: lw $25,($30)
137: srl $5,$25,30
138: sll $25,$25,2
139: srl $6,$25,28
140: jal printf # int
141: L.21:
142: lw $30,16($sp)
143: lw $31,20($sp)
144: addu $sp,$sp,24
145: j $31
146: .end f1
147: .globl f2
148: .text
149: .align 2; .ent f2
150: f2:
151: $fp3=32
152: .frame $sp,32,$31
153: addu $sp,$sp,-32
154: .mask 0xc0800000,-8
155: sw $23,16($sp)
156: sw $30,20($sp)
157: sw $31,24($sp)
158: move $30,$4
159: lw $25,i
160: bne $25,$0,L.28
161: li $23,1
162: b L.29
163: L.28:
164: move $23,$0
165: L.29:
166: lw $25,($30)
167: and $25,$25,0x3fffffff
168: and $24,$23,3
169: sll $24,$24,30
170: and $24,$24,0xc0000000
171: or $25,$25,$24
172: sw $25,($30)
173: move $4,$30
174: jal f1 # int
175: lw $25,($30)
176: and $25,$25,0xc3ffffff
177: and $24,$0,15
178: sll $24,$24,26
179: and $24,$24,0x3c000000
180: or $25,$25,$24
181: sw $25,($30)
182: L.26:
183: lw $23,16($sp)
184: lw $30,20($sp)
185: lw $31,24($sp)
186: addu $sp,$sp,32
187: j $31
188: .end f2
189: .rdata
190: L.25:.ascii "p->a = 0x%x, p->b = 0x%x\012\000"
191: L.24:.ascii "p->b != 0!\012\000"
192: L.10:.ascii "y = %d %d %d\012\000"
193: L.4:.ascii "x = %d %d %d %d %d %d\012\000"
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.