- UID
- 42324
注册时间2007-12-21
阅读权限20
最后登录1970-1-1
以武会友
该用户从未签到
|
看三人行教程讲汇编基础那一课发现问题,似乎三人行讲错了。
我的理解:
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 编辑 ] |
|