版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/u013490896/article/details/50949923

movsb movsw movsd 指令详解

这三个指令,都是数据传送指令,都是从源地址向目的地址传送数据。

16位模式下:
源地址是DS:SI,目的地址是ES:DI
32位模式下:
源地址是DS:ESI,目的地址是ES:EDI

注意:在传送完成之后,SIDI(或者ESIEDI)会增加或者减小。
DF=0 时,表示正向传送,传送之后SIDI(或者ESIEDI)的值会增加;
DF=1 时,表示反向传送,传送之后SIDI(或者ESIEDI)的值会减小;

他们的区别是:
MOVSB:传送一个字节,之后SIDI(或者ESIEDI)加/减1
MOVSW:传送一个字,之后SIDI(或者ESIEDI)加/减2
MOVSD:传送一个双字,之后SIDI(或者ESIEDI)加/减4

单纯的movsb/ movsw/ movsd只能执行一次,如果希望处理器自动地反复执行,可以加上指令前缀rep;在寄存器CX(16位模式)或者ECX(32位模式)中设置传送的次数。当CX/ECX不等于0时,则执行movsb/ movsw/ movsd,执行后,CX/ECX的值减一,直到减为0为止。

【end】

movsb movsw movsd 指令详解相关推荐

  1. 80x86汇编指令详解

    80x86指令系统,指令按功能可分为以下七个部分. (1) 数据传送指令. (2) 算术运算指令. (3) 逻辑运算指令. (4) 串操作指令. (5) 控制转移指令. (6) 处理器控制指令. (7 ...

  2. arm-linux-ld中的参数,arm-linux-ld指令详解

    arm-linux-ld指令详解 我们对每个c或者汇编文件进行单独编译,但是不去连接,生成很多.o 的文件,这些.o文件首先是分散的,我们首先要考虑的如何组合起来:其次,这些.o文件存在相互调用的关系 ...

  3. 九爷带你了解 nginx 日志配置指令详解

    nginx日志配置指令详解 日志对于统计排错来说非常有利的. 本文总结了nginx日志相关的配置如 access_log.log_format.open_log_file_cache.log_not_ ...

  4. java中Freemarker list指令详解

    java Freemarker中list指令主要是进行迭代服务器端传递过来的List集合. 定义 <#list nameList as names> ${names} </#list ...

  5. C#中的预处理指令详解

    这篇文章主要介绍了C#中的预处理指令详解,本文讲解了#define 和 #undef.#if.#elif.#else和#endif.#warning和#error.#region和#endregion ...

  6. pragma comment的使用 pragma预处理指令详解

    pragma comment的使用 pragma预处理指令详解 #pragma comment( comment-type [,"commentstring"] ) 该宏放置一个注 ...

  7. PUSHA/PUSHAD POPA/POPAD 指令详解

    PUSHA/PUSHAD POPA/POPAD 指令详解 官方文档的解释 在<Intel Architecture Software Developer's Manual Volume 2:In ...

  8. Dockerfile 指令详解1

    Dockerfile 指令详解 我们已经介绍了 FROM,RUN,还提及了 COPY, ADD,其实 Dockerfile 功能很强大,它提供了十多个指令.下面我们继续讲解其他的指令. COPY 复制 ...

  9. 大数据WEB阶段(十三)JSP(一)JSP基础、JSP指令详解、四大域九大隐式对象总结

    JSP基础.指令.四大作用域九大隐式对象总结 (一)JSP基础 一.JSP概述 jsp其实是java动态页面技术 HTML可以用来组织页面但是HTML是一种静态web资源技术无法嵌入动态数据. Ser ...

最新文章

  1. CVPR2020 3D目标检测 PV-RCNN
  2. 华为汪涛:定义5.5G,构建美好智能世界
  3. Swarm 如何存储数据?- 每天5分钟玩转 Docker 容器技术(103)
  4. .net托管环境下struct实例字段的内存布局(Layout)和大小(Size)
  5. Mybatis XML文件的异常
  6. 【oracle】dbms_output:控制台输出
  7. TensorFLow 常用错误总结
  8. 交叉编译器的命名规则及详细解释(arm/gnu/none/linux/eabi/eabihf/gcc/g++)
  9. 设置分录行按钮监听事件
  10. EC20模块GPGGA协议
  11. wps怎么下载仿宋gb2312_仿宋|如何下载仿宋gb2312字体_wps仿宋gb2312字体下载方法_234游戏网...
  12. DAC0832的多功能信号/波形发生器Proteus仿真设计,4种波形(正弦、三角、方波、锯齿),附仿真+C程序+论文等
  13. Linux笔记本电源管理指南
  14. Scala-Day13
  15. 基于Springboot的Java项目--新冠疫情统计系统
  16. Word背景默认为绿色,如何更改默认为白色
  17. Python爬虫——你们要的王者荣耀高清图
  18. 现在有一个未分库分表的系统,未来要分库分表,如何设计才可以让系统从未分库分表动态切换到分库分表上?
  19. python3d旋转相册_3D立体相册,一个可旋转的立体相册
  20. 日语词汇辨析:以来と以降と以後

热门文章

  1. ASP.Net调试过程中弹出的浏览器端口和asp.net development server的端口不一样
  2. 一套简约漂亮的响应式博客园主题皮肤分享给你们(一)
  3. easyui datebox不可编辑设置
  4. RBAC(Role-Based Access Control,基于角色的权限访问控制)—权限管理设计
  5. 监听android 上的完成按键
  6. 2017.04.15【NOIP2017提高组】模拟赛B组 T2:渡河
  7. Java Thread类的使用
  8. XCode 6 出现 no identity found: Command /usr/bin/codesign failed with exit code 1 解决方法汇总...
  9. vs2010 将.mc编译为.rc文件
  10. Sql Server编程