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

Subversion Repositories mips32

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

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 jjf
main:
2
##the add operation
3
addi $a0, $zero, 76
4
addi $a1, $zero, 129
5
addi $a2, $zero, 0
6
jal ADD
7
 
8
##the div operation
9
addi $a0, $zero, 4
10
addi $a1, $zero, 15
11
addi $a2, $zero, 16
12
jal DIV         #call the DIV function
13
 
14
##the div operation
15
addi $a0, $zero, 3463
16
addi $a1, $zero, 27
17
addi $a2, $zero, 36
18
jal DIV         #call the DIV function
19
 
20
j DONE
21
 
22
 
23
 
24
###the function of DIV
25
DIV:
26
addi $v0, $zero, 0
27
addi $v1, $zero, 0
28
addi $t0, $a0, 0
29
DIV_START:
30
slt $t1, $t0, $a1
31
bne $t1, $zero, DIV_DONE
32
sub $t0, $t0, $a1
33
addi $v0, $v0, 1
34
j DIV_START
35
DIV_DONE:
36
addi $v1, $t0, 0
37
sw $a0, 0($a2)
38
sw $a1, 4($a2)
39
sw $v0, 8($a2)
40
sw $v1, 12($a2)
41
jr $ra          #return the function
42
 
43
ADD:
44
add $t0, $a0, $a1
45
sw $a0, 0($a2)
46
sw $a1, 4($a2)
47
sw $t0, 8($a2)
48
jr $ra
49
 
50
DONE:
51
## to flush the cache
52
lw $t0, 2048($zero)
53
lw $t0, 2080($zero)
54
ori $zero, $zero, 0
55
nop
56
nop
57
nop

powered by: WebSVN 2.1.0

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