-
Notifications
You must be signed in to change notification settings - Fork 5
/
factorial.txt
79 lines (66 loc) · 2.36 KB
/
factorial.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
int factorial(int n)
{
if(n < 1)
return 1;
else
return (n * factorial(n - 1));
}
main:
lw $3, 0($0)
add $7, $29, $0
jal factorial
j Exit
factorial: addi $7, $7, -8
sw $31, 4($7)
sw $3, 0($7)
slti $8, $3, 1
beq $8, $0, L1
addi $1, $0, 1
addi $7, $7, 8
jr $31
L1: addi $3, $3, -1
jal factorial
lw $3, 0($7)
lw $31, 4($7)
addi $7, $7, 8
mul $1, $3, $1
jr $31
Exit:
100011 00000 00011 0000000000000000
000000 11101 00000 00111 00000 100000
000011 00000000000000000000000100
000010 00000000000000000000010011
001000 00111 00111 1111111111111000
101011 00111 11111 0000000000000100
101011 00111 00011 0000000000000000
001010 00011 01000 0000000000000001
000100 01000 00000 0000000000000011
001000 00000 00001 0000000000000001
001000 00111 00111 0000000000001000
000110 11111 00000 00000 00000 000000
001000 00011 00011 1111111111111111
000011 00000000000000000000000100
100011 00111 00011 0000000000000000
100011 00111 11111 0000000000000100
001000 00111 00111 0000000000001000
000000 00011 00001 00001 00000 011000
000110 11111 00000 00000 00000 000000
0 10001100 00000011 00000000 00000000 8C030000
4 00000011 10100000 00111000 00100000 03A03820
8 00001100 00000000 00000000 00000100 0C000004
C 00001000 00000000 00000000 00010011 08000013
10 00100000 11100111 11111111 11111000 20E7FFF8
14 10101100 11111111 00000000 00000100 ACFF0004
18 10101100 11100011 00000000 00000000 ACE30000
1C 00101000 01101000 00000000 00000001 28680001
20 00010001 00000000 00000000 00000011 11000003
24 00100000 00000001 00000000 00000001 20010001
28 00100000 11100111 00000000 00001000 20E70008
2C 00011011 11100000 00000000 00000000 1BE00000
30 00100000 01100011 11111111 11111111 2063FFFF
34 00001100 00000000 00000000 00000100 0C000004
38 10001100 11100011 00000000 00000000 8CE30000
3C 10001100 11111111 00000000 00000100 8CFF0004
40 00100000 11100111 00000000 00001000 20E70008
44 00000000 01100001 00001000 00011000 00610818
48 00011011 11100000 00000000 00000000 1BE00000