TITLE SumArray1.asm ; P. 141 ; ; Last update: 11/30/17 INCLUDE Irvine32.inc .data array DWORD 100, 200, 300 ;theSum DWORD ? .code main PROC MOV ESI, offset array MOV ECX, lengthof array call ArraySum ; mov theSum, EAX call writeDec call crlf exit main ENDP ; procedure, P.141 ArraySum PROC USES ESI ECX ; pre-cond: [ESI] holds the first ele. of array ; post-cond: EAX holds the sum of array ele. mov EAX, 0 L1: ADD EAX, [ESI] ADD ESI, TYPE DWORD LOOP L1 RET ArraySum ENDP END main