You are on page 1of 30

Πως λειτουργεί η στοίβα

 Με χρήση του παραδείγματος της


αναδρομικής διαδικασίας fact για τον
υπολογισμό του παραγοντικού (διαφάνειες
Κεφαλαίου 2), δείτε στις επόμενες διαφάνειες
πως εξελίσσεται το περιεχόμενο της στοίβας και
το περιεχόμενο των καταχωρητών.
 Με χρώμα σε κάθε σελίδα σημειώνεται η εντολή
που μόλις ολοκλήρωσε την εκτέλεσή της.

Πως λειτουργεί η στοίβα — 1


Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
Παραγοντικό με αναδρομή – C
int fact (int n)
{
if (n < 1) return 1;
else return n * fact(n - 1);
}
 Όρισμα n στον $a0

 Αποτέλεσμα στον $v0

Πως λειτουργεί η στοίβα — 2


Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
Παραγοντικό με αναδρομή – MIPS
addi $a0,$zero,4 n=4 ($a0=4)
δνση 1500 jal fact κλήση fact από τη main
.........
δνση 1504
.........
δνση 5000 fact:
addi $sp, $sp, -8
sw $ra, 4($sp)
sw $a0, 0($sp)
slti $t0, $a0, 1
beq $t0, $zero, L1
addi $v0, $zero, 1
addi $sp, $sp, 8
jr $ra
L1: addi $a0, $a0, -1
δνση 5036 jal fact κλήση fact από τη fact
δνση 5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8
mul $v0, $a0, $v0
jr $ra Πως λειτουργεί η στοίβα — 3
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=1500
Εκτέλεση (0) $a0=4 $ra=1504
addi $a0,$zero,4
1500 jal fact Υψηλές
1504 ......... δνσεις $sp
.........
5000 fact:
addi $sp, $sp, -8
sw $ra, 4($sp)
sw $a0, 0($sp)
slti $t0, $a0, 1
beq $t0, $zero, L1
addi $v0, $zero, 1
addi $sp, $sp, 8
jr $ra
L1: addi $a0, $a0, -1
5036 jal fact
5040 lw $a0, 0($sp)
lw $ra, 4($sp) $v0=??
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 4
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5008
Εκτέλεση (1) $a0=4 $ra=1504
addi $a0,$zero,4 $v0=??
1500 jal fact Υψηλές
.........
1504 δνσεις
......... 1504
5000 fact:
4 $sp
addi $sp, $sp, -8
sw $ra, 4($sp)
sw $a0, 0($sp)
slti $t0, $a0, 1
beq $t0, $zero, L1
addi $v0, $zero, 1
addi $sp, $sp, 8
jr $ra
L1: addi $a0, $a0, -1
5036 jal fact
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 5
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5036
Εκτέλεση (2) $a0=3 $ra=5040
addi $a0,$zero,4 $v0=??
1500 jal fact Υψηλές
.........
1504 δνσεις
......... 1504
5000 fact:
4 $sp
addi $sp, $sp, -8
sw $ra, 4($sp)
sw $a0, 0($sp)
slti $t0, $a0, 1
beq $t0, $zero, L1
addi $v0, $zero, 1
addi $sp, $sp, 8
jr $ra
L1: addi $a0, $a0, -1
5036 jal fact
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 6
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5008
Εκτέλεση (3) $a0=3 $ra=5040
addi $a0,$zero,4 $v0=??
1500 jal fact Υψηλές
.........
1504 δνσεις
......... 1504
5000 fact:
4
addi $sp, $sp, -8
sw $ra, 4($sp) 5040
sw $a0, 0($sp)
slti $t0, $a0, 1 3 $sp
beq $t0, $zero, L1
addi $v0, $zero, 1
addi $sp, $sp, 8
jr $ra
L1: addi $a0, $a0, -1
5036 jal fact
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 7
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5036
Εκτέλεση (4) $a0=2 $ra=5040
addi $a0,$zero,4 $v0=??
1500 jal fact Υψηλές
.........
1504 δνσεις
......... 1504
5000 fact:
4
addi $sp, $sp, -8
sw $ra, 4($sp) 5040
sw $a0, 0($sp)
slti $t0, $a0, 1 3 $sp
beq $t0, $zero, L1
addi $v0, $zero, 1
addi $sp, $sp, 8
jr $ra
L1: addi $a0, $a0, -1
5036 jal fact
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 8
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5008
Εκτέλεση (5) $a0=2 $ra=5040
addi $a0,$zero,4 $v0=??
1500 jal fact Υψηλές
.........
1504 δνσεις
......... 1504
5000 fact:
4
addi $sp, $sp, -8
sw $ra, 4($sp) 5040
sw $a0, 0($sp)
slti $t0, $a0, 1 3
beq $t0, $zero, L1 5040
addi $v0, $zero, 1
addi $sp, $sp, 8 2 $sp
jr $ra
L1: addi $a0, $a0, -1
5036 jal fact
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 9
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5036
Εκτέλεση (6) $a0=1 $ra=5040
addi $a0,$zero,4 $v0=??
1500 jal fact Υψηλές
.........
1504 δνσεις
......... 1504
5000 fact:
4
addi $sp, $sp, -8
sw $ra, 4($sp) 5040
sw $a0, 0($sp)
slti $t0, $a0, 1 3
beq $t0, $zero, L1 5040
addi $v0, $zero, 1
addi $sp, $sp, 8 2 $sp
jr $ra
L1: addi $a0, $a0, -1
5036 jal fact
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 10
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5008
Εκτέλεση (7) $a0=1 $ra=5040
addi $a0,$zero,4 $v0=??
1500 jal fact Υψηλές
.........
1504 δνσεις
......... 1504
5000 fact:
4
addi $sp, $sp, -8
sw $ra, 4($sp) 5040
sw $a0, 0($sp)
slti $t0, $a0, 1 3
beq $t0, $zero, L1 5040
addi $v0, $zero, 1
addi $sp, $sp, 8 2
jr $ra
5040
L1: addi $a0, $a0, -1
5036 jal fact 1 $sp
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 11
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5036
Εκτέλεση (8) $a0=0 $ra=5040
addi $a0,$zero,4 $v0=??
1500 jal fact Υψηλές
.........
1504 δνσεις
......... 1504
5000 fact:
4
addi $sp, $sp, -8
sw $ra, 4($sp) 5040
sw $a0, 0($sp)
slti $t0, $a0, 1 3
beq $t0, $zero, L1 5040
addi $v0, $zero, 1
addi $sp, $sp, 8 2
jr $ra
5040
L1: addi $a0, $a0, -1
5036 jal fact 1 $sp
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 12
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5008
Εκτέλεση (9) $a0=0 $ra=5040
addi $a0,$zero,4 $v0=??
1500 jal fact Υψηλές
.........
1504 δνσεις
......... 1504
5000 fact:
4
addi $sp, $sp, -8
sw $ra, 4($sp) 5040
sw $a0, 0($sp)
slti $t0, $a0, 1 3
beq $t0, $zero, L1 5040
addi $v0, $zero, 1
addi $sp, $sp, 8 2
jr $ra
5040
L1: addi $a0, $a0, -1
5036 jal fact 1
5040 lw $a0, 0($sp)
lw $ra, 4($sp) 5040
addi $sp, $sp, 8 Χαμηλές
0 $sp
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 13
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5020
Εκτέλεση (10) $a0=0 $ra=5040
addi $a0,$zero,4 $v0=1
1500 jal fact Υψηλές
.........
1504 δνσεις
......... 1504
5000 fact:
4
addi $sp, $sp, -8
sw $ra, 4($sp) 5040
sw $a0, 0($sp)
slti $t0, $a0, 1 3
beq $t0, $zero, L1 5040
addi $v0, $zero, 1
addi $sp, $sp, 8 2
jr $ra
5040
L1: addi $a0, $a0, -1
5036 jal fact 1
5040 lw $a0, 0($sp)
lw $ra, 4($sp) 5040
addi $sp, $sp, 8 Χαμηλές
0 $sp
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 14
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5024
Εκτέλεση (11) $a0=0 $ra=5040
addi $a0,$zero,4 $v0=1
1500 jal fact Υψηλές
.........
1504 δνσεις
......... 1504
5000 fact:
4
addi $sp, $sp, -8
sw $ra, 4($sp) 5040
sw $a0, 0($sp)
slti $t0, $a0, 1 3
beq $t0, $zero, L1 5040
addi $v0, $zero, 1
addi $sp, $sp, 8 2
jr $ra
5040
L1: addi $a0, $a0, -1
5036 jal fact 1 $sp
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 15
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5028
Εκτέλεση (12) $a0=0 $ra=5040
addi $a0,$zero,4 $v0=1
1500 jal fact Υψηλές
.........
1504 δνσεις
......... 1504
5000 fact:
4
addi $sp, $sp, -8
sw $ra, 4($sp) 5040
sw $a0, 0($sp)
slti $t0, $a0, 1 3
beq $t0, $zero, L1 5040
addi $v0, $zero, 1
addi $sp, $sp, 8 2
jr $ra
5040
L1: addi $a0, $a0, -1
5036 jal fact 1 $sp
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 16
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5040
Εκτέλεση (13) $a0=1 $ra=5040
addi $a0,$zero,4 $v0=1
1500 jal fact Υψηλές
.........
1504 δνσεις
......... 1504
5000 fact:
4
addi $sp, $sp, -8
sw $ra, 4($sp) 5040
sw $a0, 0($sp)
slti $t0, $a0, 1 3
beq $t0, $zero, L1 5040
addi $v0, $zero, 1
addi $sp, $sp, 8 2
jr $ra
5040
L1: addi $a0, $a0, -1
5036 jal fact 1 $sp
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 17
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5048
Εκτέλεση (14) $a0=1 $ra=5040
addi $a0,$zero,4 $v0=1
1500 jal fact Υψηλές
.........
1504 δνσεις
......... 1504
5000 fact:
4
addi $sp, $sp, -8
sw $ra, 4($sp) 5040
sw $a0, 0($sp)
slti $t0, $a0, 1 3
beq $t0, $zero, L1 5040
addi $v0, $zero, 1
addi $sp, $sp, 8 2 $sp
jr $ra
L1: addi $a0, $a0, -1
5036 jal fact
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 18
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5052
Εκτέλεση (15) $a0=1 $ra=5040
addi $a0,$zero,4 $v0=1*1
1500 jal fact Υψηλές
.........
1504 δνσεις
......... 1504
5000 fact:
4
addi $sp, $sp, -8
sw $ra, 4($sp) 5040
sw $a0, 0($sp)
slti $t0, $a0, 1 3
beq $t0, $zero, L1 5040
addi $v0, $zero, 1
addi $sp, $sp, 8 2 $sp
jr $ra
L1: addi $a0, $a0, -1
5036 jal fact
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 19
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5040
Εκτέλεση (16) $a0=2 $ra=5040
addi $a0,$zero,4 $v0=1*1
1500 jal fact Υψηλές
.........
1504 δνσεις
......... 1504
5000 fact:
4
addi $sp, $sp, -8
sw $ra, 4($sp) 5040
sw $a0, 0($sp)
slti $t0, $a0, 1 3
beq $t0, $zero, L1 5040
addi $v0, $zero, 1
addi $sp, $sp, 8 2 $sp
jr $ra
L1: addi $a0, $a0, -1
5036 jal fact
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 20
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5048
Εκτέλεση (17) $a0=2 $ra=5040
addi $a0,$zero,4 $v0=1*1
1500 jal fact Υψηλές
.........
1504 δνσεις
......... 1504
5000 fact:
4
addi $sp, $sp, -8
sw $ra, 4($sp) 5040
sw $a0, 0($sp)
3 $sp
slti $t0, $a0, 1
beq $t0, $zero, L1
addi $v0, $zero, 1
addi $sp, $sp, 8
jr $ra
L1: addi $a0, $a0, -1
5036 jal fact
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 21
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5052
Εκτέλεση (18) $a0=2 $ra=5040
addi $a0,$zero,4 $v0=2*1*1
1500 jal fact Υψηλές
.........
1504 δνσεις
......... 1504
5000 fact:
4
addi $sp, $sp, -8
sw $ra, 4($sp) 5040
sw $a0, 0($sp)
3 $sp
slti $t0, $a0, 1
beq $t0, $zero, L1
addi $v0, $zero, 1
addi $sp, $sp, 8
jr $ra
L1: addi $a0, $a0, -1
5036 jal fact
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 22
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5040
Εκτέλεση (19) $a0=3 $ra=5040
addi $a0,$zero,4 $v0=2*1*1
1500 jal fact Υψηλές
.........
1504 δνσεις
......... 1504
5000 fact:
4
addi $sp, $sp, -8
sw $ra, 4($sp) 5040
sw $a0, 0($sp)
3 $sp
slti $t0, $a0, 1
beq $t0, $zero, L1
addi $v0, $zero, 1
addi $sp, $sp, 8
jr $ra
L1: addi $a0, $a0, -1
5036 jal fact
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 23
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5048
Εκτέλεση (20) $a0=3 $ra=5040
addi $a0,$zero,4
$v0=2*1*1
1500 jal fact Υψηλές
.........
1504 δνσεις
......... 1504
5000 fact:
4 $sp
addi $sp, $sp, -8
sw $ra, 4($sp)
sw $a0, 0($sp)
slti $t0, $a0, 1
beq $t0, $zero, L1
addi $v0, $zero, 1
addi $sp, $sp, 8
jr $ra
L1: addi $a0, $a0, -1
5036 jal fact
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 24
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5052
Εκτέλεση (21) $a0=3 $ra=5040
addi $a0,$zero,4
$v0=3*2*1*1
1500 jal fact Υψηλές
.........
1504 δνσεις
......... 1504
5000 fact:
4 $sp
addi $sp, $sp, -8
sw $ra, 4($sp)
sw $a0, 0($sp)
slti $t0, $a0, 1
beq $t0, $zero, L1
addi $v0, $zero, 1
addi $sp, $sp, 8
jr $ra
L1: addi $a0, $a0, -1
5036 jal fact
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 25
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5040
Εκτέλεση (22) $a0=4 $ra=5040
addi $a0,$zero,4 $v0=3*2*1*1
1500 jal fact Υψηλές
.........
1504 δνσεις
......... 1504
5000 fact:
4 $sp
addi $sp, $sp, -8
sw $ra, 4($sp)
sw $a0, 0($sp)
slti $t0, $a0, 1
beq $t0, $zero, L1
addi $v0, $zero, 1
addi $sp, $sp, 8
jr $ra
L1: addi $a0, $a0, -1
5036 jal fact
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 26
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5048
Εκτέλεση (23) $a0=4 $ra=1504
addi $a0,$zero,4 $v0=3*2*1*1
1500 jal fact Υψηλές
......... $sp
1504 δνσεις
.........
5000 fact:
addi $sp, $sp, -8
sw $ra, 4($sp)
sw $a0, 0($sp)
slti $t0, $a0, 1
beq $t0, $zero, L1
addi $v0, $zero, 1
addi $sp, $sp, 8
jr $ra
L1: addi $a0, $a0, -1
5036 jal fact
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 27
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5052
Εκτέλεση (24) $a0=4 $ra=1504
addi $a0,$zero,4 $v0=4*3*2*1*1
1500 jal fact Υψηλές
......... $sp
1504 δνσεις
.........
5000 fact:
addi $sp, $sp, -8
sw $ra, 4($sp)
sw $a0, 0($sp)
slti $t0, $a0, 1
beq $t0, $zero, L1
addi $v0, $zero, 1
addi $sp, $sp, 8
jr $ra
L1: addi $a0, $a0, -1
5036 jal fact
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 28
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=5056
Εκτέλεση (25) $a0=4 $ra=1504
addi $a0,$zero,4 $v0=4*3*2*1*1
1500 jal fact Υψηλές
......... $sp
1504 δνσεις
.........
5000 fact:
addi $sp, $sp, -8
sw $ra, 4($sp)
sw $a0, 0($sp)
slti $t0, $a0, 1
beq $t0, $zero, L1
addi $v0, $zero, 1
addi $sp, $sp, 8
jr $ra
L1: addi $a0, $a0, -1
5036 jal fact
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 29
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)
pc=1504
Εκτέλεση (26) $a0=4 $ra=1504
addi $a0,$zero,4 $v0=4*3*2*1*1
1500 jal fact Υψηλές
......... $sp
1504 δνσεις
.........
5000 fact:
addi $sp, $sp, -8
sw $ra, 4($sp)
sw $a0, 0($sp)
slti $t0, $a0, 1
beq $t0, $zero, L1
addi $v0, $zero, 1
addi $sp, $sp, 8
jr $ra
L1: addi $a0, $a0, -1
5036 jal fact
5040 lw $a0, 0($sp)
lw $ra, 4($sp)
addi $sp, $sp, 8 Χαμηλές
mul $v0, $a0, $v0 δνσεις
jr $ra Πως λειτουργεί η στοίβα — 30
Διαφάνειες διδασκαλίας πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια, προσθήκες: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών)

You might also like