Answer to Practice Quiz 10

Trace through the execution of the following assembly language program when the input is 5.
PROGRAM
 1. loadI   0 R0
 2. loadI   1 R1
 3. loadI   2 R2
 4. loadI   3 R3
 5. input  I1 R4
 6. output R4 O1
 7. jumpEQ R4 R1 15
 8. rem    R4 R2 R5
 9. jumpEQ R5 R0 13
10. mul    R4 R3 R4
11. add    R4 R1 R4
12. jump    6
13. div    R4 R2 R4
14. jump 6
15. halt

PC IR          R0 R1 R2 R3 R4 R5 I1 O1
1              78 45 34 23 25 11  5 43
   loadI 0 R0 
2               0
   loadI 1 R1      
3                  1
   loadI 2 R2
4                     2
   loadI 3 R3            
5                        3
   input I1 R4
6                           5
   output R4 O1                     
7                                   5
   jumpEQ R4 R1 15
8
   rem R4 R2 R5                  
9                              1
   jumpEQ R5 R0 13
10
   mul R4 R3 R4
11                         15
   add R4 R1 R4
12                         16
   jump 6
6
   output R4 O1
7                                   16
   jumpEQ R4 R1 15
8
   rem R4 R2 R5
9                              0
   jumpEQ R5 R0 13
13
   div R4 R2 R4            8
14
   jump 6
6
   output R4 O1
7                                   8
   jumpEQ R4 R1 15
8
   rem R4 R2 R5
9                              0
   jumpEQ R5 R0 13
13
   div R4 R2 R4            4
14
   jump 6
6
   output R4 O1
7                                   4
   jumpEQ R4 R1 15
8
   rem R4 R2 R5
9                              0
   jumpEQ R5 R0 13
13
   div R4 R2 R4            2
14
   jump 6
6
   output R4 O1
7                                   2
   jumpEQ R4 R1 15
8
   rem R4 R2 R5
9                              0
   jumpEQ R5 R0 13
13
   div R4 R2 R4            1
14
   jump 6
6                           
   output R4 O1                     
7                                   1
   jumpEQ R4 R1 15
15
   halt