汇编语言的DIV指令 汇编语言指令大全

汇编语言的DIV指令是除法指令

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保存余数。

公式如下:

1:div byte ptr ds:[0]

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

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

2:divword ptr es:[0]

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

3:div byte ptr [bx+si+8]

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

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

4:div word ptr [bx+si+8]

含义:(ax) = [(dx)*10000h+(ax)]/((ds)*16+(bx)+(si)+8) 的商

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

举例说明:

100001 / 100

100001的16进制是186A1H,这个被除数大于16位,所以要用32位来存储,DX存放高16位 0001,AX存放低16位86A1H,除数100可以存放在8位和16位都可以,但是如果除数100存放在8位中,因为上面说了,除数8位的话,运算的结果就会把商放入到AL中,AH保存余数。100001/100的商是1000余数是1,1000根本无法保存到AL中(AL最多保存255),所以必须将100保存到16位中

代码如下:

assume cs:code
code segment
mov dx,1
mov ax,86a1h
mov bx,100
div bx
code ends
汇编语言的DIV指令 汇编语言指令大全
end

运行结果AX:03E8 (商)DX:0001余数

如果将上面的 mov bx,100 div bx 改位 mov bl,100 div bl 运行后会报错"DIVEDOVERFLOW" 也就除法结果溢出错误。

  

爱华网本文地址 » http://www.413yy.cn/a/25101016/307767.html

更多阅读

诺基亚手机解锁密码指令大全 诺基亚手机怎么解锁

诺基亚手机解锁密码指令大全初始保密码:12345?5110锁码机解码:在保密码锁死,输入正确保密码无效的情况下,可1、按C键不放,2、按*键不放,3、按*键不放,4、输入04*PIN*PIN*PIN# 解除锁码。?3210解 SP 锁: 1、按C键 2、按向下键 3、按C键直到

描绘少年儿童日常学习生活的儿童简笔画图片大全

表现少年儿童日常学习生活的儿童简笔画图片大全这是我见过的最全的描绘少年儿童日常生活的简笔画图片了,有做早操、唱歌、吹泡泡、弹钢琴、织毛衣、体育运动、爱学习、植树、滑雪、划船,甚至还有看病、钉扣子、登山等,太全了,是小学生学

《火炬之光2》控制台指令 秘籍大全 csgo控制台指令大全

《火炬之光2》控制台指令 秘籍大全——简介不懂的童鞋们可以看看。。。。本人也玩这个的很不错。。。。《火炬之光2》控制台指令 秘籍大全——工具/原料电脑一台火炬之光2单机游戏《火炬之光2》控制台指令 秘籍大全——方法/步骤

声明:《汇编语言的DIV指令 汇编语言指令大全》为网友敢为天下先分享!如侵犯到您的合法权益请联系我们删除