最初的8086有八个16位寄存器,即从%ax到%bp,扩展到IA32架构后寄存器也扩展成32位,即%eax到%ebp。到目前的x86-64,原先的8个寄存器就扩展成64位,即%rax到%rbp。除这些寄存器之外,还增加了8个新的寄存器,标号为%r8到%r15。
在各个程序中,不同的寄存器扮演不同的角色。其一般使用惯例如下:
...
一般指令都有对应的操作数,即该操作需要的员数据值和放置结果的目的位置。操作数一般分为三种类型。
第一种为立即数,即我们指定的一个数字,如1,2,3,等等。一般书写规范为$+c表示法表示的整数。如 $260,$0x1D。但是在书写指令的时候,要注意立即数的范围。
第二种为寄存器,其表述寄存器的内容。
第三种为内存引用,它根据计算出来的地址访问内存中的某个位置。具体可以看如下所示的寻址模式。
https://blog.youkuaiyun.com/liutianshx2012/article/details/50731280