图3-54a给出了一个函数的代码,该函数类似于函数vfunct(图3-43a)。我们用vfunct来说明过帧指针在管理变长栈帧中的使用情况。这里的新函数aframe调用库函数alloca为局部数组p分配空间。alloca类似于更常用的函数malloc,区别在于它在运行时栈上分配空间。当正在执行的过程返回时,该空间会自动释放。
图3-54b给出了部分的汇编代码,建立帧指针,为局部变量i和p分配空间。非常类似于
vframe对应的代码。在此使用与练习题3. 49中同样的表示法:栈指针在第4行设置为值5l,在第7行设置为值数组P的起始地址在第9行被设置为值p。52和p之间可能有额外的空间e2, 数组P结尾和A之间可能有额外的空间A。
A. 用数学语言解释计算&的逻辑。
B. 用数学语言解释计算的逻辑。
C. 确定使^的值最小和最大的n和&的值。
D. 这段代码为&和/>的值保证了怎样的对齐属性?