x86_64汇编

一、基础知识
1、x86-64通用寄存器16个:
    rax,rbx,rcx,rdx,rsi,rdi,rsp,rbp,r8,r9,r10,r11,r12,r13,r14,r15

2、x86-64处理64位,32位,16位和8位
    rax---eax---ax---ah,al
    r8---r8d---r8w---r8h,r8l
    
3、AT&T风格和Intel风格的区别
    AT&T语法                        Intel语法
寄存器前加%                        寄存器前无需加符号
立即数前加$                        立即数前无需加符号
16进制立即数使用0x前缀            16进制立即数使用h后缀
src在前,dest在后                dest在后,src在前
间接寻址使用()                    间接寻址使用[]    
间接寻址格式movq                 间接寻址格式movq
0x8(%rbx, rdx, 4),%rax            rax,[8h + rbx + rdx*4]
操作位数:指令+l,w,b            指令+dword ptr,word ptr,byte ptr
    
4、x86-64寻址模式
全局符号Global Symbol:                movq    printf,%rax
立即数Immediate:                    movq    $56,%rax
寄存器Register:                        movq    %rbx,%rax
间接寻址Indirect:    

你可能感兴趣的:(旧的-重头再来)