我应该从用户那里获取有符号整数,计算输入数字的总和,然后显示平均值。问题是,负数似乎没有正确显示,尽管我知道总和和平均值计算正确。
为了正确显示负数,我需要在我的程序中添加什么内容?
.
.
.
writeVal PROC USES eax
LOCAL resultString[11]:BYTE
lea eax, resultString
push eax
push [ebp + 8]
call intToStr
lea eax, resultString
displayString eax ; print num
ret 4
writeVal ENDP
intToStr PROC USES eax ebx ecx
LOCAL tempChar:DWORD
mov eax, [ebp + 8]
mov ebx, 10
mov ecx, 0
cld
divideByTen:
cdq
idiv ebx
push edx
inc ecx
cmp eax, 0
jne divideByTen
mov edi, [ebp + 12] ; move into dest array
jmp storeChar
;store char in array
storeChar:
pop tempChar
mov al, BYTE PTR tempChar
add al, 48
stosb
loop storeChar
mov al, 0
stosb
ret 8
intToStr ENDP
.
.
.