编译原理—栈式存储分配有参函数的活动记录参数传递与x86汇编

Posted 之墨_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译原理—栈式存储分配有参函数的活动记录参数传递与x86汇编相关的知识,希望对你有一定的参考价值。

编译原理—参数传递与x86汇编

-1.栈式存储分配


0.有参函数的活动记录

参数分别是整型、指针、引用时的参数传递及其汇编代码

1. swap1(int p , int q)

2. swap2(int *p,int *q)

8(%ebp)是*p,放入%eax,再取(%eax)即
*p指向的地址,-4(%ebp)是temp,将%eax放入temp,
再把*p放在%edx,*q放在%eax,再取q指向的地址(%eax)赋给*p即(%edx),
12(%ebp)是*q,放在%edx,随后temp的值赋给他

3. swap3(int *p, int *q)

4. swap4(int &p, int &q)

以上是关于编译原理—栈式存储分配有参函数的活动记录参数传递与x86汇编的主要内容,如果未能解决你的问题,请参考以下文章

Java中数据存储分配

Heap and Stack

编译原理—运行时存储PL0活动记录

函数参数的内存分配

内存分配有哪些策略

JAVA堆内存和栈内存初步了解