汇编-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 @ 2023-05-23 20:26  天子骄龙  阅读(573)  评论(0)    收藏  举报