我们要探讨的函数,写一个汇编程序实现这个
反汇编,这个是系统写的
一起探讨一下
在调用函数的时候,我们经常有使用到同一个寄存器,所以要现场保护;
汇编中,将寄存器保护起来
和业务区分开,前边是入栈,保存数据,中间业务,后边是出栈;前后真好相反;
将寄存器保存保护起来 --- 压栈
栈顶是垃圾数据,但是不用去清理,没有用,只要管理好指针就行
bp咋整?
push一下bp,然后pop一下bp
保护
弹出
将bp入栈,保护起来
将bp入栈
bp入栈,保证安全
让sp = bp
sp-20,分配空间给局部变量
将其他寄存器数据保存
寄存器出栈
bp回去到原始的地方~,保护完毕
执行完sum函数,到了这个地址,然后去执行ret函数了
具体代码1
具体代码2