瀏覽單個文章
slamcar
Advance Member
 

加入日期: Mar 2002
文章: 304
用google就找到了~~不過這個沒學過,但是看起來蠻重要的樣子也~

字串搬移指令:MOVS/MOVSB/MOVSW/MOVSD
� MOVS (move string data)指令:記憶體之間資料的搬移(複製)。
*語法:MOVS 目的字串(記憶體),來源字串(記憶體)
*說明:MOVS、MOVSB、MOVSW、MOVSD都是字串搬移(複製)指令,會將來源字串搬移(複製)至目的字串中,來源字串與目的字串都是記憶體變數,且兩者長度必須相同。其中來源字串由DS:SI指定起始位址,目的字串由ES:DI指定起始位址,搬移的方向由旗標DF決定。
MOVS每次搬移的資料長度是8位元、16位元或32位元,視字串的定義而有不同,由SI所指位址內傳送字串至Dl所指位址內。一般而言,我們都使用MOVSB、MOVSW、MOVSW來取代MOVS,因為其可讀性高。

重覆前置指令:REP/REPE/REPZ/REPNE/REPNZ
� REP (repeat prefix)指令:重複執行隨後的字串指令,直到CX=0時,停止執行。
*語法:REP 字串指令
*說明:單獨一個字串處理指令,只能處理一筆字串資料(位元組、字元組或雙字組),如果要重複處理所有字串資料,則必須在字串處理指令前加上一個重複前置指令(repeat prefix),同時以CX暫存器指定重覆次數,重複前置指令重複條件如表9-1,其中REPE與REPZ功能相同,REPNE與REPNZ功能相同。依字串處理指令的不同,所加的重複前置指令也有不同,表9-2列出各字串處理指令所使用的重複前置指令。
一、REP: 重覆執行字串指令,每執行一次CX值自動減1,直到CX=0。
二、REPE:同REP一樣,直到ZF=0或CX=0則停止。(REPZ)
三、REPNE:同REP一樣,直到ZF=1或CX=0則停止 。
[註]由上可知在做字串處理時要先用CX來設定字串處理的長度。


字串處理指令01

字串處理指令02
舊 2004-06-24, 09:51 PM #5
回應時引用此文章
slamcar離線中