# 微信搜索公众号Corux,和我交朋友!
x86-64的机器代码和原始的C代码差别非常大,一些通常对C语言程序员隐藏的处理器状态都是可见的:
🔻程序计数器(通常称为PC,在x86-64中用%rip表示)给出将要执行的下一条指令在内存中的地址。
🔻整数寄存器文件包含16个命名的位置,分别存储64位的值。这些寄存器可以存储地址或整型数据。有的寄存器被用来记录某些重要的程序状态,而其他寄存器用来保存临时数据,例如过程的参数或局部变量,以及函数的返回值。(寄存器用来保存参数?参数太多了装不下怎么办?局部变量和参数不是通常都在内存中吗?)
🔻条件码寄存器保存着最近执行的算数或逻辑指令的状态信息。它们用来实现控制或数据流中的条件变化,比如说用来实现if或while语句。
🔻一组向量寄存器可以存放一个或多个整数或浮点数值(什么是向量寄存器?为什么叫向量寄存器?它和中断向量有关系吗?)。