CSAPP复习随手记

mov指令

传送指令有三种,mov(传送),movs(符号扩展传送),movz(零扩展传送)

注意点:参考第二版练习3.4

dest src各自的大小:

  1. 小到大,看源地址是否是无符号数
    • 转换规则是,先进行扩展,再进行符号变化。也就是负的有符号数右移再转成无符号数,前面会有很多表示负数的1
    • 然后源地址分情况,比如char类型用%al而不是%eax
  2. 大到小,直接截取即可,所以只用看目标地址是字、双字还是字节,然后使用mov的三种类型movb,movw,movl

另外巩固一下:

int *p;
p在%edx中
那*p就用(%edx)表示,因为从地址取值和M[地址]的含义是一样的。
原文地址:https://www.cnblogs.com/peekapoooo/p/14162198.html