cbw
;al的符號擴充套件至ah
;如al的最高有效位是0,則ah=00
;al的最高有效位為1,則ah=ffh。al不變
cwd
;ax的符號擴充套件至dx
;如ax的最高有效位是0,則dx=00
;ax的最高有效位為1,則dx=ffffh。ax不變
符號擴充套件的概念
符號擴充套件是指用乙個運算元的符號位(即最高位)形成另乙個運算元,後乙個運算元的各位是全0(正數)或全1(負數)。符號擴充套件不改變資料大小
對於資料ff00h(表示有符號數-256),其最高位d15為1,符號擴充套件後高16位都是1,成為ffffff00h(仍表示有符號數-256)
mov al,80h ;al=80h
cbw ;ax=ff80h
add al,255 ;al=7fh
cbw ;ax=007fh
cwd ;dx.ax←ax
idiv bx ;ax←dx.ax÷bx
十進位制數調整指令對二進位制運算的結果進行十進位制調整,以得到十進位制的運算結果分成壓縮bcd碼和非壓縮bcd碼調整
壓縮bcd碼就是通常的8421碼;它用4個二進位制位表示乙個十進制位,乙個位元組可以表示兩個十進位制位,即00~99
非壓縮bcd碼用8個二進位制位表示乙個十進位制位,只用低4個二進制位表示乙個十進位制位0~9,高4位任意,通常預設為0
二進位制編碼的十進位制數:一位十進位制數用4位二進位制編碼來表示 8086支援壓縮bcd碼和非壓縮bcd碼的調整運算真值864
二進位制編碼
08h40h
壓縮bcd碼
08h64h
非壓縮bcd碼
08h0604h
(add al,i8/r8/m8)
(adc al,i8/r8/m8)
daa;al←將al的加和調整為壓縮bcd碼
(sub al,i8/r8/m8)
(sbb al,i8/r8/m8)
das;al←將al的減差調整為壓縮bcd碼
使用daa或das指令前,應先執行以al為目的運算元的加法或減法指令
舉例:
1.daa實現十進位制調整
mov al,68h
;al=68h,壓縮bcd碼表示真值68
mov bl,28h
;bl=28h,壓縮bcd碼表示真值28
add al,bl
;二進位制加法:al=68h+28h=90h
daa
;十進位制調整:al=96h
;實現壓縮bcd碼加法:68+28=96
2.das實現十進位制調整
mov al,68h
;al=68h,壓縮bcd碼表示真值68
mov bl,28h
;bl=28h,壓縮bcd碼表示真值28
sub al,bl
;二進位制減法:al=68h-28h=40h
das
;十進位制調整:al=40h
;實現壓縮bcd碼加法:68-28=40
(mul
r8/m8)
aam;ax←將ax的乘積調整為非壓縮bcd碼
(div r8/m8)
aad;ax←將ax中非壓縮bcd碼擴充套件成二進位制數
用法:
1.aam指令跟在位元組乘mul之後,將乘積調整為非壓縮bcd碼舉例:2.aad指令跟在位元組除div之前,先將非壓縮bcd碼的被除數調整為二進位制數
3.aam和aad指令根據結果設定sf、zf和pf,但對of、cf和af無定義
1.aam指令舉例
mov ax,0608h
;ax=0608h,非壓縮bcd碼表示真值68
mov bl,09h
;bl=09h,非壓縮bcd碼表示真值9
mul bl
;二進位制乘法:al=08h×09h=0048h
aam;十進位制調整:ax=0702h
;實現非壓縮bcd碼乘法:8×9=72
2.aad指令舉例
mov ax,0608h
;ax=0608h,非壓縮bcd碼表示真值68
mov bl,09h
;bl=09h,非壓縮bcd碼表示真值9
aad;二進位制擴充套件:ax=68=0044h
div bl
;除法運算:商al=07h,餘數ah=05h
;實現非壓縮bcd碼除法:
68÷9=7(餘5)
16位彙編第一講簡介
組合語言他是計算機語言,計算機語言通俗點說就是人類和計算機 也就是cpu 溝通的橋梁,計算機不認識人類的語言,只認得二進位制 0和1 但是我們想讓你算計完成我們的工作,每次都是0,和1,那樣會崩潰的,老一輩的是這樣的 所以後面組合語言出現了,用一些簡單的助記符來替代機器語言 二進位制 通用的語言,比...
16位彙編筆記
1 子函式中進行現場保護時,不能把返回值所存放的暫存器 絕對不可以 入棧,只是被訪問而沒有被修改的暫存器也不需要入棧。子函式的引數盡量入棧,因為如果後面的子函式再次使用這些引數時,需要確保引數沒有變動 2 開機cpu加電後,初始化cs 0ffffh,ip 0。ffffh 0處有一條跳轉指令,跳轉至b...
機器學習第七講
第七講 最優化 1.優化目標 2.梯度下降 隨機梯度下降sgd 訓練乙個樣本,更新 次引數 mini batch是sgd的推廣,通常所說sgd即是mini batch。病態條件 病態條件 不同方向有不同的梯度 學習率的選擇困難。區域性最小 區域性最小 local minima 權重空間是對稱的 放大...