主题:王爽汇编课后练习的问题
实验10.2,解决除法溢出
公式:X/N=int(H/N)*65536+[rem(H/N)*65536+L]/N
int()取商,rem()取余数
X:被除数,N:除数,用cx保存
H:被除数的高16位,用dx保存
L:被除数的低16位,用ax保存
65536是32位数了,书上只讲到16位数的乘法,32位数怎么乘啊?如果分成两个16位数做两次乘法,那么第一次乘了后也会产生32位数,怎么再乘第二次呢?
公式:X/N=int(H/N)*65536+[rem(H/N)*65536+L]/N
int()取商,rem()取余数
X:被除数,N:除数,用cx保存
H:被除数的高16位,用dx保存
L:被除数的低16位,用ax保存
65536是32位数了,书上只讲到16位数的乘法,32位数怎么乘啊?如果分成两个16位数做两次乘法,那么第一次乘了后也会产生32位数,怎么再乘第二次呢?