如何在程序集中使用有符号整数除法

时间:2017-02-14 06:29:25

标签: assembly masm division signed irvine32

所以对于我的项目,我必须提示用户输入一堆负数,并找到这些数字的平均值,四舍五入到最接近的整数(例如-20.5将是-20)。 我的问题是如何使用div指令来执行此操作?每当我运行此代码时,它都可以正常工作,直到它到达除法部分。

INCLUDE Irvine32.inc

.data   
;variable definitions
average         SDWORD  ?
user_number     SDWORD  ?
counter         DWORD   0
sum             SDWORD  0

.code
main PROC

startloop:
call    readint
cmp     eax, 0
jge     end_loop
mov     user_number, eax
inc     counter
mov     eax, user_number
add     sum, eax
jmp     startloop

endloop:

mov     eax, sum
cwd
mov     ebx, counter
div     ebx
mov     average, eax

main ENDP

END main

顺便说一句,我正在使用带有irvine32库的masm。任何帮助将不胜感激。

0 个答案:

没有答案