我正在为学校做一个计算器项目,所有的工作都很好, 但Divide和Mod(%)给我一个“Divide Overflow”错误,我该如何解决?
完整代码:http://pastebin.com/a9cuL0LJ
除以第158行
Mod是第166行
Num1Int和Num2Int都是0-255之间的数字
或者:
DivideDo:
push ax
mov ax , word ptr Num1Int
div Num2Int
mov ResultInt , al
pop ax
ret
ModDo:
push ax
mov ax , word ptr Num1Int
div Num2Int
mov ResultInt , ah
pop ax
ret
答案 0 :(得分:1)
一个明显的问题是,虽然Num1Int
是8位宽:
Num1Int db ?
你把它看作是16位宽:
mov ax , word ptr Num1Int