Write a program in assembly language that will - take ten integers (32 bit) in a
ID: 3817696 • Letter: W
Question
Write a program in assembly language that will - take ten integers (32 bit) in an array - add up the elements - calculate the integer average - print out the integers and the resulting sum and average
Use the following set of integers (in decimal):
14 -32 0 7 42 -20 18 300 -123 -6
No Loops!!
This is my code so far, i'm having troube with the division part. Output should show 200 and 20 respectivley.
INCLUDE Irvine32.inc
.data
myArray DWORD 10 DUP (?)
Sum DWORD ?
.code
Main PROC
call Clrscr
call ReadInt
mov[myArray+0],eax
call ReadInt
mov[myArray+4],eax
call ReadInt
mov[myArray+8],eax
call ReadInt
mov[myArray+12],eax
call ReadInt
mov[myArray+16],eax
call ReadInt
mov[myArray+20],eax
call ReadInt
mov[myArray+24],eax
call ReadInt
mov[myArray+28],eax
call ReadInt
mov[myArray+32],eax
call ReadInt
mov[myArray+36],eax
mov eax,0
add eax,[myArray+0]
add eax,[myArray+4]
add eax,[myArray+8]
add eax,[myArray+12]
add eax,[myArray+16]
add eax,[myArray+20]
add eax,[myArray+24]
add eax,[myArray+28]
add eax,[myArray+32]
add eax,[myArray+36]
mov Sum,eax
call WriteInt
call CRLF
mov eax,ecx
mov ebx,10
xor edx,edx
div ebx
call WriteInt
call CRLF
exit
main ENDP
END main
Explanation / Answer
I have modified the code. The modified statements are in BOLD font:-
Code:-
INCLUDE Irvine32.inc
.data
myArray DWORD 10 DUP (?)
Sum DWORD ?
.code
Main PROC
call Clrscr
call ReadInt
mov[myArray+0],eax
call ReadInt
mov[myArray+4],eax
call ReadInt
mov[myArray+8],eax
call ReadInt
mov[myArray+12],eax
call ReadInt
mov[myArray+16],eax
call ReadInt
mov[myArray+20],eax
call ReadInt
mov[myArray+24],eax
call ReadInt
mov[myArray+28],eax
call ReadInt
mov[myArray+32],eax
call ReadInt
mov[myArray+36],eax
mov eax,0
add eax,[myArray+0]
add eax,[myArray+4]
add eax,[myArray+8]
add eax,[myArray+12]
add eax,[myArray+16]
add eax,[myArray+20]
add eax,[myArray+24]
add eax,[myArray+28]
add eax,[myArray+32]
add eax,[myArray+36]
mov Sum,eax
call WriteInt
call CRLF
mov eax,Sum
mov ebx,10
xor edx,edx
div ebx
mov ecx,eax
call WriteInt
call CRLF
exit
main ENDP
END main
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.