OpenCores
URL https://opencores.org/ocsvn/yacc/yacc/trunk

Subversion Repositories yacc

[/] [yacc/] [trunk/] [bench/] [c_src/] [pi/] [pi2.s] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 tak.sugawa
        .file   1 "pi2.c"
2
 
3
 # -G value = 8, Cpu = 3000, ISA = 1
4
 # GNU C version egcs-2.90.23 980102 (egcs-1.0.1 release) (sde) [AL 1.1, MM 40] Algorithmics SDE-MIPS v4.0.5 compiled by GNU C version egcs-2.91.57 19980901 (egcs-1.1 release).
5
 # options passed:  -O2 -O -Wall
6
 # options enabled:  -fdefer-pop -fomit-frame-pointer -fthread-jumps
7
 # -fpeephole -finline -fkeep-static-consts -fpcc-struct-return
8
 # -fdelayed-branch -fcommon -fverbose-asm -fgnu-linker -falias-check
9
 # -fargument-alias -msplit-addresses -mgas -mrnames -mgpOPT -mgpopt
10
 # -membedded-data -meb -mmad -marg32 -mdebugh -mdebugi -mmadd -mno-gpconst
11
 # -mcpu=3000
12
 
13
gcc2_compiled.:
14
        .globl  a
15
        .sdata
16
        .align  0
17
        .align  2
18
a:
19
        .size   a,4
20
        .word   10000
21
        .globl  c
22
        .align  2
23
c:
24
        .size   c,4
25
        .word   56
26
        .rdata
27
        .align  0
28
        .align  2
29
.LC0:
30
        .ascii  "Calculating pi, it may take some minutes.\n\000"
31
        .align  2
32
.LC1:
33
        .ascii  "\000"
34
        .align  2
35
.LC2:
36
        .ascii  "$finish\000"
37
 
38
        .comm   b,4
39
 
40
        .comm   d,4
41
 
42
        .comm   e,4
43
 
44
        .comm   f,228
45
 
46
        .comm   g,4
47
 
48
        .text
49
        .text
50
        .align  2
51
        .globl  print_uart
52
        .ent    print_uart
53
print_uart:
54
        .frame  $sp,0,$ra                # vars= 0, regs= 0/0, args= 0, extra= 0
55
        .mask   0x00000000,0
56
        .fmask  0x00000000,0
57
        lbu     $v0,0($a0)
58
        beq     $v0,$zero,.L3
59
        li      $v1,16380                       # 0x00003ffc
60
.L5:
61
        #.set   volatile
62
        lw      $v0,0($v1)
63
        #.set   novolatile
64
        andi    $v0,$v0,0x0100
65
        bne     $v0,$zero,.L5
66
        lbu     $v0,0($a0)
67
        #.set   volatile
68
        sb      $v0,0($v1)
69
        #.set   novolatile
70
        addu    $a0,$a0,1
71
        lbu     $v0,0($a0)
72
        bne     $v0,$zero,.L5
73
.L3:
74
        j       $ra
75
        .end    print_uart
76
        .size   print_uart,.-print_uart
77
        .align  2
78
        .globl  putc_uart
79
        .ent    putc_uart
80
putc_uart:
81
        .frame  $sp,0,$ra                # vars= 0, regs= 0/0, args= 0, extra= 0
82
        .mask   0x00000000,0
83
        .fmask  0x00000000,0
84
        andi    $a0,$a0,0x00ff
85
        li      $v1,16380                       # 0x00003ffc
86
.L11:
87
        #.set   volatile
88
        lw      $v0,0($v1)
89
        #.set   novolatile
90
        andi    $v0,$v0,0x0100
91
        .set    noreorder
92
        .set    nomacro
93
        bne     $v0,$zero,.L11
94
        li      $v0,16380                       # 0x00003ffc
95
        .set    macro
96
        .set    reorder
97
 
98
        #.set   volatile
99
        sb      $a0,0($v0)
100
        #.set   novolatile
101
        j       $ra
102
        .end    putc_uart
103
        .size   putc_uart,.-putc_uart
104
        .align  2
105
        .globl  print
106
        .ent    print
107
print:
108
        .frame  $sp,0,$ra                # vars= 0, regs= 0/0, args= 0, extra= 0
109
        .mask   0x00000000,0
110
        .fmask  0x00000000,0
111
        lbu     $v0,0($a0)
112
        .set    noreorder
113
        .set    nomacro
114
        beq     $v0,$zero,.L17
115
        move    $v1,$v0
116
        .set    macro
117
        .set    reorder
118
 
119
        li      $a1,16368                       # 0x00003ff0
120
        move    $v0,$v1
121
.L20:
122
        #.set   volatile
123
        sb      $v0,0($a1)
124
        #.set   novolatile
125
        addu    $a0,$a0,1
126
        lbu     $v1,0($a0)
127
        .set    noreorder
128
        .set    nomacro
129
        bne     $v1,$zero,.L20
130
        move    $v0,$v1
131
        .set    macro
132
        .set    reorder
133
 
134
.L17:
135
        li      $v0,16368                       # 0x00003ff0
136
        #.set   volatile
137
        sb      $zero,0($v0)
138
        #.set   novolatile
139
        j       $ra
140
        .end    print
141
        .size   print,.-print
142
        .align  2
143
        .globl  print_char
144
        .ent    print_char
145
print_char:
146
        .frame  $sp,0,$ra                # vars= 0, regs= 0/0, args= 0, extra= 0
147
        .mask   0x00000000,0
148
        .fmask  0x00000000,0
149
        andi    $a0,$a0,0x00ff
150
        li      $v0,16368                       # 0x00003ff0
151
        #.set   volatile
152
        sb      $a0,0($v0)
153
        #.set   novolatile
154
        j       $ra
155
        .end    print_char
156
        .size   print_char,.-print_char
157
        .align  2
158
        .globl  print_num
159
        .ent    print_num
160
print_num:
161
        .frame  $sp,40,$ra              # vars= 0, regs= 5/0, args= 16, extra= 0
162
        .mask   0x800f0000,-8
163
        .fmask  0x00000000,0
164
        subu    $sp,$sp,40
165
        sw      $ra,32($sp)
166
        sw      $s3,28($sp)
167
        sw      $s2,24($sp)
168
        sw      $s1,20($sp)
169
        sw      $s0,16($sp)
170
        move    $s2,$a0
171
        li      $s1,1000                        # 0x000003e8
172
        li      $s3,-858993459                  # 0xcccccccd
173
.L26:
174
        divu    $s0,$s2,$s1
175
        addu    $a0,$s0,48
176
        .set    noreorder
177
        .set    nomacro
178
        jal     print_char
179
        andi    $a0,$a0,0x00ff
180
        .set    macro
181
        .set    reorder
182
 
183
        mult    $s0,$s1
184
        mflo    $v0
185
        subu    $s2,$s2,$v0
186
        multu   $s1,$s3
187
        mfhi    $v0
188
        srl     $s1,$v0,3
189
        bne     $s1,$zero,.L26
190
        lw      $ra,32($sp)
191
        lw      $s3,28($sp)
192
        lw      $s2,24($sp)
193
        lw      $s1,20($sp)
194
        lw      $s0,16($sp)
195
        .set    noreorder
196
        .set    nomacro
197
        j       $ra
198
        addu    $sp,$sp,40
199
        .set    macro
200
        .set    reorder
201
 
202
        .end    print_num
203
        .size   print_num,.-print_num
204
        .text
205
        .align  2
206
        .globl  main2
207
        .ent    main2
208
main2:
209
        .frame  $sp,24,$ra              # vars= 0, regs= 2/0, args= 16, extra= 0
210
        .mask   0x80010000,-4
211
        .fmask  0x00000000,0
212
        subu    $sp,$sp,24
213
        sw      $ra,20($sp)
214
        sw      $s0,16($sp)
215
        lui     $a0,%hi(.LC0) # high
216
        .set    noreorder
217
        .set    nomacro
218
        jal     print
219
        addiu   $a0,$a0,%lo(.LC0) # low
220
        .set    macro
221
        .set    reorder
222
 
223
        lw      $v1,b
224
        lw      $v0,c
225
        .set    noreorder
226
        .set    nomacro
227
        beq     $v1,$v0,.L30
228
        lui     $v0,%hi(f) # high
229
        .set    macro
230
        .set    reorder
231
 
232
        addiu   $a2,$v0,%lo(f) # low
233
        lw      $v0,a
234
        li      $v1,1717960704                  # 0x66660000
235
        ori     $v1,$v1,0x6667
236
        mult    $v0,$v1
237
        mfhi    $t0
238
        sra     $v1,$t0,1
239
        sra     $v0,$v0,31
240
        subu    $a1,$v1,$v0
241
        lw      $a0,c
242
.L32:
243
        lw      $v1,b
244
        sll     $v0,$v1,2
245
        addu    $v0,$v0,$a2
246
        sw      $a1,0($v0)
247
        addu    $v1,$v1,1
248
        sw      $v1,b
249
        bne     $v1,$a0,.L32
250
.L30:
251
        sw      $zero,d
252
        lw      $v0,c
253
        sll     $v0,$v0,1
254
        sw      $v0,g
255
        .set    noreorder
256
        .set    nomacro
257
        beq     $v0,$zero,.L44
258
        lui     $v0,%hi(f) # high
259
        .set    macro
260
        .set    reorder
261
 
262
        addiu   $s0,$v0,%lo(f) # low
263
.L37:
264
        lw      $v0,c
265
        sw      $v0,b
266
        lw      $a3,a
267
        b       .L38
268
.L40:
269
        lw      $v1,d
270
        lw      $v0,b
271
        mult    $v1,$v0
272
        mflo    $t0
273
        sw      $t0,d
274
.L38:
275
        lw      $a2,b
276
        sll     $a1,$a2,2
277
        addu    $a1,$a1,$s0
278
        lw      $v0,0($a1)
279
        mult    $v0,$a3
280
        mflo    $v0
281
        lw      $v1,d
282
        addu    $v1,$v0,$v1
283
        sw      $v1,d
284
        lw      $a0,g
285
        addu    $v0,$a0,-1
286
        sw      $v0,g
287
        div     $v1,$v1,$v0
288
        mfhi    $v0
289
        sw      $v0,0($a1)
290
        sw      $v1,d
291
        addu    $a0,$a0,-2
292
        sw      $a0,g
293
        addu    $a2,$a2,-1
294
        sw      $a2,b
295
        bne     $a2,$zero,.L40
296
        lw      $v0,c
297
        addu    $v0,$v0,-14
298
        sw      $v0,c
299
        lw      $v0,a
300
        div     $v1,$v1,$v0
301
        lw      $a0,e
302
        .set    noreorder
303
        .set    nomacro
304
        jal     print_num
305
        addu    $a0,$v1,$a0
306
        .set    macro
307
        .set    reorder
308
 
309
        lw      $v1,d
310
        lw      $v0,a
311
        rem     $v0,$v1,$v0
312
        sw      $v0,e
313
        sw      $zero,d
314
        lw      $v0,c
315
        sll     $v0,$v0,1
316
        sw      $v0,g
317
        bne     $v0,$zero,.L37
318
.L44:
319
        .set    noreorder
320
        .set    nomacro
321
        jal     print_char
322
        li      $a0,10                  # 0x0000000a
323
        .set    macro
324
        .set    reorder
325
 
326
        lui     $a0,%hi(.LC1) # high
327
        .set    noreorder
328
        .set    nomacro
329
        jal     print
330
        addiu   $a0,$a0,%lo(.LC1) # low
331
        .set    macro
332
        .set    reorder
333
 
334
        lui     $a0,%hi(.LC2) # high
335
        .set    noreorder
336
        .set    nomacro
337
        jal     print
338
        addiu   $a0,$a0,%lo(.LC2) # low
339
        .set    macro
340
        .set    reorder
341
 
342
        lw      $ra,20($sp)
343
        lw      $s0,16($sp)
344
        .set    noreorder
345
        .set    nomacro
346
        j       $ra
347
        addu    $sp,$sp,24
348
        .set    macro
349
        .set    reorder
350
 
351
        .end    main2
352
        .size   main2,.-main2

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.