跳转至

第3章 程序的机器级表示

3.3 数据格式

由于是从16位体系结构扩展成32位的,Intel用术语“字(word)”表示16位数据类型。因此,称32位数为“双字(double words)”,

C声明 Intel数据类型 汇编代码后缀
char 字节
short
int 双字

3.4 访问信息

一个x86-64的中央处理单元(CPU)包含一组16个存储64位值的通用目的寄存器。这些寄存器用来存储整数数据和指针。

  • %rax %eax 返回值
  • %rbx %ebx 被调用者保存
  • %rcx %ecx 第4个参数
  • %rdx %edx 第3个参数
  • %rsi %esi 第2个参数
  • %rdi %edi 第1个参数
  • %rbp %ebp 被调用者保存
  • %rsp %esp 栈指针
  • %r8 %r8d 第5个参数
  • %r9 %r9d 第6个参数
  • %r10 %r10d 调用者保存
  • %r11 %r11d 调用者保存
  • %r12 %r12d 被调用者保存
  • %r13 %r13d 被调用者保存
  • %r14 %r14d 被调用者保存
  • %r15 %r15d 被调用者保存

评论