MOVSB

MOVSB即字元串傳送指令,這條指令按位元組傳送數據。通過SI和DI這兩個暫存器控制字元串的源地址和目標地址,比如DS:SI這段地址的N個位元組複製到ES:DI指向的地址,複製後DS:SI的內容保持不變。

基本介紹

  • 中文名:字元串傳送指令
  • 外文名: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緩衝區.

相關詞條

熱門詞條

聯絡我們