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