一、 8086 汇编之函数调用栈平衡
栈平衡:函数调用前后,栈顶指针指向同一个位置如果不指向同一个位置则说明有内存泄漏
1 外平衡
在汇编子函数调用返回之后通过pop
来恢复栈平衡
//参数入栈
push 3333h
//参数入栈
push 3333h
//汇编函数调用
call sum
//栈顶指针加上函数传参开辟的内存,恢复到参数入栈之前的栈顶位置
add sp, 4
2 内平衡
在子函数内通过ret + 子函数参数所占字节数
,来恢复调用函数之前的栈顶位置
main函数:
//参数入栈
push 3333h
//参数入栈
push 3333h
//汇编函数调用
call sum
sum函数:
ret 4
网友评论