Change this program to loop until it encounters a sentinel value, which is a negative number. The data begins at x3100. Use only one branch command. There will always be at least one positive integer...

1 answer below »

Change this program to loop until it encounters a sentinel value, which is a negative number. The data begins at x3100. Use only one branch command. There will always be at least one positive integer in the list.



Do not submit a count controlled loop. This results in a 0 grade.


This program includes two peer reviews, which are assigned anonymously. These are due five days after the assignment submission date.



When the program ends, R2 must contain the number of values summed and R3 must contain the sum of those values.


ORIG x3000


AND R3, R3, #0


AND R2, R2, #0


ADD R2, R2, #12


BRz #5


LDR R4, R1, #0


ADD R3, R3, R4


ADD R1, R1, #1


ADD R2, R2, #-1


BRnzp #-6


.END


Rubric



Answered 1 days AfterOct 16, 2021

Answer To: Change this program to loop until it encounters a sentinel value, which is a negative number. The...

Gaurav answered on Oct 17 2021
127 Votes
.ORIG x3000
AND R3, R3, #0    ;sum is 0
    
AND R2, R2, #0    ; counter is 0
LEA R0,ARRAYBASE    ; GET DATA
ARRAY POINTER
Loop:
LDR R4, R0, #0        ; GET ELEMENT FROM ARRAY
ADD R3, R3, R4        ; add value to sum
ADD R0, R0, #1        ; inc pointer
ADD R2, R2, #1        ; inc counter
ADD R4,R4,#0        ; SET FLAGS
BRzp...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here