CSAPP第三章之数据传送指令与栈指令

接下来的内容不需要全部记住!只需要记住常用指令即可!

数据传送指令

使用最频繁的指令。
将不同的指令划分位指令类,每一类中的指令执行相同的操作,唯一的区别是操作数大小不同

  • MOV类
    将数据从源位置复制到目的位置
  1. movb
  2. movw
  3. movl
  4. movq
  5. movabsq
    MOV S,D => (S => D)
    源操作数限定的值为立即数,存储在寄存器或者内存中
    目的操作数是一个地址,在内存或寄存器中
    限制:传送指令的两个操作数不能都指向内存位置:将一个值从一个内存位置复制到另一个内存位置需要两条指令,先将其加载到寄存器中,再加载到指定位置。
    寄存器的大小必须与指令最后一个字符指定的大小匹配。
    movl以寄存器为目的时会将该寄存器的高位设置为0
    movabsq以任意64位立即数作为源操作数,并且只能以寄存器作为目的
  • MOVZ类与MOVS类
    将较小的数值复制到较大的目的地
    把数据从源复制到目的寄存器(源为寄存器或内存地址)
    MOVZ将目的中剩余的字节填充为0
    MOVS将目的中剩余的字节以符号位(s:sign)进行填
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值