注册 登录
编程论坛 汇编论坛

关于除法问题的疑惑~~

hjw951 发布于 2008-10-16 12:07, 1433 次点击
初学汇编,要把16位的二进制转为十进制,有一个问题没想明白
被除数是在AX里面,BL里放除数
除之后余数是放在AH中,商在AL中
为什么16位除8位后只能有8位
如果出现除后商溢出的情况呢?怎么处理?

比如:AX里面0FFFFH除以BL里面0AH,商只能放AL里(8位),但是除后的商很大,用AL的8位表示不了啊好像

请教大家一下~~~
5 回复
#2
zklhp2008-10-16 13:16
会溢出?

偶也不知道 你试一下吧

要不就等 ONEPROBLEM 回答 呵呵
#3
ONEPROBLEM2008-10-16 17:01
[bo][un]hjw951[/un] 在 2008-10-16 12:07 的发言:[/bo]

初学汇编,要把16位的二进制转为十进制,有一个问题没想明白
被除数是在AX里面,BL里放除数
除之后余数是放在AH中,商在AL中
为什么16位除8位后只能有8位
如果出现除后商溢出的情况呢?怎么处理?

比如:AX里 ...

LZ说得没错,肯定是要溢出的.这是"除法溢出".
解决的办法是,改换成16位的除法,即被除数放在AX和DX中,结果也放回这两个地方.
如果还有更大的数要进行除法呢?只能用特定的公式了.
复制一个过来~~
#4
zklhp2008-10-16 17:53
[bo][un]ONEPROBLEM[/un] 在 2008-10-16 17:01 的发言:[/bo]


LZ说得没错,肯定是要溢出的.这是"除法溢出".
解决的办法是,改换成16位的除法,即被除数放在AX和DX中,结果也放回这两个地方.
如果还有更大的数要进行除法呢?只能用特定的公式了.
复制一个过来~~


截的是王爽的汇编还是……
#5
ONEPROBLEM2008-10-16 21:59
是王爽的汇编.电子版第一版的.
#6
hjw9512008-10-16 23:43
谢谢,已经根据大家的解答把被除数改为32位,在dx和ax里
只是会不会出现除法溢出每次都要自己估算一下才敢写,比较烦~~~

版主给的公式我再学习学习
1