汇编-div无符号整数除法

 

 

在32位模式下, DIV(无符号整数除法) 指令执行8位、16位及32位的无符号整数除法。无符号除法(unsigned division) 定义为一个无符号数除以另一个无符号数。其中, 除数为单个寄存器或内存操作数。格式如下:

 【a=c÷b,读作c除以b(或bc)。其中,c叫做被除数b叫做除数

 

下表给出了被除数、除数、商及余数之间的关系:

.386  
.model flat,stdcall 
option casemap:none
.stack 4096

Include Irvine32.inc
includelib Irvine32.lib

ExitProcess PROTO,dwExitCode:DWORD  
 
.data       

 
.code   
main PROC   
    
    mov ax,0083h      ;被除数
    mov bl,2          ;除数
    div bl            ;AL =41h,AH =01h


    

    
    quit:
    mov eax,[esi]
    INVOKE ExitProcess,0  
main ENDP   
END main

 

 

 

 

 

 

 

64位模式

在64位模式下, DIV指令用RDX:RAX做被除数, 用64位寄存器和内存操作数做除数, 商存放在RAX中, 余数存放在RDX中

 

 

 

 

 

 

 

 

posted @ 2023-12-25 07:15  天子骄龙  阅读(175)  评论(0)    收藏  举报