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

DIV 和 IDIV 指令

fsrm324 发布于 2014-05-13 20:47, 741 次点击
MOV AX,0FFBDH
MOV BX,12F8H
IDIV BL
运行之后为什么AX=FD08,求解???
请详细解释下
5 回复
#2
fsrm3242014-05-14 14:53
FFBDH(-32701)/F8(-120),但是如何得到商8余数FD的?
#3
zklhp2014-05-14 16:08
补码没学好

FFBDH 这个十进制是-67
F8H 这个十进制是-8

除 得数是8 余数是-3

-3 十六进制是FDH 没有问题

顺便告诉你补码的算法

比如FFBDH 这是个字 二进制是1111111110111101 取反加1 二进制1000011 也就是十进制67 因为最高位是1 所以是-67
再比如-3 这里当成一个字节 3的二进制是11 取反加1 二进制11111101 也就是十六进制FDH

#4
zklhp2014-05-14 16:09
悄悄告诉你 Windows自带的计算器很好用 反正Win8带的比以前的要好用
#5
fsrm3242014-05-14 23:22
回复 3 楼 zklhp
太感谢了,茅塞顿开
#6
可可粉2022-12-12 08:57
回复 楼主 fsrm324
我们书上给的答案是AX=0308H,但是我们给你算的一样,不知道是不是答案错了
1