汇编语言-DIV指令(除法指令)

DIV指令:

div 指令是8086汇编中的除法运算指令,它的结果不是浮点数,而是两个整数:商和余数。

A / B 其中,A 是被除数,B 是除数 ,

除数B有 8位16位两种,保存在一个 reg寄存器 里 或是 内存单元 中 ,

被除数 A 默认存放在 AX 中(16位以内)

或 AX 和 DX 中(32位,DX存放高16位,AX存放低16位)

结果:

如果除数 B 是8位,那么除法的结果AL保存商,AH保存余数,

如果除数 B 是16位,那么除法的结果 AX保存商,DX保存余数。

例如:


div byte ptr ds:[0]

含义:

(al)=(ax)/((ds)*16+0) 的商

(ah)=(ax)/((ds)*16+0) 的余数


div word ptr es:[0]

(高十六位)+(低十六位)

含义:

(ax)=[(dx)*10000H+(ax)]/((es)*16+0) 的商

(dx)=[(dx)*10000H+(ax)]/((es)*16+0) 的余数

div byte ptr [bx+si+8]

含义:

(al)=(ax)/((ds)*16+(bx)+(si)+8) 的商

(ah)=(ax)/((ds)*16+(bx)+(si)+8) 的余数


div word ptr [bx+si+8]

(高十六位)+(低十六位)

含义:

(ax)=[(dx)*10000H+(ax)]/((ds)*16+(bx)+(si)+8) 的商

(dx)=[(dx)*10000H+(ax)]/((ds)*16+(bx)+(si)+8) 的余数

运算要求:

除法指令正确执行是有条件的

这个条件是:被除数的高一半,必须小于除数 ,

如果数据不满足这样的条件,被除数的高一半大于或者等于除数,就会产生除法溢出,

若发生除法溢出,会自动触发0号中断 --- 除法溢出中断,

举个粟子:

被除数 1000 ,写成16进制格式是3E8H,

它的高一半(高8位)是03H,低一半(低8位)是0E8H ,

若以它作为被除数,则除数必须大于4(4>03H)才能正确执行 ,

这样,除得的商必然只有 8位,可以正确地保存在AL中 ,

若你的除数是3或更小的 2 、1 甚至 0 ,则在程序运行到这一条除法指令时会发生0号中断出错。


另外 如果做16位除法前需要现将 DX 清零,如:xor dx,dx

相关推荐

  1. 汇编语言-DIV指令(除法指令)

    2024-04-30 22:28:02       31 阅读
  2. C/C++中的整数除法运算与汇编指令DIV和IDIV

    2024-04-30 22:28:02       35 阅读
  3. 汇编语言-[bx]和loop指令

    2024-04-30 22:28:02       31 阅读
  4. 汇编语言定义宏指令--.macro

    2024-04-30 22:28:02       30 阅读
  5. Linux添加一个指令代替指定指令

    2024-04-30 22:28:02       56 阅读
  6. npm指令

    2024-04-30 22:28:02       54 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-30 22:28:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-30 22:28:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-30 22:28:02       82 阅读
  4. Python语言-面向对象

    2024-04-30 22:28:02       91 阅读

热门阅读

  1. 让新手变中手的ChatGPT 使用方法

    2024-04-30 22:28:02       55 阅读
  2. linux&windowns文件共享之samba

    2024-04-30 22:28:02       30 阅读
  3. python高阶应用

    2024-04-30 22:28:02       32 阅读
  4. 商城数据库88张表

    2024-04-30 22:28:02       26 阅读
  5. linux驱动-CCF-1 provider 注册时钟

    2024-04-30 22:28:02       21 阅读
  6. 自制英语听力视频 4.30

    2024-04-30 22:28:02       28 阅读
  7. UI设计饱和了吗?赚钱吗?

    2024-04-30 22:28:02       33 阅读