movs指令


格式:可有三種
        MOVS DST,SRC
        MOVS(字節)
        MOVSW(字)

其中第二,三種格式明確地注明是傳送字節或字,第一種格式則應在操作數中表明是字還是字節操作,例如:
MOVS ES:BYTE PTR[DI],DS:[SI]
實際上MOVS的尋址方式是隱含的(這在下面所招待的操作中可以看到),所以這種格式中的DST及SRC只提供給匯編程序作類型檢查用,並且不允許用其他尋址方式來確定操作數。
執行的操作:
   1) ((DI))←((SI))
   2) 字節操作:
      (SI)←(SI)±1,(DI)←(DI)±1
      當方向標志DF=0時用+,當方向標志DF=1時用-。
   3) 字操作:
      (SI)←(SI)±2,(DI)←(DI)±2
      當方向標志DF=0時用+,當方向標志DF=1時用-。

該指令不影響條件碼。
MOVS指令可以把由(SI)指向的數據段中的一個字(或字節)傳送到由(DI)指向的附加段中的一個字(或字節)中去,同時根據方向標志及數據格式(字 或字節)對SI和DI進行修改。當該指令與前綴REP聯用時,則可將數據段中的整串數據傳送到附加段中去。這里源串必須在數據段中,目的串必須在附加段 中,但源串允許使用段跨越前綴來修改。在與REP聯用時還必須先把數據串的長度送到CX寄存器中,以便控制指令結束。因此在執行該指令前,應該先做好以下 准備工作:
   1) 把存放於數據段中的源串首地址(如反向傳送則應是末地址)放入SI寄存器中;
   2) 把將要存放數據串的附加段中的目的串首地址(或反向傳送時的末地址)放入DI寄存器中;
   3) 把數據串長度放入CX寄存器;
   4) 建立方向標志。
在完成這些准備工作后就可使用串指令傳送信息了。
為了建立方向標志,這里介紹兩條指令。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM