飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2962|回复: 0

[分享] Win32汇编下div和idiv的具体用法

[复制链接]

该用户从未签到

发表于 2008-5-28 20:16:08 | 显示全部楼层 |阅读模式
看三人行教程讲汇编基础那一课发现问题,似乎三人行讲错了。

我的理解:

DIV,无符号数的除法指令,和8086一样,指令给出一个操作数,被除数已默认。如果指令中给出的操作数为32,那么被除数将是EDX:EAX, 最终的商将存放在EAX, 余数将存放在EDX中。如果指令给出操作数为16位,那么被除数为EAX,最终得到的商放在AX,余数放在EAX的高16位。如果指令中给出的操作数为8位,那么被除数是16位,最终得到的商将放在AL中,余数放在AH中。

IDIV,有符号数的除法指令,用法和8086相同,不过支持32位操作

例2.22b:有符号数0400H除以B4H
           mov ax,0400h ;ax=400h=1024d
           mov bl,0b4h ;bl=b4h=-76d
           idiv bl ;商al=f3h=-13d,余数ah=24h=36d

[ 本帖最后由 leafstone 于 2008-5-28 20:18 编辑 ]
PYG19周年生日快乐!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表