div是除法指令,使用div做除法的時候應注意以下問題:
1、除數:有8位和16位兩種,在乙個暫存器或者記憶體中。
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 記憶體單元
以100001/100為例,100001大於65535,所以只能用dx和ax兩個暫存器聯合存放100001,也就是說要進行16位的除法。除數100小於255,可以在乙個8位的暫存器中存放,但是被除數是32位的,除數應為16位,所以要使用乙個16位的暫存器來存放除數100.
dx和ax分別存放100001的高16位和低16位值,所以將100001表示為16進製制的形式:186a1h.
程式如下:
view plaincopy to clipboardprint?
datas segment
;此處輸入資料段**
datas ends
stacks segment
;此處輸入堆疊段**
stacks ends
codes segment
assume cs:codes,ds:datas,ss:stacks
start:
mov dx,1
mov ax,86a1h
mov bx,100
div bx
mov ax,4c00h
int 21h
codes ends
end start
datas segment
;此處輸入資料段**
datas ends
stacks segment
;此處輸入堆疊段**
stacks ends
codes segment
assume cs:codes,ds:datas,ss:stacks
start:
mov dx,1
mov ax,86a1h
mov bx,100
div bx
mov ax,4c00h
int 21h
codes ends
end start
程式執行後,ax=03e8h,dx=1(餘數是1),在debug中檢視如下所示:
-pax=86a1 bx=0000 cx=0010 dx=0001 sp=0000 bp=0000 si=0000 di=0000
ds=0ba5 es=0ba5 ss=0bb5 cs=0bb5 ip=0006 nv up ei pl nz na po nc
0bb5:0006 bb6400 mov bx,0064
-pax=86a1 bx=0064 cx=0010 dx=0001 sp=0000 bp=0000 si=0000 di=0000
ds=0ba5 es=0ba5 ss=0bb5 cs=0bb5 ip=0009 nv up ei pl nz na po nc
0bb5:0009 f7f3 div bx
-pax=03e8 bx=0064 cx=0010 dx=0001 sp=0000 bp=0000 si=0000 di=0000
ds=0ba5 es=0ba5 ss=0bb5 cs=0bb5 ip=000b nv up ei pl nz ac po nc
0bb5:000b b8004c mov ax,4c00
-pax=4c00 bx=0064 cx=0010 dx=0001 sp=0000 bp=0000 si=0000 di=0000
ds=0ba5 es=0ba5 ss=0bb5 cs=0bb5 ip=000e nv up ei pl nz ac po nc
0bb5:000e cd21 int 21
-p本文**:
彙編 div 除法指令
mov ax,10h 被除數為16位,儲存在ax mov dl,3 除數儲存在暫存器中,除數為8位 mov dl,ds 3 除數儲存在記憶體中,除數為8位 div dl 商儲存在al,餘數儲存在ah mov ax,4c00h int 21h code ends end start assume cs...
ARM指令需要注意的幾點問題
1 對於bx 分支並且轉換狀態指令,需要注意 在指令最低位確定分支處的 型別 arm 1,thumb 0 因此我們可以通過指令修改最後一位,使bx指令等效轉化成由具有bl功能的其它幾條指令。adrl r0,thumbfun 1 無論字對齊還是半字對齊,最低位都為零,而轉換處理器狀態需要設定最低位,因...
需要注意的問題
決策樹id3和c4.5的差別?各自優點?boost演算法 cart 回歸樹用平方誤差最小化準則,分類樹用基尼指數最小化準則 gbdt與隨機森林演算法的原理以及區別。優化演算法中常遇到的kkt條件?作用是?最近鄰演算法knn 分類與回歸 l1和l2函式?l1和l2正則項的比較,如何解決 l1 求導困難...