CDQ指令及其相关除法

CDQ(Convert Double to Quad的缩写,意为将双字数据扩展为四字),大多出现在除法运算之前. 它实际的作用只是把EDX的所有位都设成EAX最高位的值.

也就是说,当EAX <80000000, EDX 00000000  (80000000以下是正数,原码0开头); 当EAX >= 80000000, EDX 则为FFFFFFFF).

 

除法分为DIV(无符号)和IDIV(有符号)

 

DIV (unsigned divide) 无符号数除法

格式:DIV SRC

执行的操作:

  字节操作:16位被除数在AX,8位除数为源操作数,结果的8位商在AL中,8位余数在AH中。表示为

  (AL)<-(AX)/(SRC) 的商    (AH) <-(AX)/(SRC) 的余数

  字操作:32位被除数放在DX,AX中。其中DX为高位字,16位除数为源操作数,结果的16位端在AX中,16位余数在DX中。表示为   (AX)<-(DX,AX)/(SRC) 的商   (DX)<-(DX,AX)/(SRC) 的余数

  双字操作:64位被除数在EDX,EAX中,其中EDX为高位双字,32位除数为源操作数,结果的32位商在EAX中,32位余数在EDX中,表示为   (EAX)<-(EDX,EAX)/(SRC) 的商   (EDX)<-(EDX,EAX)/(SRC) 的余数。 商和余数均为无符号数。

 


IDIV 带符号除法指令

格式:IDIV SRC

执行的操作:与DIV相同,但操作数必须是带符号的数,商和余数也都是带符号的数,且余数的符号和被除数的符号相同

转载于:https://www.cnblogs.com/lyxin/p/6136907.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值