x86inc.asm 定义了x86的汇编规范,统一在一起
定义了DECLARE_REG宏,进一步将寄存器的名字以数字的方式来表达,就类似于ARM中的寄存器r0~r15。
%elif ARCH_X86_64 ; *nix x64 ;=============================================
DECLARE_REG 0, rdi
DECLARE_REG 1, rsi
DECLARE_REG 2, rdx
DECLARE_REG 3, rcx
DECLARE_REG 4, R8
DECLARE_REG 5, R9
DECLARE_REG 6, rax, 8
DECLARE_REG 7, R10, 16
DECLARE_REG 8, R11, 24
DECLARE_REG 9, rbx, 32
DECLARE_REG 10, rbp, 40
DECLARE_REG 11, R14, 48
DECLARE_REG 12, R15, 56
DECLARE_REG 13, R12, 64
DECLARE_REG 14, R13, 72
根据需要访问的寄存器大小q(四字)、d(双字)、w(字)、h(半字)、b(字节)对32位和64位下的寄存器进行定义。
举例:DECLARE_REG 0, rdi
%macro DECLARE_REG 2-3 //2-3个参数
%define r%1q %2 //r0q=rdi
%define r%1d %2d //r0d=rdid
%define