mov指令
传送指令有三种,mov(传送),movs(符号扩展传送),movz(零扩展传送)
注意点:参考第二版练习3.4
dest src各自的大小:
- 小到大,看源地址是否是无符号数
- 转换规则是,先进行扩展,再进行符号变化。也就是负的有符号数右移再转成无符号数,前面会有很多表示负数的1
- 然后源地址分情况,比如char类型用%al而不是%eax
- 大到小,直接截取即可,所以只用看目标地址是字、双字还是字节,然后使用mov的三种类型movb,movw,movl
另外巩固一下:
int *p;
p在%edx中
那*p就用(%edx)表示,因为从地址取值和M[地址]的含义是一样的。