目录
一、目的
有时候会想一下,为什么我们要应用这些高级语言了?因为,方便啊。
汇编语言对于机器来说固然是效率很高的,但是我们编写起来其实并没有那么方便,因为他的思路还是更近机器,所以在汇编语言的编写当中,C语言也可以被使用进来,帮助大家更快更好的完成工作。
- 栈在汇编语言中的设置。
- C语言在汇编中的调用。
二、堆栈设置
1、为什么要设置栈
因为,c语言函数需要。(如果你要问为什么需要,因为c语言所有的变量都要有地方放啊)
2、怎么设置栈
解决下面的三个问题,我们就可以成功设置栈啦。
- 调用者怎么向被调用者传参。
- 被调用者怎么返回值。
- 怎么恢复调用函数前的寄存器状态。
寄存器规则
- 这一篇寄存器规则很清楚的讲解了,我们怎么进入函数以及怎么恢复出来时的状态:
3、堆栈设置过程:
①我们在c文件和s文件中的操作:
.s文件中,将sp寄存器的值变为栈顶:
这里flash不同,则启动的地址不同。