串操作類指令.ppt_第1頁
串操作類指令.ppt_第2頁
串操作類指令.ppt_第3頁
串操作類指令.ppt_第4頁
串操作類指令.ppt_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

3 3 4串操作類指令 1 串操作指令特點 用一條指令實現(xiàn)對一串數(shù)據(jù)的操作 源操作數(shù)和目標操作數(shù)都在存儲器中 共同點 源操作數(shù)由DS SI指定 目標操作數(shù)由ES DI指定 串長 CX自動修改地址指針 SI和DI 重復操作前綴無條件REP CX 0重復有條件REPE REPZ CX 0且ZF 1重復REPNE REPNZ CX 0且ZF 0重復加重復操作前綴后串操作執(zhí)行動作 1 執(zhí)行規(guī)定動作2 修改SI DI3 CX 14 根據(jù)ZF 決定是否重復執(zhí)行 1 串傳送指令 格式1 MOVSB操作 ES DI DS SI 字節(jié)傳送每執(zhí)行一次串傳送操作 SI 1 DI 1 DF 0時 1 DF 1時 1 格式2 MOVSW操作 ES DI DS SI 字傳送每執(zhí)行一次串傳送操作 SI 2 DI 2 DF 0時 2 DF 1時 2 1 串傳送指令 REPMOVSBREPMOVSW字符或數(shù)據(jù)的個數(shù)預先放在CX寄存器中 每執(zhí)行一次操作 CX自動減1 直到CX 0串操作自動停止 1 串傳送指令 1 串傳送指令 例如 將源串STAR中的100個字節(jié)數(shù)據(jù)傳送到目標串NEXT中 LEASI STARLEADI NEXTMOVCX 100CLDMOVSBMOVSB MOVSB LEASI STARLEADI NEXTMOVCX 100CLDREPMOVSB 例1 將2000H 1200H地址開始的100字節(jié)傳送到6000H 0000H開始的內(nèi)存單元去 MOVAX 2000HMOVDS AXMOXAX 6000HMOVES AXMOVSI 1200HMOVDI 0000HMOVCX 100CLDREPMOVSBHLT 格式1 CMPSB操作 ES DI DS SI 字節(jié)比較每執(zhí)行一次串比較操作 SI 1 DI 1 DF 0時 1 DF 1時 1 比較后影響標志ZF 2 串比較指令 格式2 CMPSW操作 ES DI DS SI 字比較每執(zhí)行一次串比較操作 SI 2 DI 2 DF 0時 2 DF 1時 2 REPZ REPNE CMPSB REPNZ REPE CMPSWREPE相等時繼續(xù)尋找 直到尋找到第一個不相等的字符或尋找完所有的字符 CX 0 REPNE不相等時繼續(xù)尋找 直到尋找到第一個相等的字符或尋找完所有的字符 CX 0 CX是否為零不影響ZF狀態(tài) 例2 比較兩個字符串是否相同 并找出其中第一個字符不相等的地址 將該地址送BX 不相等的字符送AL 兩個字符串的長度均為200個字節(jié) M1為源串首地址 M2為目標串地址 LEASI M1LEADI M2MOVCX 200CLDREPECMPSBJZSTOPDECSIMOVBX SIMOVAL SI STOP HLT 3 串裝入指令 格式 LODSBAL DS SI LODSWAX DS SI 功能 將位于DS段SI所指的存儲單元的內(nèi)容取到AL或AX中 用LODSB時 每次取一個字節(jié) 取完后 地址自動加1或減1 用LODSW時 每次取一個字 取完后 地址自動加2或減2 3 串裝入指令 該指令一般不用重復前綴 否則 AL或AX中的內(nèi)容會被后一次操作覆蓋 最后只能得到內(nèi)存中字符串的最后一個字節(jié)或字 AL LODSB 4 串存儲指令 格式 REP STOSB ES DI AL REP STOSW ES DI AX功能 把AL或AX中的數(shù)據(jù)存放到位于ES段DI所指的存儲單元中 并自動修改地址指針 例如 要對附加段中從MESS2開始的50個連續(xù)的內(nèi)存字節(jié)單元進行清0操作 可用下列程序段實現(xiàn) LEADI MESS2MOVAL 00HMOVCX 50REPSTOSB 把6000H 1200H單元開始的100個字存儲單元內(nèi)容清零 MOVAX 6000HMOVES AXMOVAX 1200HMOVDI AXMOVCX 100CLDMOVAX 0REPSTOSWHLT 5 串掃描指令 格式 REPZ REPNZ SCASB操作 AL ES DI 格式 REPE REPNE SCASW操作 AX ES DI 將AL或AX的數(shù)據(jù)與位于ES段DI指針所指的內(nèi)存單元的數(shù)據(jù)相比較 比較結果不改變目標操作數(shù) 只影響標志位 在ES段中從2000H單元開始存放了10個字符 尋找其中有無字符 A 若有則記下搜索次數(shù) 次數(shù)放在DATA1單元 并記下存放 A 的地址 地址放在DATA2單元 MOVDI 2000HMOVBX DIMOVCX

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論