程序的本質(zhì)

寄存器與內(nèi)存

編程語言的發(fā)展


匯編語言的種類

常見的匯編指令

寄存器
- 有16個(gè)常用寄存器
rax、rbx、rcx 、rdx、rsi、rdi、rbp、rsp
r8、r9、r10、r11、r12、r13、r14、r15 - 寄存器的具體用途
rax、rdx常作為函數(shù)返回值使用
rdi、rsi、rdx、rcx、r8、r9等寄存器常用于存放函數(shù)參數(shù)
rsp、rbp用于棧操作
rip作為指令指針
1、存儲(chǔ)著CPU下一條要執(zhí)行的指令的地址
2、一旦CPU讀取一條指令,rip會(huì)自動(dòng)指向下一條指令(存儲(chǔ)下一條指令的地址)

r開頭: 64bit,8字節(jié)
e開頭: 32bit,4字節(jié)
ax,bx,cx: 16bit,2字節(jié)
ah,al: 8bit,1字節(jié)
bh,bl
lldb常用指令


規(guī)律
- 內(nèi)存地址格式為:0x4bdc(%rip),一般是全局變量,全局區(qū)(數(shù)據(jù)段)
- 內(nèi)存地址格式為:-0x78(%rbp),一般是局部變量,棧空間
- 內(nèi)存地址格式為:0x10(%rax),一般是堆空間