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

Subversion Repositories mips32

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

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 jjf
main:
2
ori $s0, $zero, 24
3
ori $sp, $zero, 128
4
ori $a0, $zero, 43
5
addi $a1, $zero, -12
6
ori $a2, $zero, 51
7
sw $a0, 0($zero)
8
sw $a1, 4($zero)
9
sw $a2, 8($zero)
10
#call ADD3
11
jal ADD3
12
#save and flush the result
13
j OVER
14
 
15
ADD2:
16
#save the context
17
sw $ra, 0($sp)
18
addi $sp, $sp, 4
19
#calculate
20
add $v0, $a0, $a1
21
sw $v0, 16($zero)
22
#get the return address
23
addi $sp, $sp, -4
24
lw $ra, 0($sp)
25
jr $ra
26
 
27
SUB2:
28
#save the context
29
sw $ra, 0($sp)
30
addi $sp, $sp, 4
31
#calculate
32
sub $v0, $a0, $a1
33
sw $v0, 20($zero)
34
#get the return address
35
addi $sp, $sp, -4
36
lw $ra, 0($sp)
37
jr $ra
38
 
39
 
40
ADD3:
41
#save the context
42
sw $ra, 0($sp)
43
addi $sp, $sp, 4
44
#calculate $a0 + $a1
45
jal ADD2
46
ori $a0, $v0, 0
47
ori $a1, $a2, 0
48
jal SUB2
49
#get the return address
50
addi $sp, $sp, -4
51
sw $v0, 24($zero)
52
lw $ra, 0($sp)
53
jr $ra
54
 
55
OVER:
56
sw $v0, 12($zero)
57
lw $t0, 2048($zero)
58
nop
59
nop
60
nop
61
 

powered by: WebSVN 2.1.0

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