




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
將數(shù)據(jù)段source指示的100個(gè)字節(jié)數(shù)傳送到附加段destination指示的主存區(qū) movsi,offsetsource movdi,offsetdestination movcx,100 again: moval,[si]mov[di],alincsiincdi deccx jnzagain ;判斷傳送次數(shù)cx是否為0 ;不為0,那么到again位置執(zhí)行指令 ;否那么,結(jié)束第8講串操作類指令串操作指令是8086指令系統(tǒng)中比較獨(dú)特的一類指令,采用比較特殊的數(shù)據(jù)串尋址方式,常用在操作主存連續(xù)區(qū)域的數(shù)據(jù)時(shí)主要熟悉: MOVSSTOSLODS CMPSSCASREP一般了解: REPZ/REPEREPNZ/REPNE串?dāng)?shù)據(jù)類型串操作指令的操作數(shù)是主存中連續(xù)存放的數(shù)據(jù)串〔String〕——即在連續(xù)的主存區(qū)域中,字節(jié)或字的序列串操作指令的操作對(duì)象是以字〔W〕為單位的字串,或是以字節(jié)〔B〕為單位的字節(jié)串串尋址方式源操作數(shù)用存放器SI尋址,默認(rèn)在數(shù)據(jù)段DS中,但允許段超越:DS:[SI]目的操作數(shù)用存放器DI尋址,默認(rèn)在附加段ES中,不允許段超越:ES:[DI]每執(zhí)行一次串操作指令,SI和DI將自動(dòng)修改:±1〔對(duì)于字節(jié)串〕或±2〔對(duì)于字串〕執(zhí)行指令CLD后,DF=0,地址指針增1或2執(zhí)行指令STD后,DF=1,地址指針減1或2串傳送MOVS〔movestring〕把字節(jié)或字操作數(shù)從主存的源地址傳送至目的地址MOVSB
;字節(jié)串傳送:ES:[DI]←DS:[SI]
;SI←SI±1,DI←DI±1MOVSW
;字串傳送:ES:[DI]←DS:[SI]
;SI←SI±2,DI←DI±2將數(shù)據(jù)段source指示的100個(gè)字節(jié)數(shù)傳送到附加段destination指示的主存區(qū) movsi,offsetsource movdi,offsetdestination movcx,100 ;cx←傳送次數(shù) cld ;置DF=0,地址增加again: movsb ;傳送一個(gè)字節(jié) deccx ;傳送次數(shù)減1 jnzagain ;判斷傳送次數(shù)cx是否為0 ;不為0,那么到again位置執(zhí)行指令 ;否那么,結(jié)束例2.52:字串傳送 movsi,offsetsource movdi,offsetdestination movcx,50 ;cx←傳送次數(shù) cld ;置DF=0,地址增加again: movsw ;傳送一個(gè)字 deccx ;傳送次數(shù)減1 jnzagain ;判斷傳送次數(shù)cx是否為0 ;不為0,那么到again位置執(zhí)行指令 ;否那么,結(jié)束串存儲(chǔ)STOS〔storestring〕把AL或AX數(shù)據(jù)傳送至目的地址STOSB
;字節(jié)串存儲(chǔ):ES:[DI]←AL
;DI←DI±1STOSW
;字串存儲(chǔ):ES:[DI]←AX
;DI←DI±2將附加段64KB主存區(qū)全部設(shè)置為0 movax,0 movdi,0 movcx,8000h ;cx←傳送次數(shù)〔32×1024〕 cld ;DF=0,地址增加again: stosw ;傳送一個(gè)字 deccx ;傳送次數(shù)減1 jnzagain ;傳送次數(shù)cx是否為0
可將CLD改為STD嗎?如何改用STOSB?串讀取LODS〔loadstring〕把指定主存單元的數(shù)據(jù)傳送給AL或AXLODSB
;字節(jié)串讀?。篈L←DS:[SI]
;SI←SI±1LODSW
;字串讀取:AX←DS:[SI]
;SI←SI±2MOVS、STOS、LODS均不影響標(biāo)志位例如數(shù)據(jù)段DS中有一個(gè)數(shù)據(jù)塊,具有count字節(jié),起始地址為block,現(xiàn)在要把其中的正數(shù)、負(fù)數(shù)分開,分別存入同一個(gè)段的兩個(gè)緩沖區(qū),存放正數(shù)的起始地址為dplus,存放負(fù)數(shù)的起始地址為dminus.
movsi,offsetblock movdi,offsetdplus movbx,offsetdminus
movax,ds moves,ax
movcx,count
cldlodsb
testal,80h
jnzminus
stosb
jmpagain xchgbx,di
stosb
xchgbx,di deccx
jnzgo_on
go_on:minus:again:串比較CMPS〔comparestring〕將主存中的源操作數(shù)減去至目的操作數(shù),以便設(shè)置標(biāo)志,進(jìn)而比較兩操作數(shù)之間的關(guān)系CMPSB ;字節(jié)串比較:DS:[SI]-ES:[DI] ;SI←SI±1,DI←DI±1CMPSW ;字串比較:DS:[SI]-ES:[DI] ;SI←SI±2,DI←DI±2例2.55:比較數(shù)據(jù)段中string1字符串和附加段中string2字符串是否相同,相同的將字節(jié)變量result置為ffH,不同的話置為0. movsi,offsetstring1 movdi,offsetstring2 movcx,count cld cmpsb ;比較兩個(gè)字符 jnzunmat ;有不同字符,轉(zhuǎn)移 deccx jnzagain ;進(jìn)行下一個(gè)字符比較 moval,0 ;字符串相等,設(shè)置00h jmpoutput ;轉(zhuǎn)向outputunmat: moval,0ffh ;設(shè)置ffhoutput: movresult,al ;輸出結(jié)果標(biāo)記again:串掃描SCAS〔scanstring〕將AL/AX減去至目的操作數(shù),以便設(shè)置標(biāo)志,進(jìn)而比較AL/AX與操作數(shù)之間的關(guān)系SCASB
;字節(jié)串掃描:AL-ES:[DI]
;DI←DI±1SCASW
;字串掃描:AX-ES:[DI]
;DI←DI±2例2.56:在字符串中查找“空格〞 movdi,offsetstring moval,20h movcx,count cldagain: scasb ;搜索 jzfound ;為0〔ZF=1〕,發(fā)現(xiàn)空格 deccx ;不是空格 jnzagain ;搜索下一個(gè)字符 ... ;不含空格,那么繼續(xù)執(zhí)行found: ...重復(fù)前綴指令〔repeat〕串操作指令執(zhí)行一次,僅對(duì)數(shù)據(jù)串中的一個(gè)字節(jié)或字量進(jìn)行操作。但是串操作指令前,都可以加一個(gè)重復(fù)前綴,實(shí)現(xiàn)串操作的重復(fù)執(zhí)行。重復(fù)次數(shù)隱含在CX存放器中重復(fù)前綴分2類,3條指令:配合不影響標(biāo)志的MOVS、STOS〔和LODS〕指令的REP前綴配合影響標(biāo)志的CMPS和SCAS指令的REPZ和REPNZ前綴REP重復(fù)前綴指令REP前綴可以理解為:當(dāng)數(shù)據(jù)串沒有結(jié)束〔CX≠0〕,那么繼續(xù)傳送例2.52和例2.53中,程序段的最后3條指令,可以分別替換為: REPMOVSB和REPSTOSWREP
;每執(zhí)行一次串指令,CX減1
;直到CX=0,重復(fù)執(zhí)行結(jié)束重復(fù)串傳送〔例2.52〕
movsi,offsetsource movdi,offsetdestination
movcx,100
;cx←傳送次數(shù)
cld
repmovsbagain: movsb ;傳送一個(gè)字節(jié) deccx ;傳送次數(shù)減1 jnzagain ;判斷傳送次數(shù)cx是否為0 ;不為0〔ZF=0〕,那么轉(zhuǎn)移again位置執(zhí)行 ;否那么,結(jié)束將數(shù)據(jù)段source指示的100個(gè)字節(jié)數(shù)傳送到附加段destination指示的主存區(qū)重復(fù)串存儲(chǔ)〔例2.53〕movax,0movdi,0movcx,8000hcldrepstoswagain: stosw
;傳送一個(gè)字
deccx
;傳送次數(shù)減1
jnzagain
;判斷傳送次數(shù)cx是否為0將附加段64KB主存區(qū)全部設(shè)置為0REPZ重復(fù)前綴指令REPZ/REPE前綴可以理解為:當(dāng)數(shù)據(jù)串沒有結(jié)束〔CX≠0〕,并且串相等〔ZF=1〕,那么繼續(xù)比較REPZ
;每執(zhí)行一次串指令,CX減1
;并判斷ZF是否為0, ;只要CX=0或ZF=0,重復(fù)執(zhí)行結(jié)束REPNZ重復(fù)前綴指令REPNZ/REPNE前綴可以理解為:當(dāng)數(shù)據(jù)串沒有結(jié)束〔CX≠0〕,并且串不相等〔ZF=0〕,那么繼續(xù)比較REPNZ
;每執(zhí)行一次串指令,CX減1
;并判斷ZF是否為1, ;只要CX=0或ZF=1,重復(fù)執(zhí)行結(jié)束例2.57:比較字符串是否相等 movsi,offsetstring1 movdi,offsetstring2 movcx,count cld cmpsb ;比較兩個(gè)字符 jnzunmat ;有不同字符,轉(zhuǎn)移 deccx jnzagain ;進(jìn)行下一個(gè)字符比較 moval,0 ;字符串相等,設(shè)置00h jmpoutput ;轉(zhuǎn)向outputunmat: moval,0ffh ;設(shè)置ffhoutput: movresult,al ;輸出結(jié)果標(biāo)記解釋again:repzcmpsb
重復(fù)比較的解釋指令repzcmpsb結(jié)束重復(fù)執(zhí)行的情況①ZF=0,即出現(xiàn)不相等的字符②CX=0,即比較完所有字符:這種情況下,如果ZF=0,說明最后一個(gè)字符不等;而ZF=1表示所有字符比較后都相等,也就是兩個(gè)字符串相同所以,重復(fù)比較結(jié)束后
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省無錫市陰山中學(xué)2024-2025學(xué)年初三考前適應(yīng)性訓(xùn)練考試(三)物理試題試卷含解析
- 鄭州科技學(xué)院《鍋爐原理》2023-2024學(xué)年第二學(xué)期期末試卷
- 新疆輕工職業(yè)技術(shù)學(xué)院《新聞采編實(shí)務(wù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 新疆維吾爾自治區(qū)輪臺(tái)縣第二中學(xué)2025年初三3月測(cè)試(線上)語文試題含解析
- 柳州城市職業(yè)學(xué)院《歌曲寫作與分析》2023-2024學(xué)年第二學(xué)期期末試卷
- 寧夏職業(yè)技術(shù)學(xué)院《統(tǒng)計(jì)建模與數(shù)據(jù)分析》2023-2024學(xué)年第一學(xué)期期末試卷
- 中學(xué)2025屆高三第二學(xué)期第一次四校聯(lián)考生物試題含解析
- 長(zhǎng)治市潞城市2024-2025學(xué)年數(shù)學(xué)五年級(jí)第二學(xué)期期末統(tǒng)考試題含答案
- 湖南省長(zhǎng)沙市XX中學(xué)2025年初三下學(xué)期第三次模擬考試(期中)英語試題含答案
- 護(hù)理員消毒隔離知識(shí)培訓(xùn)
- (三診)綿陽市高中2022級(jí)高三第三次診斷性考試 歷史試卷A卷(含答案)
- 山東省高中名校2025屆高三4月校際聯(lián)合檢測(cè)大聯(lián)考生物試題及答案
- 2025年中鐵快運(yùn)股份有限公司招聘(98人)筆試參考題庫(kù)附帶答案詳解
- 2025年武漢數(shù)學(xué)四調(diào)試題及答案
- 職業(yè)病防護(hù)設(shè)施與個(gè)體防護(hù)用品的使用和維護(hù)
- 綠化養(yǎng)護(hù)服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- 2024年鄭州信息科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)學(xué)生專用
- 中國(guó)紡織文化智慧樹知到期末考試答案2024年
- TB-T 3356-2021鐵路隧道錨桿-PDF解密
- (正式版)HGT 6313-2024 化工園區(qū)智慧化評(píng)價(jià)導(dǎo)則
- 偶像之路表格
評(píng)論
0/150
提交評(píng)論