Add a Call/Return function to the program below

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Add a Call/Return function to the program below 

HNMISST 00
1
2
3
4
5
6
7
8
9
LAST W N HO
1
3
4
5
_6
7
8
21
22352828
23
24
25
26
27
29
30
31
32
33
34
35
HO
36
37
38
39
40
41
.386
.model flat, stdcall
.stack 4096
Exit Process PROTO, dwExitCode:dword
.data
array dword 10000h, 20000h, 30000h, 40000h, 50000h
theSum dword ?
.code
main proc
mov
mov
call ArraySum
mov
esi,OFFSET array
ecx, LENGTHOF array
main endp
invoke ExitProcess, 0
the Sum, eax
ArraySum proc
L1:
i
; Calculates the sum of an array of 32-bit integers.
; Receives: ESI = the array offset
; ECX = number of elements in the array
; Returns: EAX = sum of the array elements
push esi
push ecx
mov
eax,0
add
add
Loop L1
eax, [esi]
esi, TYPE DWORD
end main
pop ecx
pop esi
ret
ArraySum endp
; ESI points to array
; ECX = array count
; calculate the sum
; returned in EAX
; save ESI, ECX
; set the sum to zero
; add each integer to sum
; point to next integer
; repeat for array size
; restore ECX, ESI
: sum is in EAX
Transcribed Image Text:HNMISST 00 1 2 3 4 5 6 7 8 9 LAST W N HO 1 3 4 5 _6 7 8 21 22352828 23 24 25 26 27 29 30 31 32 33 34 35 HO 36 37 38 39 40 41 .386 .model flat, stdcall .stack 4096 Exit Process PROTO, dwExitCode:dword .data array dword 10000h, 20000h, 30000h, 40000h, 50000h theSum dword ? .code main proc mov mov call ArraySum mov esi,OFFSET array ecx, LENGTHOF array main endp invoke ExitProcess, 0 the Sum, eax ArraySum proc L1: i ; Calculates the sum of an array of 32-bit integers. ; Receives: ESI = the array offset ; ECX = number of elements in the array ; Returns: EAX = sum of the array elements push esi push ecx mov eax,0 add add Loop L1 eax, [esi] esi, TYPE DWORD end main pop ecx pop esi ret ArraySum endp ; ESI points to array ; ECX = array count ; calculate the sum ; returned in EAX ; save ESI, ECX ; set the sum to zero ; add each integer to sum ; point to next integer ; repeat for array size ; restore ECX, ESI : sum is in EAX
Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Datatypes
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education