div指令
div是除法指令,使用div做除法时,注意:
(1)除数:有8位、16位,在一个reg或内存单元中
(2)被除数:默认放在AX或DX和AX中,如果除数为8位,被除数则为16位,默认在AX中存放;
如果除数为16位,被除数则位32位,在DX和AX中存放,DX存放高16位,AX存放低16位。
(3)结果:如果除数为8位,则AL存储除法操作的商,AH存储除法操作的余数;
如果除数为16位,则AX存储除法操作的商,DX存储除法操作的余数。
格式:
div reg
div 内存单元
*多种方式表示一个内存单元
div byte ptr ds:[0]
含义:(al)=(ax)/((ds)*16+0)的商
(ah)=(ax)/((ds)*16+0)的余数
div word ptr es:[0]
含义:(ax)=【(dx)*10000H+(ax)】/((es)*16+0)的商
(dx)=【(dx)*10000H+(ax)】/((es)*16+0)的余数
div byte ptr [bx+si+8]
含义:(al)=(ax)/((ds)*16+(bx)+(si)+8)的商
(ah)=(ax)/((ds)*16+(bx)+(si)+8)的余数
div word ptr [bx+si+8]
含义:(ax)=【(dx)*10000H+(ax)】/((ds)*16+(bx)+(si)+8)的商
(dx)=【(dx)*10000H+(ax)】/((ds)*16+(bx)+(si)+8)的余数