movs指令

movs指令格式:可有三种MOVSDST,SRCMOVS(字节)MOVSW(字)其中第二,三种格式明确地注明是传送字节或字,第一种格式则应在操作数中表明是字还是字节操作,例如:MOVSES:BYTEPTR[DI],DS:[SI]实际上MOVS的寻址方式是隐含的(这在下面所招待的操作中可以看到)

大家好,欢迎来到IT知识分享网。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) 建立方向标志。
在完成这些准备工作后就可使用串指令传送信息了。
为了建立方向标志,这里介绍两条指令。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/30618.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信