111111
精灵王
精灵王
  • 注册日期2010-12-08
  • 发帖数640
  • QQ
  • 火币1103枚
  • 粉丝120
  • 关注75
  • 社区明星
阅读:1740回复:0

经典汇编语言教程:5.2.3-4 除法指令

楼主#
更多 发布于:2013-01-24 14:22

除法指令的被除数是隐含操作数,除数在指令中显式地写出来。cpu会根据除数是8位、16位,还是32位,来自动选用被除数AX、DX-AX,还是EDX-EAX。
除法指令功能是用显式操作数去除隐含操作数,可得到商和余数。当除数为0,或商超出数据类型所能表示的范围时,系统会自动产生0号中断。
◆、无符号数除法指令DIV(UnsignedDivide Instruction)
指令的格式:DIV  Reg/Mem
指令的功能是用显式操作数去除隐含操作数(都作为无符号数),所得商和余数按表5.3的对应关系存放。指令对标志位的影响无定义。
◆、有符号数除法指令IDIV(SignedInteger Divide Instruction)
指令的格式:IDIV  Reg/Mem
受影响的标志位:AF、CF、OF、PF、SF和ZF
指令的功能是用显式操作数去除隐含操作数(都作为有符号数),所得商和余数的对应关系见表5.3。
表5.3除法指令除数、被除数、商和余数的对应关系

除数位数

隐含的被除数


余数

举例

8位

AX

AL

AH

DIV  BH

16位

DX-AX

AX

DX

DIV  BX

32位

EDX-EAX

EAX

EDX

DIV  ECX

喜欢0 评分0
游客

返回顶部