Я должен взять целые числа со знаком от пользователя, вычислить сумму введенных чисел и затем отобразить среднее. Проблема в том, что отрицательные числа не отображаются правильно, хотя я знаю, что сумма и среднее значение рассчитываются правильно.
Что мне нужно добавить в мою процедуру, чтобы учесть отрицательные числа, чтобы они отображается правильно?
.
.
.
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
.
.
.