I REALLY NEED HELP ON THIS ASSEMBY CODE, PLEASE HELP ME ON THIS I DON'T KNOW WHAT TO DO TO RUN THIS PROGRAM, IF POSSIBLE

Business, Finance, Economics, Accounting, Operations Management, Computer Science, Electrical Engineering, Mechanical Engineering, Civil Engineering, Chemical Engineering, Algebra, Precalculus, Statistics and Probabilty, Advanced Math, Physics, Chemistry, Biology, Nursing, Psychology, Certifications, Tests, Prep, and more.
Post Reply
answerhappygod
Site Admin
Posts: 899604
Joined: Mon Aug 02, 2021 8:13 am

I REALLY NEED HELP ON THIS ASSEMBY CODE, PLEASE HELP ME ON THIS I DON'T KNOW WHAT TO DO TO RUN THIS PROGRAM, IF POSSIBLE

Post by answerhappygod »

I REALLY NEED HELP ON THIS ASSEMBY CODE, PLEASE HELP ME ON THIS
I DON'T KNOW WHAT TO DO TO RUN THIS PROGRAM, IF POSSIBLE PLEASE
SEND SCREENSHOT OF YOUR DEBUG SCREEN AFTER MAKE CHANGES IN THIS
CODE, I ONLY NEED TO SUBMIT SCREENSHOTS OF THE DEBUG AFTER MAKING
CHANGES IN THIS FILE AS ASSEMBLY CODE PLEASE.
TITLE Integer Summation Program (Sum2.asm)
; This program prompts the user for three integers,
; stores them in an array, calculates the sum of the
; array, and displays the sum.
INCLUDE Irvine32.inc
INTEGER_COUNT = 3
.data
str1 BYTE "Enter a signed integer: ",0
str2 BYTE "The sum of the integers is: ",0
array DWORD INTEGER_COUNT DUP(?)
divider DWORD 2
.code
;-----------------------------------------------------------------

; you do not need to change any code in the main procedure
;-------------------------------------------------------------------
main PROC
call Clrscr
mov esi,OFFSET array
mov ecx,INTEGER_COUNT
call PromptForIntegers
call ArraySum
call DisplaySum
exit
main ENDP
;-----------------------------------------------------
PromptForIntegers PROC USES ecx edx esi
;
; Prompts the user for an arbitrary number of integers
; and inserts the integers into an array.
; Receives: ESI points to the array, ECX = array size
; Returns: nothing
;-----------------------------------------------------
mov edx,OFFSET str1 ; "Enter a signed integer"

L1: call WriteString ; display string
call ReadInt ; read integer into EAX
call Crlf ; go to next output line
mov [esi],eax ; store in array
add esi,TYPE DWORD ; next integer
loop L1
ret
PromptForIntegers ENDP
;-----------------------------------------------------
ArraySum PROC USES esi ecx
;
; Calculates the sum of an array of 32-bit integers.
; Receives: ESI points to the array, ECX = number
; of array elements
; Returns: EAX = sum of the array elements
;-----------------------------------------------------
mov eax,0 ; set the sum to zero
L1: add eax,[esi] ; add each integer to sum
add esi,TYPE DWORD ; point to next integer
loop L1 ; repeat for array size
ret ; sum is in EAX
ArraySum ENDP
;-----------------------------------------------------
DisplaySum PROC USES edx
;
; Displays the sum on the screen
; Receives: EAX = the sum
; Returns: nothing
;-----------------------------------------------------
mov edx,OFFSET str2 ; "The result of the..."
call WriteString
call WriteInt ; display EAX
call Crlf
ret
DisplaySum ENDP
END main
Join a community of subject matter experts. Register for FREE to view solutions, replies, and use search function. Request answer by replying!
Post Reply