Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write an assembly language program that modifies the 10 elements of an array con

ID: 3733634 • Letter: W

Question

Write an assembly language program that modifies the 10 elements of an array containing scores in the range 0-100 by adding 5 to each element.

The array elements must be processed in a loop.

The maximum value for any element after updating is 100. For example, if the original score is 90, the modified score should be 95, but if the original score is 98, the modified score should be 100.

The program should 'dump' the contents of the array before and after modification.

12 R2 13 R3 14 R12 15 R13 16 R14 17 * STANDARD ENTRYAND INITIALIZATION: 18 19 20 21 BASE EQU 2 EQU3 EQU 12 EQU 13 EQU 14 SUM REGISTER INDEX REGISTER BASE REGISTER SAVE AREA POINTER RETURN REGISTER STM R14,R12,12 (R13) SAVE REGISTERS BALR R12,0 USING BASE, R12 ST LA R13, SAVE LOAD BASE REGISTER DECLARE BASE ADDRESS AND REGISTER R13, SAVE+4SAVE R13 R13 ADDRESS OF SAVE AREA 23 * BEGIN: 2 4 25 26 LoOP 27 28 29 30 31 32 * STANDARD EXIT: 33 DONE 34 35 36 * STORAGE: 37 ARRAY 38 R2,0 R3,0 R2, ARRAY (R3) ADD NEXT ARRAY ELEMENT TO SUM R3, 4 (R3) R3, LIMIT LOOP R2, SUM LA LA ZERO SUM REGISTER ZERO INDEX REGISTER INCREMENT INDEX TO NEXT ARRAY ELEMENT IF INDEX IS NOT PAST THE END OF ARRAY LA BL ST XDUMP ARRAY,20 PROCESS NEXT ELEMENT ELSE DONE - SAVE SUM DISPLAY 5 FULLWORDS STARTING AT ARRAY R13, SAVE+4 RESTORE R13 LM R14,R12,12 (R13) RESTORE REGISTERS BR R14 RETURN DC DC

Explanation / Answer

DATA SIGMENT

ARR DB 10,95,98,15,75,88,96,67,99,90

LEN DW $-ARR

TEMP DB ?

DATA ENDS

CODE SEGMENT

ASSUME DS: DATA CS: CODE

START:

MOV AX ,DATA

MOV DS,AX

LEA SI,ARR

MOV AL,ARR[SI]

MOV TEMP,100

MOV CX,LEN

REPEAT:

MOV AL,ARR[SI]

CMP TEMP,AL+5

JG CHANGE

JL CHANGEOTHER

CHANGE:

MOV ARR[SI]=AL+5

CHANGEOTHER:

MOV ARR[SI]=100

INC SI

LOOP REPEAT

MOV AH,4CH

INT 21H

CODE ENDS

END START

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote