




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
處理機(jī)控制指令1)標(biāo)志處理指令▲設(shè)置和清除標(biāo)志的指令,只影響指令指定的標(biāo)志22)處理機(jī)控制指令①暫停指令HLT格式HLT執(zhí)行使CPU處于暫停狀態(tài)用于等待外部中斷,中斷處理結(jié)束后,繼續(xù)執(zhí)行HLT后的下一條指令例、、、、、、STI;允許外部中斷HLT;等待中斷MOVAX,0、、、、、、3②空操作指令NOP格式NOP指令不執(zhí)行任何操作例:(也可用NOP指令進(jìn)行短延時(教材中的一些例子用到)其機(jī)器碼占一個字節(jié)單元,在調(diào)試程序時,修改程序用。47.串處理指令
串的基本概念順序存放在內(nèi)存中的一組數(shù)據(jù),稱為串。用串的首(末)地址、元素類型、串的長度表示。5
串操作種類①串傳送將串從內(nèi)存某一區(qū)域傳送到另一區(qū)域。②從串取從串中取出某一元素。③存入串將某個數(shù)據(jù)存入串中。④串比較對兩個串進(jìn)行比較。⑤搜索串在串中搜索(查找)某數(shù)據(jù)(關(guān)鍵字)6
串處理指令格式重復(fù)控制前綴串指令控制重復(fù)次數(shù)基本操作
MOVSB、MOVSW
串傳送REPLODSB、LODSW
從串取REPZSTOSB、STOSW
存入串REPNZCMPSB、CMPSW
串比較
SCASB、SCASW
搜索串例
REPMOVSBREPZCMPSBREPNZSCASW7①串指令串傳送MOVS
從串取LODS
存入串STOS
串比較CMPS
搜索串SCAS
8串指令的特點(diǎn)①指令給出串操作的種類、類型,而操作數(shù)隱含給出。如MOVSB;字節(jié)
MOVSW;字②源串由DS:SI指向的單元目的串由ES:DI指向的單元③指令執(zhí)行后,指針據(jù)DF標(biāo)志、操作類型自動修改字節(jié)操作1;字操作2DF=0用+;DF=1用-9④對只有一個存儲器操作數(shù)的串指令如LODS(從串取)STOS(存入串)SCAS(搜索串)另一個操作數(shù)在AL(字節(jié)操作)或AX(字操作)⑤CMPS(串比較)、SCAS(串搜索)影響標(biāo)志,MOVS(串傳送)、LODS(從串取)、STOS(存入串)不影響標(biāo)志。10
串傳送◢◢格式MOVSB
字節(jié)傳送
MOVSW
字傳送◢◢
MOVSB執(zhí)行操作
(ES:DI)←(DS:SI)
字節(jié)傳送
(SI)←(SI)1
修改源串指針
(DI)←(DI)1修改目的串指針其中:DF=0,用+DF=1,用-◢◢
MOVSW執(zhí)行操作
(ES:DI)←(DS:SI)
字傳送
(SI)←(SI)2修改源串指針
(DI)←(DI)2修改目的串指針11從串取◢◢格式LODSB 取字節(jié)
LODSW取字◢◢LODSB執(zhí)行操作
(AL)←(DS:SI)
從源串取入AL
(SI)←(SI)1修改源串指針◢◢
LODSW執(zhí)行操作
(AX)←(DS:SI)
從源串取入AX
(SI)←(SI)2
修改源串指針12存入串◢◢格式STOSB存入字節(jié)
STOSW存入字◢◢
STOSB執(zhí)行操作
(ES:DI)←(AL)
將AL存入目的串
(DI)←(DI)1修改目的串指針◢◢STOSW執(zhí)行操作
(ES:DI)←(AX)
將AX存入目的串
(DI)←(DI)2
修改目的串指針13串比較◢◢格式CMPSB
字節(jié)比較
CMPSW
字比較◢◢
CMPSB執(zhí)行操作
(DS:SI)-(ES:DI)
字節(jié)比較
(SI)←(SI)1修改源串指針
(DI)←(DI)1修改目的串指針◢◢
CMPSW執(zhí)行操作
(DS:SI)-(ES:DI)
字比較
(SI)←(SI)2修改源串指針
(DI)←(DI)2修改目的串指針注意:1.源串-目的串
2.兩數(shù)相減,只影響標(biāo)志,不影響操作數(shù)14搜索串◢◢格式SCASB
取字節(jié)
SCASW
取字◢◢
SCASB執(zhí)行操作
(AL)-(ES:DI)
從目的串搜索字節(jié)
(DI)←(DI)1修改目的串指針◢◢
SCASW執(zhí)行操作
(AX)-(ES:DI)
從目的串搜索字節(jié)
(DI)←(DI)2修改目的串指針兩數(shù)相減,只影響標(biāo)志,不影響操作數(shù)。15②重復(fù)控制前綴重復(fù)前綴REP當(dāng)相等重復(fù)前綴REPZ/REPE當(dāng)不相等重復(fù)前綴REPNZ/REPNE16重復(fù)前綴REP執(zhí)行過程:(1)當(dāng)(CX)=0
,結(jié)束REP,執(zhí)行REP下一條指令。(2)當(dāng)(CX)≠0,將CX的內(nèi)容減1,執(zhí)行REP后的串指令,返回(1)。例
LEADI,destinationLEASI,sourceMOVCX,20
REPMOVSBMOVAX,0
只在(CX)=0時退出循環(huán)17當(dāng)相等重復(fù)前綴REPZ執(zhí)行過程:(1)
當(dāng)(CX)=0,結(jié)束REPZ,執(zhí)行REPZ下一條指令;(2)
當(dāng)(CX)≠0,將CX的內(nèi)容減1,執(zhí)行REPZ后的串指令;(3)
當(dāng)ZF=1,返回(1);(4)
當(dāng)ZF≠1,則結(jié)束REPZ,
執(zhí)行REPZ下一條指令。
(CX)減1操作不影響標(biāo)志
ZF標(biāo)志由串操作決定18當(dāng)不相等重復(fù)前綴REPNZ執(zhí)行過程:(1)
當(dāng)(CX)=0,結(jié)束REPNZ,執(zhí)行REPNZ下一條指令。(2)當(dāng)(CX)≠0,將CX的內(nèi)容減1,執(zhí)行REPNZ后的串指令。(3)
當(dāng)ZF=0,返回(1);(4)
當(dāng)ZF≠0,則結(jié)束REPNZ,
執(zhí)行REPNZ下一條指令。19例1用REPMOVS進(jìn)行數(shù)據(jù)塊傳送。編程:①設(shè)置傳送方向用CLD使DF=0,地址增加方向(正向)用STD使DF=1,地址減小方向(反向)②設(shè)置源串地址將源串首地址(DF=0),或末地址(DF=1)放入DS、SI中。③設(shè)置目的串地址將目的串首地址(DF=0),或末地址(DF=1)放入ES、DI中。④設(shè)置串長度將串的長度(傳送次數(shù))放入CX中。⑤字節(jié)傳送用REPMOVSB字傳送用REPMOVSW20例1
編程將存放在str1中的4字節(jié)字符串傳送到str2定義的緩沖區(qū)中。‘D’‘C’‘B’‘A’str1str221data1SEGMENTstr1DB‘ABCD’;源串data1ENDSdata2SEGMENTstr2DB4DUP(?);緩沖區(qū)data2ENDScodeSEGMENT、、、、、、CLD;DF=0,正方向傳送MOVAX,data1;源串首地址的段值→DSMOVDS,AXLEASI,str1;源串首地址的偏值→SIMOVAX,data2;目的串首地址的段值→ESMOVES,AXLEADI,str2;目的串首地址的偏值→DIMOVCX,4;串長度CXREPMOVSB;串傳送、、、、、、codeENDS22data1SEGMENTstr1DB‘ABCD’data1ENDSdata2SEGMENTstr2DB4DUP(?)data2EMDScodeSEGMENT、、、、、、CLDMOVAX,data1MOVDS,AXLEASI,str1MOVAX,data2MOVES,AXLEADI,str2MOVCX,4REPMOVSB、、、、、、codeENDS假設(shè)程序經(jīng)匯編、連接后,裝入內(nèi)存的情況如下:23程序執(zhí)行結(jié)果:24例2比較string1和string2的兩串,長度為8字節(jié)25用REPZCMPS進(jìn)行串比較編程:①設(shè)置比較方向(STD或CLD)②設(shè)置源串、目的串地址將源串首地址(DF=0時),或末地址(DF=1時)放入DS、SI將目的串首地址(DF=0時),或末地址(DF=1時)放入ES、DI③設(shè)置串長度將串的長度放入CX中④按字節(jié)比較用REPZCMPSB按字比較用REPZCMPSW26執(zhí)行完REPZCMPS后,根據(jù)ZF判斷兩串比較結(jié)果。若ZF=1,兩串相等,此時:
CX=0,表明串中所有元素已比較完畢
SI、DI指向串尾的下一單元。若ZF=0,兩串不等,此時:
CX的值為剩下的未比較的元素個數(shù)。
SI、DI指向不相等元素的下一元素。27codeSEGMENT、、、、、、CLD;DF=0,正向比較MOVAX,SEGstring1;源串首地址→DS:SIMOVDS,AXLEASI,string1MOVAX,SEGstring2;目的串首地址→ES:DIMOVES,AXLEADI,string2MOVCX,8;串長度→CXREPZCMPSB;串比較JZequal;利用ZF判斷比較結(jié)果不相等處理JMPexitequal:相等處理exit:、、、codeENDS28codeSEGMENT、、、、、、CLD;DF=0,正向比較MOVAX,SEGstring1;源串首地址→DS:SIMOVDS,AXLEASI,string1MOVAX,SEGstring2;目的串首地址→ES:DIMOVES,AXLEADI,string2MOVCX,8;串長度→CXREPZCMPSB
JZequal不相等處理JMPexitequal:相等處理exit:、、、codeENDSJNZnotequ相等處理JMPexitnotequ:不相等處理exit:、、、29執(zhí)行完REPZCMPSB后,此時:ZF=1,兩串相等CX=0,兩串所有元素已比較完SI、DI串尾的下一單元例30執(zhí)行完REPZCMPSB后,此時:ZF=0,兩串不等CX=3,剩下的未比較的元素個數(shù)SI、DI指向不相等元素的下一元素。例31例3用REPNZSCAS在串中找關(guān)鍵字。編程步驟:①設(shè)置查找方向②設(shè)置串地址將串的首地址(DF=0時),或末地址(DF=1時)放入ES、DI中。③設(shè)置關(guān)鍵字將關(guān)鍵字放入AL(關(guān)鍵字為字節(jié))或
放入AX(關(guān)鍵字為字)。④設(shè)置串長度將串的長度放入CX中。⑤查找字節(jié)用REPNZSCASB查找字用REPNZSCASW32執(zhí)行完REPNZSCAS后,根據(jù)ZF判斷查找結(jié)果。若ZF=1,則串中有關(guān)鍵字,此時:
CX的值為剩下的未搜索的元素個數(shù),
DI指向關(guān)鍵字元素的下一元素,
而關(guān)鍵字在(DI)-1的位置若ZF=0,則串中無關(guān)鍵字,此時:
CX=0,表明串中所有元素以搜索完畢
DI指向串尾的下一單元。33例、、、
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/TR 23975:2025 EN Traditional Chinese medicine - Priority list of single herbal medicines for developing standards
- 2025年度店鋪轉(zhuǎn)租雙方責(zé)任劃分合同
- 2025年度房地產(chǎn)項目風(fēng)險評估合同模板
- 2025年度財務(wù)合同簽訂與履行管理合同
- 2025年度鑄件研發(fā)與生產(chǎn)承包協(xié)議
- 2025年度員工敬業(yè)度提升與企業(yè)文化融合合同
- 藝術(shù)創(chuàng)作活動的組織與管理計劃
- 現(xiàn)代青年財務(wù)觀念調(diào)查計劃
- 財務(wù)內(nèi)控體系的構(gòu)建與完善計劃
- 小學(xué)美術(shù)教育工作規(guī)劃計劃
- 51個行業(yè)領(lǐng)域重大事故隱患判定標(biāo)準(zhǔn)和重點(diǎn)檢查事項匯編
- 塑料 聚氨酯生產(chǎn)用聚醚多元醇 堿性物質(zhì)含量的測定
- 2024年高二化學(xué)教案 選擇性必修2(配人教版)第1課時原子結(jié)構(gòu)與性質(zhì)
- 2024-2030年中國空氣閥行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 胸腔鏡下交感神經(jīng)切斷術(shù)手術(shù)配合
- 英文版中國故事繪本哪吒鬧海
- (正式版)JTT 1496-2024 公路隧道施工門禁系統(tǒng)技術(shù)要求
- 人工智能(人工智能大數(shù)據(jù)技術(shù)相關(guān)專業(yè))全套教學(xué)課件
- 小學(xué)數(shù)學(xué)主題活動設(shè)計一年級《歡樂購物街》
- 一年級口算天天練1(打印版)
- 2024年浙江省溫州市中考一模語文試題
評論
0/150
提交評論