div:
被除數(shù)/除數(shù)
被除數(shù)分為16位(AX),32位(DX+AX);
除數(shù)分為8位,16位
存放結(jié)果:如果結(jié)果是8位(商放在AL耿芹,余數(shù)放在AH);如果結(jié)果是16位(商放在AX挪哄,余數(shù)放在DX)
div指令格式:
div ?register
div ?內(nèi)存單元
如:mov dx,0001H ??
mov ax,86A1H;
mov bx,100
div bx ? ?//相當(dāng)于(dx+ax)/bx 186a1/64,結(jié)果為商:ax =03e8;余數(shù):dx =1?
如:mov ax,86
mov bx,4
div bx //結(jié)果為:ax=21吧秕;dx=2 實(shí)驗(yàn)結(jié)果和上面的有出入,待修改迹炼,好像是商為4位結(jié)果存放在ah砸彬,al中
附:div指令示例
div byte ptr ds:[0]
含義為:
(al) = (ax) / ((ds)*16+0) 商
(ah) = (ax) / ((ds)*16+0) 余數(shù)
div word ptr es:[0]
含義為:
(ax) = [(dx)*10000H+(ax)]/((ds)*16+0) 商
(dx) = [(dx)*10000H+(ax)]/((ds)*16+0) 余數(shù)
div byte ptr [bx+si+8]
(al)= (ax)/((ds)*16+(bx)+(si)+8) 商?
(ah)=(ax)/((ds)*16+(bx)+(si)+8) 余數(shù)
div word ptr [bx+si+8]
(ax)=[(dx)*10000H+(ax)]/((ds)*16+(bx)+(si)+8) 商
(dx)=[(dx)*10000H+(ax)]/((ds)*16+(bx)+(si)+8) 余數(shù)