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

Subversion Repositories darkriscv

[/] [darkriscv/] [trunk/] [src/] [stdio.s] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 marcelos
        .file   "stdio.c"
2
        .option nopic
3
        .text
4
        .align  2
5 4 marcelos
        .type   _idle.part.0, @function
6
_idle.part.0:
7
        .LA0: auipc     a5,%pcrel_hi(utimers)
8
        lw      a5,%pcrel_lo(.LA0)(a5)
9
        .LA1: auipc     a4,%pcrel_hi(utimers)
10
        addi    a3,a5,-1
11
        sw      a3,%pcrel_lo(.LA1)(a4)
12
        bnez    a5,.L2
13
        .LA2: auipc     a5,%pcrel_hi(io)
14
        addi    a5,a5,%pcrel_lo(.LA2)
15
        lhu     a5,8(a5)
16
        .LA3: auipc     a4,%pcrel_hi(io)
17
        addi    a4,a4,%pcrel_lo(.LA3)
18
        addi    a5,a5,1
19
        slli    a5,a5,16
20
        srli    a5,a5,16
21
        sh      a5,8(a4)
22
        li      a4,999424
23
        .LA4: auipc     a5,%pcrel_hi(utimers)
24
        addi    a4,a4,575
25
        sw      a4,%pcrel_lo(.LA4)(a5)
26
.L2:
27
        .LA5: auipc     a5,%pcrel_hi(io)
28
        addi    a5,a5,%pcrel_lo(.LA5)
29
        li      a4,-128
30
        sb      a4,3(a5)
31
        ret
32
        .size   _idle.part.0, .-_idle.part.0
33
        .align  2
34
        .type   __udiv_umod_si3.part.1, @function
35
__udiv_umod_si3.part.1:
36
        mv      a4,a0
37
        li      a5,1
38
        bleu    a0,a1,.L6
39
.L5:
40
        bltz    a1,.L6
41
        slli    a1,a1,1
42
        slli    a5,a5,1
43
        bltu    a1,a4,.L5
44
.L6:
45
        li      a0,0
46
        beqz    a4,.L21
47
.L8:
48
        beqz    a5,.L9
49
        bgtu    a1,a4,.L10
50
        sub     a4,a4,a1
51
        add     a0,a0,a5
52
        srli    a1,a1,1
53
        srli    a5,a5,1
54
        bnez    a4,.L8
55
.L9:
56
        bnez    a2,.L4
57
        mv      a0,a4
58
        ret
59
.L10:
60
        srli    a5,a5,1
61
        srli    a1,a1,1
62
        j       .L8
63
.L4:
64
        ret
65
.L21:
66
        mv      a0,a4
67
        j       .L9
68
        .size   __udiv_umod_si3.part.1, .-__udiv_umod_si3.part.1
69
        .align  2
70
        .type   __div_mod_si3.part.2, @function
71
__div_mod_si3.part.2:
72
        addi    sp,sp,-16
73
        sw      s0,8(sp)
74
        sw      s1,4(sp)
75
        sw      ra,12(sp)
76
        mv      s1,a2
77
        li      s0,0
78
        bgez    a0,.L23
79
        sub     a0,zero,a0
80
        li      s0,1
81
.L23:
82
        sw      zero,0(sp)
83
        bgez    a1,.L24
84
        li      a5,1
85
        sub     a1,zero,a1
86
        sw      a5,0(sp)
87
.L24:
88
        mv      a2,s1
89
        call    __udiv_umod_si3.part.1
90
        beqz    s1,.L25
91
        lw      a5,0(sp)
92
        beq     s0,a5,.L22
93
.L34:
94
        sub     a0,zero,a0
95
.L22:
96
        lw      ra,12(sp)
97
        lw      s0,8(sp)
98
        lw      s1,4(sp)
99
        addi    sp,sp,16
100
        jr      ra
101
.L25:
102
        bnez    s0,.L34
103
        lw      ra,12(sp)
104
        lw      s0,8(sp)
105
        lw      s1,4(sp)
106
        addi    sp,sp,16
107
        jr      ra
108
        .size   __div_mod_si3.part.2, .-__div_mod_si3.part.2
109
        .align  2
110
        .globl  _idle
111
        .type   _idle, @function
112
_idle:
113
        .LA6: auipc     a5,%pcrel_hi(io)
114
        addi    a5,a5,%pcrel_lo(.LA6)
115
        lbu     a5,3(a5)
116
        slli    a5,a5,24
117
        srai    a5,a5,24
118
        bltz    a5,.L38
119
        ret
120
.L38:
121
        tail    _idle.part.0
122
        .size   _idle, .-_idle
123
        .align  2
124 2 marcelos
        .globl  getchar
125
        .type   getchar, @function
126
getchar:
127 4 marcelos
        addi    sp,sp,-12
128
        sw      ra,8(sp)
129
.L41:
130
        .LA8: auipc     a5,%pcrel_hi(io)
131
        addi    a5,a5,%pcrel_lo(.LA8)
132
        lbu     a5,4(a5)
133
        .LA7: auipc     a4,%pcrel_hi(io)
134
        addi    a4,a4,%pcrel_lo(.LA7)
135
        andi    a5,a5,2
136
        bnez    a5,.L45
137
        lbu     a5,3(a4)
138
        slli    a5,a5,24
139
        srai    a5,a5,24
140
        bgez    a5,.L41
141
        call    _idle.part.0
142
        j       .L41
143
.L45:
144
        lw      ra,8(sp)
145
        .LA9: auipc     a5,%pcrel_hi(io)
146
        addi    a5,a5,%pcrel_lo(.LA9)
147 2 marcelos
        lbu     a0,5(a5)
148 4 marcelos
        addi    sp,sp,12
149
        jr      ra
150 2 marcelos
        .size   getchar, .-getchar
151
        .align  2
152
        .globl  putchar
153
        .type   putchar, @function
154
putchar:
155 4 marcelos
        addi    sp,sp,-12
156
        sw      s0,4(sp)
157
        sw      ra,8(sp)
158
        li      a5,10
159
        mv      s0,a0
160
        beq     a0,a5,.L49
161
.L52:
162
        .LA14: auipc    a5,%pcrel_hi(io)
163
        addi    a5,a5,%pcrel_lo(.LA14)
164
        lbu     a5,4(a5)
165
        .LA13: auipc    a4,%pcrel_hi(io)
166
        addi    a4,a4,%pcrel_lo(.LA13)
167
        andi    a5,a5,1
168
        beqz    a5,.L58
169
        lbu     a5,3(a4)
170
        slli    a5,a5,24
171
        srai    a5,a5,24
172
        bgez    a5,.L52
173
        call    _idle.part.0
174
        j       .L52
175
.L60:
176
        call    _idle.part.0
177
.L49:
178
        .LA11: auipc    a5,%pcrel_hi(io)
179
        addi    a5,a5,%pcrel_lo(.LA11)
180
        lbu     a5,4(a5)
181
        .LA10: auipc    a4,%pcrel_hi(io)
182
        addi    a4,a4,%pcrel_lo(.LA10)
183
        andi    a5,a5,1
184
        beqz    a5,.L59
185
        lbu     a5,3(a4)
186
        slli    a5,a5,24
187
        srai    a5,a5,24
188
        bgez    a5,.L49
189
        j       .L60
190
.L58:
191
        .LA15: auipc    a5,%pcrel_hi(io)
192
        andi    a4,s0,0xff
193
        addi    a5,a5,%pcrel_lo(.LA15)
194
        sb      a4,5(a5)
195
        lw      ra,8(sp)
196
        lw      s0,4(sp)
197
        mv      a0,a4
198
        addi    sp,sp,12
199
        jr      ra
200
.L59:
201
        .LA12: auipc    a5,%pcrel_hi(io)
202
        addi    a5,a5,%pcrel_lo(.LA12)
203 2 marcelos
        li      a4,13
204
        sb      a4,5(a5)
205 4 marcelos
        j       .L52
206 2 marcelos
        .size   putchar, .-putchar
207
        .align  2
208
        .globl  gets
209
        .type   gets, @function
210
gets:
211
        addi    sp,sp,-24
212
        sw      s0,16(sp)
213
        sw      s1,12(sp)
214
        sw      ra,20(sp)
215 4 marcelos
        sw      a1,4(sp)
216
        sw      a0,8(sp)
217
        addi    s1,a1,-1
218 2 marcelos
        mv      s0,a0
219 4 marcelos
        beqz    s1,.L81
220
.L64:
221
        .LA17: auipc    a5,%pcrel_hi(io)
222
        addi    a5,a5,%pcrel_lo(.LA17)
223
        lbu     a5,4(a5)
224
        andi    a5,a5,2
225
        bnez    a5,.L82
226
        .LA16: auipc    a5,%pcrel_hi(io)
227
        addi    a5,a5,%pcrel_lo(.LA16)
228
        lbu     a5,3(a5)
229
        slli    a5,a5,24
230
        srai    a5,a5,24
231
        bgez    a5,.L64
232
        call    _idle.part.0
233
        j       .L64
234
.L82:
235
        .LA18: auipc    a5,%pcrel_hi(io)
236
        addi    a5,a5,%pcrel_lo(.LA18)
237
        lbu     a4,5(a5)
238 2 marcelos
        li      a3,10
239 4 marcelos
        andi    a5,a4,0xff
240
        beq     a3,a4,.L66
241
        li      a4,13
242
        beq     a5,a4,.L66
243
        mv      a0,a5
244
        sw      a5,0(sp)
245
        call    putchar
246
        lw      a5,0(sp)
247
        li      a4,8
248
        beq     a5,a4,.L83
249
        sb      a5,0(s0)
250
        sw      s1,4(sp)
251
        addi    s0,s0,1
252
.L68:
253
        lw      a5,4(sp)
254
        addi    s1,a5,-1
255
        bnez    s1,.L64
256
.L66:
257 2 marcelos
        li      a0,10
258
        call    putchar
259 4 marcelos
        lw      a4,8(sp)
260 2 marcelos
        sb      zero,0(s0)
261 4 marcelos
        sub     a5,a4,s0
262
        snez    a5,a5
263
        sub     a5,zero,a5
264
        and     a5,a4,a5
265
        sw      a5,8(sp)
266
.L74:
267 2 marcelos
        lw      ra,20(sp)
268
        lw      s0,16(sp)
269 4 marcelos
        lw      a0,8(sp)
270 2 marcelos
        lw      s1,12(sp)
271
        addi    sp,sp,24
272
        jr      ra
273 4 marcelos
.L83:
274
        lw      a5,8(sp)
275
        beq     a5,s0,.L72
276 2 marcelos
        sb      zero,-1(s0)
277
        addi    s0,s0,-1
278 4 marcelos
        j       .L68
279
.L72:
280
        sw      s1,4(sp)
281
        j       .L68
282
.L81:
283
        li      a0,10
284
        call    putchar
285
        lw      a5,8(sp)
286
        sw      zero,8(sp)
287
        sb      zero,0(a5)
288
        j       .L74
289 2 marcelos
        .size   gets, .-gets
290
        .align  2
291
        .globl  putstr
292
        .type   putstr, @function
293
putstr:
294
        addi    sp,sp,-12
295 4 marcelos
        sw      ra,8(sp)
296 2 marcelos
        sw      s0,4(sp)
297 4 marcelos
        bnez    a0,.L94
298
        .LA20: auipc    a5,%pcrel_hi(.LC2)
299
        addi    a5,a5,%pcrel_lo(.LA20)
300
        mv      s0,a5
301
        j       .L96
302
.L87:
303
        addi    s0,s0,1
304
        call    putchar
305
.L96:
306 2 marcelos
        lbu     a0,0(s0)
307 4 marcelos
        bnez    a0,.L87
308 2 marcelos
        lw      ra,8(sp)
309
        lw      s0,4(sp)
310
        addi    sp,sp,12
311
        jr      ra
312 4 marcelos
.L94:
313
        mv      s0,a0
314
        j       .L96
315 2 marcelos
        .size   putstr, .-putstr
316
        .align  2
317
        .globl  puts
318
        .type   puts, @function
319
puts:
320
        addi    sp,sp,-12
321
        sw      ra,8(sp)
322 4 marcelos
        sw      s0,4(sp)
323
        bnez    a0,.L107
324
        .LA22: auipc    a5,%pcrel_hi(.LC2)
325
        addi    a5,a5,%pcrel_lo(.LA22)
326
        mv      s0,a5
327
        j       .L109
328
.L100:
329
        addi    s0,s0,1
330
        call    putchar
331
.L109:
332
        lbu     a0,0(s0)
333
        bnez    a0,.L100
334
        lw      s0,4(sp)
335 2 marcelos
        lw      ra,8(sp)
336
        li      a0,10
337
        addi    sp,sp,12
338
        tail    putchar
339 4 marcelos
.L107:
340
        mv      s0,a0
341
        j       .L109
342 2 marcelos
        .size   puts, .-puts
343
        .globl  __udivsi3
344
        .globl  __umodsi3
345
        .align  2
346
        .globl  putdx
347
        .type   putdx, @function
348
putdx:
349 4 marcelos
        .LA23: auipc    a5,%pcrel_hi(.LANCHOR0)
350
        addi    sp,sp,-88
351
        addi    a5,a5,%pcrel_lo(.LA23)
352
        sw      s0,80(sp)
353
        lw      s0,32(a5)
354
        lw      a4,0(a5)
355
        lw      t2,8(a5)
356
        sw      s0,64(sp)
357
        lw      s0,36(a5)
358
        sw      a4,32(sp)
359
        lw      a4,4(a5)
360
        sw      s0,68(sp)
361
        lw      s0,40(a5)
362
        lw      t0,12(a5)
363
        lw      t1,16(a5)
364
        sw      s0,72(sp)
365
        lw      s0,44(a5)
366
        lw      a2,20(a5)
367
        sw      a4,36(sp)
368
        sw      s0,12(sp)
369
        lw      s0,48(a5)
370
        lw      a4,28(a5)
371
        lw      a3,24(a5)
372
        sw      s0,16(sp)
373
        lw      s0,52(a5)
374
        sw      ra,84(sp)
375
        sw      s1,76(sp)
376
        sw      s0,20(sp)
377
        lw      s0,56(a5)
378
        lw      a5,60(a5)
379
        sw      t2,40(sp)
380
        sw      s0,24(sp)
381
        sw      t0,44(sp)
382
        sw      t1,48(sp)
383
        sw      a2,52(sp)
384
        sw      a3,56(sp)
385
        sw      a4,60(sp)
386
        sw      a5,28(sp)
387
        mv      s0,a1
388
        addi    a4,sp,12
389
        beqz    a1,.L111
390
        addi    a4,sp,32
391
.L111:
392
        lw      a1,0(a4)
393
        beqz    a1,.L110
394
        addi    s1,a4,4
395
        mv      a5,s1
396
        sw      s0,0(sp)
397
        li      s0,24
398
        mv      s1,s0
399
        mv      a3,a0
400
        mv      s0,a5
401
        j       .L116
402
.L124:
403 2 marcelos
        call    __udivsi3
404
        li      a1,10
405
        call    __umodsi3
406 4 marcelos
        .LA25: auipc    a5,%pcrel_hi(.LC3)
407
        addi    a5,a5,%pcrel_lo(.LA25)
408
        add     a0,a0,a5
409 2 marcelos
        lbu     a0,0(a0)
410
        call    putchar
411 4 marcelos
        lw      a3,4(sp)
412
.L114:
413
        addi    s0,s0,4
414
        lw      a1,-4(s0)
415 2 marcelos
        addi    s1,s1,-8
416 4 marcelos
        beqz    a1,.L110
417
.L116:
418
        li      a5,1
419
        beq     a1,a5,.L113
420
        bgtu    a1,a3,.L114
421
.L113:
422
        addi    a5,s1,4
423
        lw      a4,0(sp)
424
        srl     a5,a3,a5
425
        .LA26: auipc    a2,%pcrel_hi(.LC3)
426
        andi    a5,a5,15
427
        addi    a2,a2,%pcrel_lo(.LA26)
428
        sw      a3,4(sp)
429
        add     a5,a5,a2
430
        mv      a0,a3
431
        bnez    a4,.L124
432
        lbu     a0,0(a5)
433
        sw      a2,8(sp)
434
        addi    s0,s0,4
435 2 marcelos
        call    putchar
436 4 marcelos
        lw      a3,4(sp)
437
        lw      a2,8(sp)
438
        srl     a5,a3,s1
439
        andi    a5,a5,15
440
        add     a2,a5,a2
441
        lbu     a0,0(a2)
442
        addi    s1,s1,-8
443
        call    putchar
444
        lw      a1,-4(s0)
445
        lw      a3,4(sp)
446
        bnez    a1,.L116
447
.L110:
448
        lw      ra,84(sp)
449
        lw      s0,80(sp)
450
        lw      s1,76(sp)
451
        addi    sp,sp,88
452
        jr      ra
453 2 marcelos
        .size   putdx, .-putdx
454
        .align  2
455
        .globl  putx
456
        .type   putx, @function
457
putx:
458
        li      a1,0
459
        tail    putdx
460
        .size   putx, .-putx
461
        .align  2
462
        .globl  putd
463
        .type   putd, @function
464
putd:
465
        li      a1,1
466
        tail    putdx
467
        .size   putd, .-putd
468
        .align  2
469
        .globl  printf
470
        .type   printf, @function
471
printf:
472 4 marcelos
        addi    sp,sp,-44
473
        sw      s1,12(sp)
474
        sw      a5,40(sp)
475
        sw      ra,20(sp)
476
        sw      s0,16(sp)
477
        sw      a1,24(sp)
478
        sw      a2,28(sp)
479
        sw      a3,32(sp)
480
        sw      a4,36(sp)
481
        mv      s1,a0
482
        lbu     a0,0(a0)
483
        addi    a5,sp,24
484
        sw      a5,8(sp)
485
        bnez    a0,.L128
486
        j       .L144
487
.L150:
488
        lbu     a0,1(s1)
489
        li      a5,115
490
        addi    s1,s1,2
491
        beq     a0,a5,.L147
492
        li      a5,120
493
        beq     a0,a5,.L148
494
        li      a5,100
495
        beq     a0,a5,.L149
496
        call    putchar
497
.L132:
498
        lbu     a0,1(s0)
499
        beqz    a0,.L144
500
.L128:
501 2 marcelos
        li      a5,37
502 4 marcelos
        addi    s0,s1,1
503
        beq     a0,a5,.L150
504
        call    putchar
505
        mv      a5,s0
506
        mv      s0,s1
507 2 marcelos
        lbu     a0,1(s0)
508 4 marcelos
        mv      s1,a5
509
        bnez    a0,.L128
510
.L144:
511
        lw      ra,20(sp)
512
        lw      s0,16(sp)
513
        lw      s1,12(sp)
514
        li      a0,0
515
        addi    sp,sp,44
516
        jr      ra
517
.L149:
518
        lw      a5,8(sp)
519
        li      a1,1
520 2 marcelos
        lw      a0,0(a5)
521 4 marcelos
        addi    a5,a5,4
522
        sw      a5,8(sp)
523
        call    putdx
524
        j       .L132
525
.L148:
526
        lw      a5,8(sp)
527
        li      a1,0
528 2 marcelos
        lw      a0,0(a5)
529 4 marcelos
        addi    a5,a5,4
530
        sw      a5,8(sp)
531
        call    putdx
532
        j       .L132
533
.L147:
534
        lw      a3,8(sp)
535
        .LA29: auipc    a4,%pcrel_hi(.LC2)
536
        addi    a4,a4,%pcrel_lo(.LA29)
537
        lw      a5,0(a3)
538
        addi    a3,a3,4
539
        sw      a3,8(sp)
540
        bnez    a5,.L145
541
        mv      a5,a4
542
.L145:
543
        lbu     a0,0(a5)
544
        beqz    a0,.L132
545
.L133:
546
        addi    a5,a5,1
547
        sw      a5,0(sp)
548
        sw      a5,4(sp)
549
        call    putchar
550 2 marcelos
        lw      a5,0(sp)
551 4 marcelos
        lbu     a0,0(a5)
552
        bnez    a0,.L133
553
        j       .L132
554 2 marcelos
        .size   printf, .-printf
555
        .align  2
556
        .globl  strncmp
557
        .type   strncmp, @function
558
strncmp:
559 4 marcelos
        li      a5,1
560
        lbu     a3,0(a0)
561
        lbu     t1,0(a1)
562
        mv      a4,a0
563
        bne     a2,a5,.L152
564
        j       .L153
565
.L166:
566
        beqz    t1,.L153
567
        bne     a3,t1,.L153
568 2 marcelos
        lbu     a3,0(a4)
569 4 marcelos
        lbu     t1,0(a1)
570
        beqz    a5,.L153
571
.L152:
572
        addi    a4,a4,1
573
        not     a5,a4
574
        add     a5,a5,a2
575
        addi    a1,a1,1
576
        add     a5,a0,a5
577
        bnez    a3,.L166
578
.L153:
579
        sub     a0,a3,t1
580 2 marcelos
        ret
581
        .size   strncmp, .-strncmp
582
        .align  2
583
        .globl  strcmp
584
        .type   strcmp, @function
585
strcmp:
586 4 marcelos
        lbu     a5,0(a0)
587
        lbu     a4,0(a1)
588
        bnez    a5,.L168
589
        j       .L169
590
.L174:
591
        bne     a5,a4,.L169
592
        lbu     a5,0(a0)
593
        lbu     a4,0(a1)
594
        beqz    a5,.L172
595
.L168:
596
        addi    a0,a0,1
597
        addi    a1,a1,1
598
        bnez    a4,.L174
599
.L169:
600
        sub     a0,a5,a4
601
        ret
602
.L172:
603
        li      a5,0
604
        sub     a0,a5,a4
605
        ret
606 2 marcelos
        .size   strcmp, .-strcmp
607
        .align  2
608
        .globl  strlen
609
        .type   strlen, @function
610
strlen:
611 4 marcelos
        mv      a5,a0
612
        li      a0,0
613
        bnez    a5,.L176
614
        j       .L181
615
.L178:
616
        addi    a0,a0,1
617
.L176:
618 2 marcelos
        addi    a5,a5,1
619 4 marcelos
        lbu     a4,-1(a5)
620
        bnez    a4,.L178
621 2 marcelos
        ret
622 4 marcelos
.L181:
623
        ret
624 2 marcelos
        .size   strlen, .-strlen
625
        .align  2
626
        .globl  memcpy
627
        .type   memcpy, @function
628
memcpy:
629 4 marcelos
        beqz    a2,.L183
630
        add     a2,a0,a2
631
        mv      a5,a0
632
.L184:
633
        addi    a1,a1,1
634
        lbu     a4,-1(a1)
635
        addi    a5,a5,1
636
        sb      a4,-1(a5)
637
        bne     a2,a5,.L184
638
.L183:
639 2 marcelos
        ret
640
        .size   memcpy, .-memcpy
641
        .align  2
642
        .globl  memset
643
        .type   memset, @function
644
memset:
645 4 marcelos
        andi    a1,a1,0xff
646
        add     a4,a0,a2
647 2 marcelos
        mv      a5,a0
648 4 marcelos
        beqz    a2,.L195
649
.L191:
650 2 marcelos
        addi    a5,a5,1
651
        sb      a1,-1(a5)
652 4 marcelos
        bne     a4,a5,.L191
653
.L195:
654
        ret
655 2 marcelos
        .size   memset, .-memset
656
        .align  2
657
        .globl  strtok
658
        .type   strtok, @function
659
strtok:
660 4 marcelos
        addi    sp,sp,-12
661
        sw      s0,8(sp)
662
        sw      s1,4(sp)
663
        sw      a0,0(sp)
664
        mv      t2,a1
665
        beqz    a1,.L198
666
        mv      a5,a1
667
        li      t2,0
668
        j       .L197
669
.L199:
670
        addi    t2,t2,1
671
.L197:
672
        addi    a5,a5,1
673
        lbu     a4,-1(a5)
674
        bnez    a4,.L199
675
.L198:
676
        lw      a5,0(sp)
677
        beqz    a5,.L235
678
.L200:
679
        lw      t0,0(sp)
680
        lbu     a3,0(t0)
681
        beqz    a3,.L202
682
        lbu     s0,0(a1)
683
        add     t1,t0,t2
684
        li      s1,1
685
.L203:
686 2 marcelos
        mv      a0,a1
687 4 marcelos
        mv      a5,t0
688
        mv      a2,s0
689
        beq     t2,s1,.L204
690
.L207:
691
        addi    a5,a5,1
692
        not     a4,a5
693
        addi    a0,a0,1
694
        add     a4,a4,t1
695
        beqz    a2,.L205
696
        bne     a2,a3,.L205
697
        lbu     a3,0(a5)
698
        lbu     a2,0(a0)
699
        beqz    a4,.L204
700
        bnez    a3,.L207
701
.L204:
702
        beq     a3,a2,.L236
703
.L205:
704
        addi    t0,t0,1
705
        lbu     a3,0(t0)
706
        addi    t1,t1,1
707
        bnez    a3,.L203
708
.L202:
709
        lw      a0,0(sp)
710
        .LA32: auipc    a5,%pcrel_hi(nxt.1110)
711
        sw      zero,%pcrel_lo(.LA32)(a5)
712
.L196:
713
        lw      s0,8(sp)
714
        lw      s1,4(sp)
715
        addi    sp,sp,12
716
        jr      ra
717
.L236:
718
        sb      zero,0(t0)
719
        lw      s0,8(sp)
720
        addi    a4,t0,1
721
        .LA31: auipc    a5,%pcrel_hi(nxt.1110)
722
        sw      a4,%pcrel_lo(.LA31)(a5)
723
        lw      a0,0(sp)
724
        lw      s1,4(sp)
725
        addi    sp,sp,12
726
        jr      ra
727
.L235:
728
        .LA30: auipc    a5,%pcrel_hi(nxt.1110)
729
        lw      a5,%pcrel_lo(.LA30)(a5)
730 2 marcelos
        sw      a5,0(sp)
731 4 marcelos
        bnez    a5,.L200
732
        li      a0,0
733
        j       .L196
734 2 marcelos
        .size   strtok, .-strtok
735
        .align  2
736
        .globl  atoi
737
        .type   atoi, @function
738
atoi:
739 4 marcelos
        mv      a5,a0
740
        li      t0,0
741
        li      a0,0
742
        li      t1,45
743
        bnez    a5,.L238
744
        j       .L252
745
.L253:
746
        addi    a5,a5,1
747
        add     a0,a4,a1
748
        beqz    a5,.L241
749
.L238:
750
        lbu     a3,0(a5)
751
        slli    a4,a0,3
752
        slli    a1,a0,1
753
        addi    a2,a3,-48
754
        add     a4,a2,a4
755
        beqz    a3,.L241
756
        bne     a3,t1,.L253
757
        addi    a5,a5,1
758
        li      t0,1
759
        bnez    a5,.L238
760
.L241:
761
        beqz    t0,.L237
762
        sub     a0,zero,a0
763
.L237:
764 2 marcelos
        ret
765 4 marcelos
.L252:
766
        ret
767 2 marcelos
        .size   atoi, .-atoi
768
        .align  2
769
        .globl  xtoi
770
        .type   xtoi, @function
771
xtoi:
772 4 marcelos
        mv      a4,a0
773
        li      t1,57
774 2 marcelos
        li      a0,0
775 4 marcelos
        bnez    a4,.L255
776
        j       .L265
777
.L259:
778
        add     a0,a1,a2
779
        bleu    a5,t1,.L258
780
        add     a0,a3,a2
781
.L258:
782
        addi    a4,a4,1
783
        beqz    a4,.L254
784
.L255:
785
        lbu     a5,0(a4)
786
        slli    a2,a0,4
787
        andi    a3,a5,95
788
        addi    a1,a5,-48
789
        addi    a3,a3,-55
790
        bnez    a5,.L259
791
.L254:
792 2 marcelos
        ret
793 4 marcelos
.L265:
794
        ret
795 2 marcelos
        .size   xtoi, .-xtoi
796
        .align  2
797
        .globl  mac
798
        .type   mac, @function
799
mac:
800
 #APP
801 4 marcelos
# 285 "stdio.c" 1
802 2 marcelos
        .word 0x00c5857F
803
# 0 "" 2
804
 #NO_APP
805
        ret
806
        .size   mac, .-mac
807
        .align  2
808
        .globl  __umulsi3
809
        .type   __umulsi3, @function
810
__umulsi3:
811
        mv      a5,a0
812 4 marcelos
        bgeu    a0,a1,.L268
813 2 marcelos
        mv      a5,a1
814
        mv      a1,a0
815 4 marcelos
.L268:
816 2 marcelos
        li      a0,0
817 4 marcelos
        beqz    a1,.L272
818
.L271:
819 2 marcelos
        andi    a4,a1,1
820 4 marcelos
        srli    a1,a1,1
821
        beqz    a4,.L270
822 2 marcelos
        add     a0,a0,a5
823 4 marcelos
.L270:
824 2 marcelos
        slli    a5,a5,1
825 4 marcelos
        bnez    a1,.L271
826
        ret
827
.L272:
828
        ret
829 2 marcelos
        .size   __umulsi3, .-__umulsi3
830
        .align  2
831
        .globl  __mulsi3
832
        .type   __mulsi3, @function
833
__mulsi3:
834 4 marcelos
        li      a2,0
835
        bgez    a0,.L278
836 2 marcelos
        sub     a0,zero,a0
837 4 marcelos
        li      a2,1
838
.L278:
839 2 marcelos
        mv      a5,a0
840 4 marcelos
        bltz    a1,.L295
841
        mv      a4,a1
842
        li      t1,0
843
        bgtu    a1,a0,.L280
844
        mv      a4,a0
845
        li      t1,0
846
        mv      a5,a1
847
.L280:
848
        beqz    a5,.L290
849
.L281:
850
        li      a0,0
851
.L284:
852
        andi    a3,a5,1
853
        srli    a5,a5,1
854
        beqz    a3,.L283
855
        add     a0,a0,a4
856
.L283:
857
        slli    a4,a4,1
858
        bnez    a5,.L284
859
.L282:
860
        beq     a2,t1,.L277
861
        sub     a0,zero,a0
862
.L277:
863
        ret
864
.L295:
865
        sub     a4,zero,a1
866
        bgtu    a4,a0,.L288
867
        mv      a5,a4
868
        li      t1,1
869
        mv      a4,a0
870
        j       .L281
871
.L288:
872
        li      t1,1
873
        bnez    a5,.L281
874
.L290:
875
        li      a0,0
876
        j       .L282
877 2 marcelos
        .size   __mulsi3, .-__mulsi3
878
        .align  2
879
        .globl  __udiv_umod_si3
880
        .type   __udiv_umod_si3, @function
881
__udiv_umod_si3:
882 4 marcelos
        beqz    a1,.L297
883
        tail    __udiv_umod_si3.part.1
884
.L297:
885
        li      a0,0
886 2 marcelos
        ret
887
        .size   __udiv_umod_si3, .-__udiv_umod_si3
888
        .align  2
889
        .globl  __udivsi3
890
        .type   __udivsi3, @function
891
__udivsi3:
892 4 marcelos
        beqz    a1,.L299
893 2 marcelos
        li      a2,1
894 4 marcelos
        tail    __udiv_umod_si3.part.1
895
.L299:
896
        li      a0,0
897
        ret
898 2 marcelos
        .size   __udivsi3, .-__udivsi3
899
        .align  2
900
        .globl  __umodsi3
901
        .type   __umodsi3, @function
902
__umodsi3:
903 4 marcelos
        beqz    a1,.L301
904 2 marcelos
        li      a2,0
905 4 marcelos
        tail    __udiv_umod_si3.part.1
906
.L301:
907
        li      a0,0
908
        ret
909 2 marcelos
        .size   __umodsi3, .-__umodsi3
910
        .align  2
911
        .globl  __div_mod_si3
912
        .type   __div_mod_si3, @function
913
__div_mod_si3:
914 4 marcelos
        beqz    a1,.L303
915
        tail    __div_mod_si3.part.2
916
.L303:
917
        li      a0,0
918 2 marcelos
        ret
919
        .size   __div_mod_si3, .-__div_mod_si3
920
        .align  2
921
        .globl  __divsi3
922
        .type   __divsi3, @function
923
__divsi3:
924 4 marcelos
        beqz    a1,.L305
925 2 marcelos
        li      a2,1
926 4 marcelos
        tail    __div_mod_si3.part.2
927
.L305:
928
        li      a0,0
929
        ret
930 2 marcelos
        .size   __divsi3, .-__divsi3
931
        .align  2
932
        .globl  __modsi3
933
        .type   __modsi3, @function
934
__modsi3:
935 4 marcelos
        beqz    a1,.L307
936 2 marcelos
        li      a2,0
937 4 marcelos
        tail    __div_mod_si3.part.2
938
.L307:
939
        li      a0,0
940
        ret
941 2 marcelos
        .size   __modsi3, .-__modsi3
942
        .align  2
943
        .globl  usleep
944
        .type   usleep, @function
945
usleep:
946 4 marcelos
        addi    a4,a0,-1
947
        beqz    a0,.L308
948
        li      a2,-128
949 2 marcelos
        li      a3,-1
950 4 marcelos
.L311:
951
        .LA33: auipc    a5,%pcrel_hi(io)
952
        addi    a5,a5,%pcrel_lo(.LA33)
953
        sb      a2,3(a5)
954
.L310:
955
        .LA34: auipc    a5,%pcrel_hi(io)
956
        addi    a5,a5,%pcrel_lo(.LA34)
957
        lbu     a5,3(a5)
958
        andi    a5,a5,0xff
959
        beqz    a5,.L310
960
        addi    a4,a4,-1
961
        bne     a4,a3,.L311
962
.L308:
963 2 marcelos
        ret
964
        .size   usleep, .-usleep
965
        .section        .rodata
966
        .align  2
967
        .set    .LANCHOR0,. + 0
968
.LC0:
969
        .word   1000000000
970
        .word   100000000
971
        .word   10000000
972
        .word   1000000
973
        .word   100000
974
        .word   10000
975
        .word   1000
976
        .word   100
977
        .word   10
978
        .word   1
979
        .word   0
980
.LC1:
981
        .word   16777216
982
        .word   65536
983
        .word   256
984
        .word   1
985
        .word   0
986
        .section        .rodata.str1.4,"aMS",@progbits,1
987
        .align  2
988
.LC2:
989
        .string "(NULL)"
990
        .zero   1
991
.LC3:
992
        .string "0123456789abcdef"
993
        .section        .sbss,"aw",@nobits
994
        .align  2
995 4 marcelos
        .type   nxt.1110, @object
996
        .size   nxt.1110, 4
997
nxt.1110:
998 2 marcelos
        .zero   4
999
        .ident  "GCC: (GNU) 9.0.0 20180818 (experimental)"

powered by: WebSVN 2.1.0

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