程序的本质
寄存器与内存
编程语言的发展
汇编语言的种类
常见的汇编指令
寄存器
- 有16个常用寄存器
rax、rbx、rcx 、rdx、rsi、rdi、rbp、rsp
r8、r9、r10、r11、r12、r13、r14、r15 - 寄存器的具体用途
rax、rdx常作为函数返回值使用
rdi、rsi、rdx、rcx、r8、r9等寄存器常用于存放函数参数
rsp、rbp用于栈操作
rip作为指令指针
1、存储着CPU下一条要执行的指令的地址
2、一旦CPU读取一条指令,rip会自动指向下一条指令(存储下一条指令的地址)
r开头: 64bit,8字节
e开头: 32bit,4字节
ax,bx,cx: 16bit,2字节
ah,al: 8bit,1字节
bh,bl
lldb常用指令
规律
- 内存地址格式为:0x4bdc(%rip),一般是全局变量,全局区(数据段)
- 内存地址格式为:-0x78(%rbp),一般是局部变量,栈空间
- 内存地址格式为:0x10(%rax),一般是堆空间