I am having some problems with my "sum of numbers program," and cannot figure out why I am not getting the correct answers. This is my first Assembly programming class, so take it easy on me, please. The assignment is: Prompt a user for an integer n, compute the sum of the integers from 1 to n, and display the sum. ex: user inputs "5". 1+2+3+4+5=15. Output "The sum is: 15"
Here is what I have so far:
.586 .MODEL FLAT
INCLUDE io.h ; header file for input/output
.DATA sum DWORD 0 prompt BYTE "Enter a number: ", 0 num1 DWORD ? num2 DWORD 0 string BYTE 40 DUP (?) resultLbl BYTE "The sum is: ", 0
.CODE _MainProc PROC
input prompt, string, 40 ; read ASCII characters atod string mov num1, eax ; store in memory mov num2, 2 mov ebx, num2 cmp eax, sum jne GetValue je Done
inc sum add sum, ebx mov eax, ebx cmp eax, sum jne GetValue ; loop je Done