数据传送指令——mov

基本概念

将数据从一个位置复制到另一个位置;mov类有四条指令组成:movb、movw、movl和movq;主要区别是传送数据的大小不同,分别是1、 2、 4和8字节。

mov指令中,第一个数为源操作数,第二个为目的操作数;其中源操作数指定的值为一个立即数,存储在寄存器或内存中,目的操作数指定一个位置(寄存器/内存地址)。

注:x86-64中有一条限制,两操作数不能都指向内存位置。在x86-64中任何为寄存器生成32位值的指令都会把该寄存器的高位部分置为0。eg:movl指令以寄存器作为目的时,会把该寄存器高4字节置为0。

常规的movq指令只能以表示为32位补码数字的立即数作为源操作数,然后把这个值符号扩展得到64位的值,放到目的位置。movabsq指令能够以任意64位立即数值作为源操作数,并且只能以寄存器作为目的。

示例:

  • movabsq $ox0011223344556677,%rax         rax = 0011223344556677
  • movb      $-1,%al           rax = 00112233445566FF
  • movw      $-1, %ax            rax = 001122334455FFFF
  • movl        $-1,%eax          rax = 00000000FFFFFFFF
  • movq       $-1,%.rax          rax =FFFFFFFFFFFFFFFF

一些0或符号位扩展

零扩展数据传送指令。这些指令以寄存器或内存地址作为源,以寄存器作为目的。

符号扩展数据传送指令。MOVS指令以寄存器或内存地址作为源,以寄存器作为目的。cltq指令只作用于寄存器%eax和%rax。

cltq指令,这条指令没有操作数:它总是以寄存器%eax作为源,%rax作为符号扩展结果的目的。它的效果与指令movslq %eax  %rax完全一致,不过编码更紧凑。

示例:

  • movabsq $Ox0011223344556677,%rax          rax = 0011223344556677
  • movb $OxAA,%.dl          dl= AA
  • movb %d1 ,%al        rax = 00112233445566AA
  • movsbq %dl , %.rax         rax = FFFFFFFFFFFFFFAA
  • movzbq %d1 ,%rax          rax = 00000000000000AA

数据传送指令----mov(笔记)ATT相关推荐

  1. 【Android 逆向】x86 汇编 ( call 子函数调用指令 | jmp 跳转指令 | lea 加载指令 | mov 数据传送指令 )

    文章目录 一.call 子函数调用指令 二.jmp 跳转指令 三.lea 加载指令 四.mov 数据传送指令 总结 一.call 子函数调用指令 call 指令是 子函数调用指令 , 调用的指令的下一 ...

  2. 汇编语言--数据传送指令

    8086CPU的数据传送指令 mov.push.pop.pushf.popf.xchg 等都是数据传送指令,这些指令实现寄存器和内存.寄器和寄存器之间的单个数据传送

  3. 【汇编语言与计算机系统结构笔记05】汇编的系统结构,从C代码生产汇编代码,一个具体的、经典的数据传送指令(mov)实例与分析

    本次笔记内容: 06.寻址模式与数据传输指令等 文章目录 汇编程序员眼中的系统结构 如何从C代码生产汇编代码 如何装gcc? 汇编语言数据格式 第一条汇编指令实例 数据传送指令(mov) 语法与操作数 ...

  4. MOV指令是数据传送指令

    在汇编语言中,MOV指令是数据传送指令,也是最基本的编程指令,用于将一个数据从源地址传送到目标地址(寄存器间的数据传送本质上也是一样的).其特点是不破坏源地址单元的内容.  例如:  MOV AX,2 ...

  5. 微机原理笔记——数据传送指令

    数据传送指令 通用数据传送指令 传送指令MOV 格式 MOV DST,SRC 功能 将一个源操作数送到目的操作数 说明 1.DST是目的操作数,可以是寄存器,存储器,累加器 SRC是源操作数,可以是寄 ...

  6. 计算机组成原理学习笔记————计算机指令,MIPS指令集,存储器操作数,数据传送指令,取数存数指令

    计算机语言 现在计算机编程常用的语言是C,C++,Java等高级语言,但计算机第层是将高级编程语言的代码编译成二进制代码形式的指令才能执行.所以计算机语言中的基本单词是二进制形式的指令,一台计算机的全 ...

  7. 数据类型与数据传送指令

    数据类型与数据传送指令 数据类型.数据传送指令.间接寻址 一.数据类型 数据类型的基本特征是以数据为的数目度量的大小,其他特征主要是为了方便程序员记忆变量中存储的数据类型,默认情况下大小写不敏感. 类 ...

  8. movs 数据传送指令_PLC中简单好用的传送指令功能,你学会了吗?

    戳上方蓝字 "技成电工课堂" 关注我们哦! PLC的各种功能指令中,传送指令的使用非常频繁,且相对简单.一说到简单,我猜已经有很多人蠢蠢欲动,迫不及待地想征服这个传送指令了.那么, ...

  9. 计算机组成原理xchg,8088数据传送指令-计算机组成原理与汇编语言-电子发烧友网站...

    3.2.1 数据传送指令 1. MOVOPRD1,OPRD2 MOV是操作码,OPRD1和OPRD2分别是目的操作数和源操作数.该指令可把一个字节或一个字操作数从源地址传送到目的地址. 源操作数可以是 ...

最新文章

  1. 判断手机是否弹出键盘,改变了手机页面高度,对应inputStatus的状态改变相关控件的大小和位置
  2. 炫酷,SpringBoot+Echarts实现用户访问地图可视化(附源码)
  3. 论文笔记:ResNet v2
  4. vue.config.js 配置参考
  5. linux数组长度的函数,linux awk数组操作详细介绍
  6. 关于类类型的隐式类型转换
  7. CF Round #580(div2)题解报告
  8. IFC最新标准 IFC4X3 RC2 和 IFC4X3 RC4 特点
  9. php仿小红书,vue仿小红书个人开源项目
  10. windows11百度网盘下载,win11iso镜像百度云下载
  11. Mybatis整合达梦数据库
  12. 招聘季!送你21套经典面试题!助你一臂之力!
  13. Activity重建之殇
  14. 在aws云将本地虚拟机镜像上传
  15. 树莓派4B(ubuntu)无线网络配置
  16. 使用 Scrapy + Selenium 爬取动态渲染的页面
  17. Proxy returns “HTTP/1.1 407 Proxy Authentication Required
  18. 台式电脑主板插线步骤图_电脑主板跳线插法 装机接线详细图解教程
  19. E4X - 维基百科,自由的百科全书
  20. 共享内存大数据量快速进程间通讯

热门文章

  1. Word快速更改文字大小写(转)
  2. Could not receive a message from the daemon
  3. Java项目:JSP汉服服饰租赁展示商城项目
  4. 莫非80后都要开始担忧“老年痴呆”了?
  5. mysql事务怎么用,MySQL事务的使用
  6. Beosin成都链安关于公司名称混淆声明
  7. 动态存储方式与静态存储方式
  8. 【原创:EI 排版】
  9. 攻防世界——web,simplejs
  10. Java静态内部类单例模式读取Properties配置文件