项目 | AT&T(苹果模拟器) | intel | 说明 |
---|---|---|---|
寄存器命名 | %rax | rax | |
操作数顺序 | movq %rax, %rdx | mov rdx, rax | 将rax 的值赋值给rdx |
常数\立即 数 | movq $3, %rax movq $0x10, %rax | mov rax, 3mov rax, 0x10 | 将3赋值给rax将0x10赋值给rax |
内存赋值 | movq $0xa, 0x1ff7(%rip) | mov qword ptr [rip+0x1ff7], 0xa | 将0xa赋值给地址为rip +0x1ff7的内存空间 |
取内存地址 | leaq -0x18(%rbp), %rax | lea rax, [rbp – 0x18] | 将rbp – 0x18这个地址值赋值给rax |
jmp指令 | jmp *%rdx jmp 0x4001002 jmp *(%rax) | jmp rdx jmp 0x4001002 jmp [rax] | call和jmp写法类似 |
操作数长度 | movl %eax, %edx movb $0x10, %al leaw 0x10(%dx), %a | mov edx, eax mov al,0x10 lea ax, [dx + 0x10] | b = byte (8-bit) s = short (16-bit integer or 32-bit floating point) w = word (16-bit) l = long (32-bit integer or 64-bit floating point) q = quad (64 bit) t = ten bytes (80-bit floating point) |
常见汇编指令
最新推荐文章于 2024-04-07 14:00:44 发布