Exercise 6a   Name _______________ __/39

Document last modified: 

  1. #include <iostream.h>
  2. void Assign(int &X, int &Y) {
  3.        X = Y;
  4. }
  5.  
  6. void Sum( int B[], int &n,
                              int &sum) {
  7.        int i;
  8.        sum=0;
  9.        for( i=0; i<n; i++)
  10.                Assign(B[i], i);
  11.         for (i=0; i<n; i++ )
  12.                sum = sum + B[i];
  13. }
  14.  
  15. void main(void) {
  16.        int A[4];
  17.        int N;
  18.        int result;
  19.        N=4;
  20.        Sum(A, N, result);
  21.        cout << result;
  22. }
Table 2. 
Address Symbol Value
100 A  
101    
102    
103    
104 N  
105 result  
106 i  
Table 1

_Address_|____Memory Contents___________
main 654 |                    | IP
AR       |_1._________________|
     655 |To Operating System | DL
         |____________________|
     656 | main Registers     | TMP
_________|____________________|_____
Sum  657 |                    | 
AR       |_2._________________| ____  3. 
     658 |                    | 
         |_4._________________| ____  5.
     659 |                    | 
         |_6._________________| ____  7.
     660 |                    | 
         |_8._________________| ____  9.
     661 |                    | 
         |_10.________________| ____  11.
     662 |                    | 
         |_12.________________| ____  13.
     663 |                    | 
         |_14.________________| ____  15.
     664 |                    | 
         |_16.________________| ____  17.
     665 |                    | 
         |_18.________________| ____  19.
     666 |                    | 
         |_20.________________| ____  21.
     667 |                    | 
         |_22.________________| ____  23.
     668 |                    | 
         |_24.________________| ____  25.
     669 |                    | 
         |_26.________________| ____  27.
     670 |                    | 
         |_28.________________| ____  29.