




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
算術(shù)運算指令有5類指令:加法指令減法指令乘法指令除法指令十進制調(diào)整指令算術(shù)運算指令表2算術(shù)運算類指令一覽表指令類型指令指令功能加法SUBd,sSBBd,sDECdNEGdCMPd,s加法(d)(d)+(s)帶進位加法(d)(d)+(s)+CF加1(d)(d)+1減法ADDd,sADCd,sINCd減法(d)(d)-(s)帶借位減法(d)(d)-(s)-CF減1(d)(d)-1取負(求補)(d)0-(d)比較(d)-(s)乘法MULsIMULs無符號數(shù)乘法帶符號數(shù)乘法字節(jié):(AX)(AL)*(s)字:(DX:AX)(AX)*(s)算術(shù)運算指令表2算術(shù)運算類指令一覽表(續(xù)
)指令類型指令指令功能除法DIVsIDIVsCBWCWD無符號數(shù)除法帶符號數(shù)除法字節(jié)擴展成字字擴展成雙字字節(jié):(AL)(AX)/(s)的商
(AH)(AX)/(s)余數(shù)字:
(AX)
(DX:AX)/(s)的商
(DX)
(DX:AX)/(s)余數(shù)AL的符號位擴展至AHAX的符號位擴展至DX十進制調(diào)整AAADAAAASDASAAMAAD加法分離BCD碼調(diào)整加法組合BCD碼調(diào)整減法分離BCD碼調(diào)整減法組合BCD碼調(diào)整乘法分離BCD碼調(diào)整減法分離BCD碼調(diào)整加法指令共3條:ADD加法ADC帶進位加法INC加1指令加法指令A(yù)DD指令
?
基本格式和功能指令格式:
ADDDST,SRC執(zhí)行的操作:
(DST)←(DST)+(SRC)尋址方式:
ADDmem/reg,mem/reg/data加法指令A(yù)DD指令
?
說明相加操作影響標志位OF、SF、ZF、AF、PF、CF。src可以為通用寄存器、存儲器或立即數(shù)。dest可以是通用寄存器或存儲器,但不能是立即數(shù)。src
和dest不能同時為存儲器操作數(shù)。src
和dest不能使用段寄存器??蛇M行8位或者16位的加法,但d與s長度要相同。相加后源操作數(shù)不變。加法指令A(yù)DD指令
?
例子例1:指令舉例:
ADDAX,0FF00HADDBytePTR[SI],13HADDAX,BX例2:錯誤的指令:
ADDAX,BLADD[SI+3],[BX][DI]ADDDS,DX加法指令A(yù)DC指令
?
基本格式和功能指令格式:
ADCDST,SRC執(zhí)行的操作:
(DST)
←(DST)+(SRC)+CF尋址方式:
ADCmem/reg,mem/reg/data
加法指令A(yù)DC指令
?
說明與ADD指令一樣,ADC同樣影響6個狀態(tài)標志位。其中CF在指令中參與計算,計算后根據(jù)結(jié)果重新設(shè)置CF的值。加法指令A(yù)DC指令
?
用途ADC指令常用在多字節(jié)數(shù)相加的場合,利用CF把低字節(jié)的進位加到高字節(jié)中去。加法指令A(yù)DC指令
?例子例:用指令實現(xiàn)以下兩個32位數(shù)的相加運算:
107C932AH+55667788H解:
MOVAX,932AHMOVBX,107CHADDAX,7788HADCBX,5566H加法指令I(lǐng)NC指令
?
基本格式和功能指令格式:
INC
dest執(zhí)行的操作:
(dest)←(dest)+1尋址方式:
INCmem/reg加法指令I(lǐng)NC指令
?
基本格式和功能目的操作數(shù)dest可以是8位或16位通用寄存器或存儲單元,但不能為立即數(shù)。指令執(zhí)行時把操作數(shù)看成是無符號數(shù),加1后設(shè)置PF,AF,ZF,SF和OF,但特別要注意,INC指令不影響CF。加法指令I(lǐng)NC指令
?
基本格式和功能例1:AL=05H,則INCAL后,AL=06H例2:AX=0FFFFH,則INCAX后,AX=?答案:AX=0000H減法指令共5條:
SUB減法
SBB帶借位減
CMP比較
DEC減1指令
NEG求補指令
減法指令SUB,SBB和CMP指令
?
基本格式和功能指令格式:
SUB/SBB/CMPDST,SRC執(zhí)行的操作:
SUB:(DST)←(DST)-(SRC)SBB:(DST)←(DST)-(SRC)-CF
CMP:(DST)-(SRC)
不保存結(jié)果,但影響各標志位
減法指令SUB,SBB和CMP指令
?
基本格式和功能尋址方式:
SUB(SBB,CMP)mem/reg,mem/regSUB(SBB,CMP)mem/reg,data說明:d和s不能同為存儲器操作數(shù)d不能為立即數(shù)。減法指令SUB,SBB和CMP指令
?
一些說明這三條指令均可進行字節(jié)或字的減法運算;均影響所有6個狀態(tài)標志位;SBB指令主要用于大于16位的減法,利用CF把低位部分產(chǎn)生的借位引入高位部分的減法中。減法指令SUB與SBB指令
?
例子例:寫指令,完成32位減法:
12345678H-0123ABCDH參考答案:
movax,5678H
mov
bx,1234Hsubax,0ABCDH
sbb
bx,0123H減法指令CMP指令
?
一些說明CMP指令執(zhí)行后,d與s均保持不變;CMP指令常用于判斷2個數(shù)的大小;進行大小比較時,無符號數(shù)與有符號數(shù)有不同的判斷依據(jù):無符號數(shù)有符號數(shù)ZF=1d=sOFSF=0dsZF=0CF=0d>sCF=1d<sOFSF=1d<s減法指令DEC指令
?
基本格式和功能指令格式:
DECd執(zhí)行的操作:
(d)←(d)-1影響標志位:
與INC指令一樣,不影響CF標志,但影響其它5個狀態(tài)標志。減法指令NEG指令
?
基本格式和功能指令格式:
NEGd功能:
(d)0-(d)減法指令NEG指令
?
說明說明:d可以是8位或16位寄存器或存儲器操作數(shù);不能是立即數(shù)或段寄存器。NEG指令影響6個狀態(tài)標志位,指令執(zhí)行后,CF被置1,SF、ZF、OF、PF、AF根據(jù)NEG的結(jié)果取值。減法指令NEG指令
?例子例:設(shè)AL=00000100=+4,則執(zhí)行指令
NEGAL
后,AL=11111100=[-4]補乘法指令共兩條指令
MUL無符號數(shù)乘法
IMUL有符號數(shù)乘法乘法指令MUL指令
?
基本格式和功能指令格式:
MUL
s功能:字節(jié)乘法:(AX)(AL)*(s)字乘法:(DX:AX)(AX)*(s)
乘法指令MUL指令
?說明說明:此指令為無符號數(shù)乘法指令,不能用于有符號數(shù)相乘,否則結(jié)果可能錯誤。影響標志位情況:若運算結(jié)果的高位字節(jié)或高位字有效,即AH0或DX0,則將CF和OF同時置1,其他位任意。S可為8/16位通用寄存器或存儲器操作數(shù),不允許為立即數(shù)。乘法指令MUL指令
?
例子例1:計算兩個無符號數(shù)12H×56H,請寫出指令序列。解:
MOVAL,12HMOVBL,56HMULBL乘法指令MUL指令
?
例子例2:計算兩個無符號數(shù)1234H×5678H,請寫出指令序列。解:
MOVAX,1234HMOVBX,5678HMULBX乘法指令I(lǐng)MUL指令
?
基本格式和功能指令格式:
IMUL
s功能&說明:具體功能與MUL指令類似;但此指令為有符號數(shù)相乘指令,它完成兩個帶符號的8/16位二進制數(shù)乘的功能。尋址方式要求、標志位影響均與MUL指令相同。乘法指令I(lǐng)MUL指令
?
例子例:計算兩個有符號數(shù)0F2H×56H,請寫出指令序列。解:
MOVAL,0F2HMOVBL,56HIMULBL注意:程序運行后AX中的內(nèi)容不是514CH,也不是04B4H,而是0FB4CH除法指令共4條相關(guān)指令DIV無符號數(shù)除法IDIV有符號數(shù)除法CBW符號擴展,字節(jié)擴展為字CWD符號擴展,字擴展為雙字除法指令DIV和IDIV指令
?
基本格式和功能指令格式:
DIVS
IDIVS執(zhí)行的操作:字節(jié)字(AL)(AX)/(S)的商(AH)(AX)/(S)的余數(shù)(AX)(DX:AX)/(S)的商(DX)(DX:AX)/(S)的余數(shù)除法指令DIV和IDIV指令
?
說明與標志位的關(guān)系:除法指令對標志位的影響不確定,而且這些影響沒有意義。尋址方式:
DIVmem/regIDIVmem/reg
S可以是8/16位的通用寄存器或存儲器操作數(shù),但不能為立即數(shù)或段寄存器。除法指令DIV和IDIV指令
?
說明DIV用于無符號數(shù)除法,IDIV用于有符號數(shù)除法。除法是字還是字節(jié)除法,由S的寬度決定。若除法運算所得的商數(shù)超出累加器的容量,則系統(tǒng)將其當作除數(shù)為0處理,自動產(chǎn)生類型0中斷,CPU轉(zhuǎn)去執(zhí)行類型0中斷服務(wù)程序作適當處理,此時所得商數(shù)和余數(shù)均無效。除法指令DIV和
IDIV指令
?
例子例:進行無符號數(shù)除法:20017,寫出指令。解:
MOVAX,00C8HMOVBL,11HDIVBL除法指令DIV和IDIV指令
?
例子例:進行有符號數(shù)除法:(-3200)(+269),寫出指令。解:
MOVAX,0C80HNEGAX;MOVAX,F(xiàn)380H也可以
MOVDX,0FFFFH;用CWD指令更準確
MOVBX,010DHIDIVBX除法指令?符號擴展指令CBW和CWD指令
?
基本格式和功能格式:
CBW
CWD功能:CBW:將AL中的符號位擴展到AHCWD:將AX中的符號位擴展到DX除法指令?符號擴展指令CBW和CWD指令
?
說明除法指令的被除數(shù)的數(shù)據(jù)寬度應(yīng)該是除數(shù)的2倍。當被除數(shù)寬度不夠時,必須進行擴展,例如:要用存放在AX中的數(shù)65535除以存放BX中的數(shù)256,需要把AX中的被除數(shù)擴展為32位,為此,只要(DX)←0即可。但有符號數(shù)除法,情況更復(fù)雜一些,擴展時必須考慮符號。有符號數(shù)的最高位是符號位,擴展時,只需用其填充擴展累加器的高位即可。十進制調(diào)整指令共六條:AAA分離BCD碼的加法十進制調(diào)整DAA組合BCD碼的加法十進制調(diào)整AAS分離BCD碼的減法十進制調(diào)整DAS組合BCD碼的減法十進制調(diào)整AAM乘法的十進制調(diào)整(分離BCD碼)AAD除法的十進制調(diào)整(分離BCD碼)十進制調(diào)整指令DAA指令
?
基本格式和功能格式:
DAA功能:進行組合BCD碼加法調(diào)整。十進制調(diào)整指令DAA指令
?
說明DAA指令對AL中的組合型BCD碼(1個字節(jié)2個碼)進行調(diào)整(僅對AL進行調(diào)整)當AL中的運算結(jié)果出現(xiàn)非法碼或產(chǎn)生半進位或進位時,DAA自動加6修正。DAA必須緊跟在ADD或ADC指令之后使用。DAA指令影響SF、ZF、AF、PF、CF,而OF的值任意。十進制調(diào)整指令DAA指令
?
例子例:設(shè)AX=6698H,BX=2877H,它們均為組合型BCD碼。請寫出能正確實現(xiàn)AX+BX的指令序列。(運算結(jié)果放回AX中。)解:
ADDAL,BL;低字節(jié)相加
DAA;低字節(jié)調(diào)整
MOVCL,ALMOVAL,AHADCAL,BH;高字節(jié)相加
DAA;高字節(jié)調(diào)整
MOVAH,ALMOVAL,CL十進制調(diào)整指令DAS指令
?
基本格式和功能格式:
DAS功能:進行組合BCD碼減法調(diào)整。除了是對減法進行修正外,其余均與DAA指令類似。
十進制調(diào)整指令A(yù)AA和AAS指令
?
基本格式和功能格式:
AAAAAS功能:對AL中的分離BCD碼加法/減法運算的結(jié)果進行二——十進制修正。十進制調(diào)整指令A(yù)AA和AAS指令
?
說明AAA和AAS指令負責(zé)把AL中的結(jié)果調(diào)整為正確的分離型BCD碼,
AL中高四位清零,調(diào)整后結(jié)果仍保留在AL中;低四位如果向高四位有進/借位(AF=1),則傳遞到AH中。十進制調(diào)整指令A(yù)AM指令
?
基本格式和功能格式:
AAM功能:對AL中的乘
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- JJF 2239-2025火花試驗機校準規(guī)范
- 黃岡市 2025年春季九年級調(diào)研考試物理試題
- 建筑工程擴某勞務(wù)分包合同(知識研究版本)
- 山東省棗莊市薛城區(qū)2024-2025學(xué)年四下數(shù)學(xué)期末考試試題含解析
- 江西省南昌市新建縣第一中學(xué)2025屆高三高考仿真模擬卷語文試題含解析
- 天津商業(yè)大學(xué)寶德學(xué)院《納米材料基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 河南檢察職業(yè)學(xué)院《界面與交互設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 新疆鐵道職業(yè)技術(shù)學(xué)院《教育觀察反思》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西制造職業(yè)技術(shù)學(xué)院《園藝植物生物技術(shù)B》2023-2024學(xué)年第二學(xué)期期末試卷
- 寧夏工商職業(yè)技術(shù)學(xué)院《中學(xué)音樂教學(xué)法(一)》2023-2024學(xué)年第一學(xué)期期末試卷
- 小學(xué)語文課外補充古詩詞
- 歷史五四運動課本劇《破曉》【3篇】
- 中藥湯劑課件完整版
- 新視野大學(xué)英語第三版讀寫教程第一冊unit1教學(xué)課件
- 如何做好我國新藥研發(fā)的市場篩選
- 房地產(chǎn)案例:商業(yè)街-鐵像寺水街
- 義務(wù)教育地理課程標準(2022年版)
- 于承惠雙手劍表格+文字行功歌訣
- 八年級物理下學(xué)期期中考試卷
- 火電廠鍋爐燃燒器結(jié)構(gòu)圖
- 全過程工程咨詢服務(wù)大綱
評論
0/150
提交評論