8086除法指令DIV,IDIV

 
  

无符号除法指令DIV(DIVision)

 DIV OPRD  ;除数OPRD决定是8位除法还是16位除法

;OPRD=8位,则被除数默认在AX中,AX除以OPRD的商保存在AL中,余数保存在AH中

;OPRD=16位,则被除数默认在DX与AX中,结果的商保存在AX中,余数保存到DX中


assume cs:code
data segment
	db 2,4
data ends
code segment
start:
	mov ax,data
	mov ds,ax
	mov si,0
	mov ax,8	;设被除数为8H
	div byte ptr ds:[si];8位除法 ax/[si]=8/2=4
	mov dx,10H
	mov ax,1000H	;设被除数为101000H
	div word ptr ds:[0];16位除法 (dx,ax)/[si]=00101000H/0402H
	mov ax,4c00H
	int 21H
code ends
end start

`有符号数除法IDIV(sIgned DIVision)

 IDIV OPRD ;该指令把除数与被除数均作为有符号数,此外与DIV相同

DIV 会引起除法溢出 引起0号中断

你可能感兴趣的:(x86)