基本介紹
- 中文名:字元串傳送指令
- 外文名:MOVSB
- 別名:Move String Byte
- 指令功能:DS:SI為地址的一個位元組移到ES:DI
簡介,使用方法,
簡介
MOVSB(MOVe String Byte)
使用方法
MOVSB 的英文是 move string byte,意思是搬移一個位元組,它是把 DS:SI 所指地址的一個位元組搬移到 ES:DI 所指的地址上,搬移後原來的內容不變,但是原來 ES:DI 所指的內容會被覆蓋而且在搬移之後 SI 和 DI 會自動地指向下一個要搬移的地址。 一般而言,通常程式設計師一般並不會只搬一個位元組,通常都會重複許多次,如果要重複的話,就得把重複次數 ( 也就是字串長度 ) 先記錄在 CX 暫存器,並且在 MOVSB 之前加上 REP 指令,REP 是重複 (repeat) 的意思。這種寫法很是奇怪,一般而言彙編語言源檔案的每一行都只有一個指令,但 REP MOVSB 卻可以在同一行寫兩個指令,當然分開寫也是一樣的。通過標誌位DF控制移動的方向,CLD(CLear Direction flag)則是清方向標誌位,也就是使DF的值為0,在執行串操作時,使地址按遞增的方式變化,這樣便於調整相關段的的當前指針。這條指令與STD(SeT Direction flag)的執行結果相反,即置DF的值為1。
例如:
MOV CX ,100
LEA SI,FIRST
LEA DI,SECOND
REP MOVSB
以上程式段的功能是從緩衝區FIRST傳送100個位元組到SECOND緩衝區.