Header Value Looping 4

Flowchart a procedure to read a value hdr. Then read the following data values, computing and printing the sum of all of those data values which are greater than 200.

Flowchart      RAMM Machine Language Program     RAMM Assembly Language Program
    

Flowchart:



RAMM Machine Language Program:

0000 00 Integer constant 0, I0
0001 01 Integer constant 1, I1
0200 02 Integer constant 200, I200
0000 03 Storage for K
0000 04 Storage for HDR
0000 05 Storage for SUM
0000 06 Storage for VAL
5000 07 STRT  No operation
1200 08       (A-reg) <- (I0)
2003 09       (K) <- (A-reg)
6504 10       Read HDR
1200 11       (A-reg) <- (I0)
2005 12       (SUM) <- (A-reg)
6506 13 LOOP  Read VAL
1206 14       (A-reg) <- (VAL)
1502 15       (A-reg) <- (A-reg) - (I200)
3621 16       If (A-reg) = 0, then jump to INCK
3721 17       If (A-reg) < 0, then jump to INCK
1205 18       (A-reg) <- (SUM)
1406 19       (A-reg) <- (A-reg) + (VAL)
2005 20       (SUM) <- (A-reg)
1203 21 INCK  (A-reg) <- (K)
1401 22       (A-reg) <- (A-reg) + (I1)
2003 23       (K) <- (A-reg)
1504 24       (A-reg) <- (A-reg) - (HDR)
3713 25       If (A-reg) < 0, then jump to LOOP
6605 26       Print SUM
0000 27       Halt
9907 28       End; begin program execution at STRT


RAMM Assembly Language Program:

I0    DEC 0000
I1    DEC 0001
I200  DEC 0200
K     BSS 0001
HDR   BSS 0001
SUM   BSS 0001
VAL   BSS 0001
STRT  NOP
      LDA I0
      STA K
      RDI HDR
      LDA I0
      STA SUM
LOOP  RDI VAL
      LDA VAL
      ISB I200
      AZJ INCK
      AMJ INCK
      LDA SUM
      IAD VAL
      STA SUM
INCK  LDA K
      IAD I1
      STA K
      ISB HDR
      AMJ LOOP
      PRI SUM
      HLT
      END STRT