工作生活

汇编总结

2019-07-01  本文已影响0人  eagleyz

为了表示我对简书『饱醉豚』事件的不满,简书不再更新,后续有文章只更新 个人博客掘金

欢迎移步 个人博客或者 掘金

本文首发于 个人博客

汇编语言的种类

x86、x64汇编根据编译器的不同,有2种书写格式

作为iOS开发工程师,最主要的汇编语言是

常见的汇编指令

项目 AT&T Intel 说明
寄存器命名 %rax rax
操作数顺序 movq %rax, %rdx mov rdx, rax 将rax的值赋值给rdx
常数\立即数 movq $0x10, %rax mov rax, 0x10 将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 rdx call和jmp写法类似
操作数长度 leaw 0x10(%dx), %ax lea ax, [dx + 0x10]

操作数长度的说明

寄存器

有16个常用寄存器

寄存器的具体用途

lldb常用指令

lldb常用指令

规律

参考资料:

从入门到精通Swift编程

上一篇下一篇

猜你喜欢

热点阅读