汇编-div除法指令

 

div指令是除法指令。100001/100,100001是被除数,100是除数。一般格式为:div reg或div 内存单元,reg和内存单元存放的是除数,除数可分为8位和16为2种。

被除数:默认放在AX或DX和AX,如果除数为8位,被除数则为16位,默认在AX中存放;如果除数 为16位,被除数则为32位,在DX和AX中存放,DX存放高16位,AX存放低16位
结果:如果除数为8位,则AL存储除法操作的商,AH存储除法操作的余数;如果除数为16位,则AX存储除法操作的商,DX存储除法操作的余数。

 

 

 

实例1:

复制代码
;利用除法指令计算 100001/100
;100001(186A1)大于65535(FFFF),16位寄存器AX不能存放,只能用dx和ax联合存放(32位)
;除数应该为16位

assume cs:codesg,ds:datasg 
datasg segment
 
 datasg ends 
 codesg segment 
 start: 
       mov dx,0001h
       mov ax,86A1h
       mov bx,100
       div bx
       
      
 codesg ends 
 end start

;结果:商=1000(03e8)    余数=1

 
复制代码

 

 

实例2:

复制代码
;利用除法指令计算 1001/100   3e9h/64h
;1001(3e9h)小于65535(FFFF),16位寄存器AX能存放
;除数64h小于FF,应该为8位

assume cs:codesg,ds:datasg 
datasg segment
 
 datasg ends 
 codesg segment 
 start: 
       mov ax,3e9h
       mov bl,100
       div bl
       
      
 codesg ends 
 end start

;结果:商=10(A)    余数=1

 
复制代码

 

 

 

 

 

 

 

 

 

 

 

posted @   天子骄龙  阅读(529)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
历史上的今天:
2020-05-23 CAD-矩形的绘制
2019-05-23 Arduino-位操作
2019-05-23 双曲函数
点击右上角即可分享
微信分享提示