Hi,
My program's supposed to perform division by using subtraction. However, I'm getting nonsense results as output. Could someone help me what's wrong with it? Thank you.
include Irvine32.inc
.data
firstPrompt byte "Please enter first integer : ",0
secondPrompt byte Please enter second integer : ",0
buffer_size = 10
bufferFirst byte buffer_size dup(?)
bufferSecond byte buffer_size dup(?)
firstInt dword 0
secondInt dword 0
divResult dword 0
.code
main proc
call getInteger
call divt
mov edx,firstInt
call writeInteger
mov al,'/'
call writechar
mov edx,secondInt
call writeInteger
mov al,'='
call writechar
mov eax,divResult
call writeDec
call crlf
myexit proc
mov eax, white+16*black
call settextcolor
call waitmsg
ret
myexit endp
main endp
div proc
pushad
mov ecx,firstInt
mov ebx,0
subtracting:
sub ebx,secondInt
loop subtracting
mov divResult,ebx
popad
ret
divt endp
getInteger proc
mov edx, offset firstPrompt
call writestring
call readint
mov firstInt, eax
mov edx,offset secondPrompt
call writestring
call readint
mov secondInt, eax
ret
getInteger endp
writeInteger proc
mov eax,edx
call writedec
ret
writeInteger endp
end main