+ -
当前位置:首页 → 问答吧 → 新手的疑问!

新手的疑问!

时间:2011-08-09

来源:互联网

在看《深入理解计算机系统》时一个疑问:
C代码:
char exchange(int *xp, int y)
{
  int x = *xp;
  
  *xp = y;
  return x;
}

汇编代码:
1 movl 8(%ebp),%eax Get xp
2 movl 12(%ebp),%edx Get y
3 movl (%eax),%ecx Get x at *xp
……

我不明白的是汇编的第二行12(%ebp)所取的值应该是一个字节即8位,然而int型要占16位或32位,如何将int型全取出来呢?

作者: zxq526685414   发布时间: 2011-08-09

movl注意后缀为l,意思是取long型,即32位

作者: mydo   发布时间: 2011-08-09

热门下载

更多