[032][汇编语言]div除法指令

被除数÷除数=商...余数

被除数是16位,除数应为8位

被除数
-------------
AX

进行除法运算之后:

AX
-------------
AH  |  AL
余数  商

被除数是32位,除数应为16位

被除数
-------------
高16位|低16位
DX    AX

进行除法运算之后:

DX    AX
-------------
余数  商

除数:reg 或者 内存单元

被除数16位,除数8位

div byte ptr ds:[0]
商AL    (al)=(ax)/((ds)*16+0)
余数AH  (ah)=(ax)/((ds)*16+0)

被除数32位,除数16位

div word ptr es:[0]
商AX    (ax)=[(dx)*10000H+(ax)]/((es)*16+0)
余数DX  (dx)=[(dx)*10000H+(ax)]/((es)*16+0)

编程,利用除法指令进行计算

进制转换

被除数(32位)÷ 除数(16位)

100001/100

  • 100001D > 65535D
  • 100001D 十进制 000186A1H十六进制
  • DX 存放高16位 0001H
  • AX 存放低16位 86A1H

打开debug,用A命令逐条指令输入

  • debug 【A命令】默认数据是十六进制


    除法运算 100001/100
mov dx,0001
mov ax,86A1
mov bx,0064
div bx

查看运算结果

32位除以16位 AX商 DX余数.png

被除数(16位)÷ 除数(8位)

1001/100

  • 1001D
  • 1001D 十进制 03E9H十六进制
  • AX直接存放被除数 03E9

打开debug,用A命令逐条指令输入

  • debug 【A命令】默认数据是十六进制


    除法运算
mov ax,03e9
mov bl,64
div bl

查看运算结果

16位除以8位 AL商 AH余数
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 8086汇编 本笔记是笔者观看小甲鱼老师(鱼C论坛)《零基础入门学习汇编语言》系列视频的笔记,在此感谢他和像他一样...
    Gibbs基阅读 37,424评论 8 114
  • 王爽汇编全书知识点大纲 第一章 基础知识 机器语言 汇编语言的产生 汇编语言的组成 存储器 cpu对存储器的读写 ...
    2c3ba901516f阅读 2,455评论 0 1
  • 一个典型的 CPU由运算器、控制器、寄存器等器件构成,这些器件靠内部总线相连。前面所说的总线,相对于 CPU 而言...
    刘桂良阅读 1,633评论 1 3
  • 指令是使计算机执行某种特定操作的二进制编码。8086 CPU指令系统有133条指令,通常分为数据寻址方式和程序寻址...
    刀月水阅读 1,662评论 0 1
  • 金秋十月阳光时隐时现说好了的暖意融融依然烟雨朦胧秋雨绵绵无绝期你我忙碌如初 谁像陀螺一样绕着生活转圈淋雨走过每一个...
    哲语细细阅读 359评论 16 38