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

Subversion Repositories mips32

[/] [mips32/] [trunk/] [Classic-MIPS/] [TestBenchs/] [fibonacci/] [code.smd] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 jjf
ori $t0, $zero, 0
2
ori $t1, $zero, 1
3
ori $t2, $zero, 0
4
ori $t3, $zero, 40
5
LOOP:
6
add $s0, $t0, $t1       #s0 = t0 + t1
7
addi $t0, $t1, 0        #t0 = t1
8
addi $t1, $s0, 0        #t1 = s0
9
sw $s0, 0($t2)          #[$t2] = $s0
10
addi $t2, $t2, 4        #$t2 = $t2 + 4
11
bne $t3, $t2, LOOP
12
j CLEAR
13
#accumulate all the values
14
CLEAR:
15
ori $t1, $zero, 0
16
ori $t2, $zero, 0
17
ori $s0, $zero, 0
18
ACCM:
19
lw $t1, 0($t2)          #load $t1 = [$t2]
20
add $s0, $s0, $t1       #$s0 = $s0 + $t1
21
addi $t2, $t2, 4
22
beq $t3, $t2, DONE
23
j ACCM
24
#store the result
25
DONE:
26
sw $s0, 44($zero)
27
ori $t1, $zero, 1
28
sllv $s1, $s0, $t1      #s1 = s0 << t1
29
sw $s1, 48($zero)
30
ori $t1, $zero, 2
31
srlv $s2, $s0, $t1      #s2 = s0 >> t1
32
sw $s2, 52($zero)
33
 
34
##to flush the cache
35
lw $t0, 2048($zero)
36
lw $t1, 2080($zero)
37
nop
38
nop
39
nop
40
 
41
 
42
 
43
 
44
 

powered by: WebSVN 2.1.0

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