一、栈
1.简介:
一个程序对应一个进程,一个进程对应一个栈空间,然后一个程序对应多个函数,每个函数都会在该栈空间分配到一个完全属于自己的子空间,该子空间就是栈帧。栈帧有边界,上边界是FP(r11),下边界是SP(r13),每一个主调函数的边界都会存放在她的被调函数的栈帧中。
2.作用:
(1)保存局部变量
(2)当参数大于四个时候可以传递参数
(3)可以保存寄存器的值
3.初始化栈
二、BSS段
1.作用:
(1)初始化的全局变量存放在data段
(2)局部变量存放在栈
(3)malloc出的变量存放在堆
(4)未初始化的全局变量存放在BSS段
2.初始化BSS段:
三、C语言与汇编混合编程
1.简介:
(1)汇编的效率高,直接转换为机器语言,而C要经过转换为汇编
(2)汇编直接控制硬件的寄存器
(3)C编写方便简洁
2.汇编调用C语言:
ldr pc,=函数名
例