这里写目录标题
Linux中的汇编格式
汇编语⾔分为AT&T汇编和Intel汇编,Linux内核采⽤AT&T汇编语法。
movl %edx,%eax # 将edx的内容存放到eax中, 即 eax = edx
常见的寄存器
16位
8086 CPU中总共有14个16位的寄存 器:AX、BX、CX、DX、SI、DI、SP、BP、CS、DS、SS、ES、IP、FLAG
32位
4个数据寄存器(EAX、EBX、ECX和EDX
),2个变址和指针寄存器(ESI和EDI
), 2个指针寄存器(ESP和EBP
),6个段寄存器(ES、CS、SS、DS、FS和GS
),1个指令指针寄存器(EIP
),1个标志寄存器(EFlags
)
(相当于16位多了个E前缀)
64位
表示方法将32位中的E修改成R,并且向后兼容。RAX、RBX、RCX、RDX、RSI、RDI、RBP、 RSP
以及新增的R8-R15
为通用寄存器。且部分寄存器有了专用用途。
RAX
作为函数返回值使⽤。RSP
栈指针寄存器,指向栈顶。