第22题中caller函数对应的机器级代码如下:1 pushl %ebp2 movl %esp, %ebp3 subl $24, %esp4 movl $100, -12(%ebp)5 movl $200, -8(%ebp)6 movl -8(%ebp), %eax7 movl %eax, 4(%esp)8 movl -12(%ebp), %eax9 movl %eax, (%esp)10 call add11 movl %eax, -4(%esp)12 movl -4(%ebp), %eax13 leave14 ret假定caller的调用过程为P,对于上述指令序列,以下叙述中错误的是()。 A: 第1条指令将过程P的EBP内容压入caller栈帧 B: 第2条指令使EBP内容指向caller栈帧的底部 C: 第3条指令将栈指针ESP向高地址方向移动,以生成当前栈帧 D: 从上述指令序列可看出,caller函数没有使用被调用者保存寄存器
第22题中caller函数对应的机器级代码如下:1 pushl %ebp2 movl %esp, %ebp3 subl $24, %esp4 movl $100, -12(%ebp)5 movl $200, -8(%ebp)6 movl -8(%ebp), %eax7 movl %eax, 4(%esp)8 movl -12(%ebp), %eax9 movl %eax, (%esp)10 call add11 movl %eax, -4(%esp)12 movl -4(%ebp), %eax13 leave14 ret假定caller的调用过程为P,对于上述指令序列,以下叙述中错误的是()。 A: 第1条指令将过程P的EBP内容压入caller栈帧 B: 第2条指令使EBP内容指向caller栈帧的底部 C: 第3条指令将栈指针ESP向高地址方向移动,以生成当前栈帧 D: 从上述指令序列可看出,caller函数没有使用被调用者保存寄存器
IA-32中指令“MOV EDX,8(EBP)"的功能是() A: M[R[EBP]+8]← R[EDX] B: R[EDX]←M[R[EBP]+8] C: R[EBP]+8← R[EDX] D: R[EDX]← R[EBP]+8
IA-32中指令“MOV EDX,8(EBP)"的功能是() A: M[R[EBP]+8]← R[EDX] B: R[EDX]←M[R[EBP]+8] C: R[EBP]+8← R[EDX] D: R[EDX]← R[EBP]+8
IA-32 中指令 “movl 8(%ebp), %edx"的功能是 ____? A: M[R[ebp]+8]←R[edx] B: R[edx]←M[R[ebp]+8] C: R[ebp]+8←R[edx] D: R[edx]←R[ebp]+8
IA-32 中指令 “movl 8(%ebp), %edx"的功能是 ____? A: M[R[ebp]+8]←R[edx] B: R[edx]←M[R[ebp]+8] C: R[ebp]+8←R[edx] D: R[edx]←R[ebp]+8
主程序通过堆栈向子程序传递了3个参数,子程序调用结束后,在主程序中清除堆栈中3个参数正确的指令是()。 A: AADD ESP,3*2 B: BADD ESP,3*4 C: CADD EBP,3*2 D: DADD EBP,3*4
主程序通过堆栈向子程序传递了3个参数,子程序调用结束后,在主程序中清除堆栈中3个参数正确的指令是()。 A: AADD ESP,3*2 B: BADD ESP,3*4 C: CADD EBP,3*2 D: DADD EBP,3*4
通过堆栈传递参数,在子程序中使用EBP间址取得参数的原因是()。 A: EBP没有被占用 B: EBP间址速度较快 C: EBP间址默认的段是堆栈段 D: EBP是基址指针
通过堆栈传递参数,在子程序中使用EBP间址取得参数的原因是()。 A: EBP没有被占用 B: EBP间址速度较快 C: EBP间址默认的段是堆栈段 D: EBP是基址指针
IA-32中指令“movl 8(%ebp),%edx”的功能是( )。 A: M[R[ebp]+8] B: R[edx] C: R[ebp]+8 D: R[edx]
IA-32中指令“movl 8(%ebp),%edx”的功能是( )。 A: M[R[ebp]+8] B: R[edx] C: R[ebp]+8 D: R[edx]
IA-32中指令“popl %ebp”的功能是( )。? R[ebp]←M[R[esp]],R[esp]←R[esp]+4|R[esp]←R[esp]-4,R[ebp]←M[R[esp]]|;R[ebp]←M[R[esp]],R[esp]←R[esp]-4|R[esp]←R[esp]+4,R[ebp]←M[R[esp]]
IA-32中指令“popl %ebp”的功能是( )。? R[ebp]←M[R[esp]],R[esp]←R[esp]+4|R[esp]←R[esp]-4,R[ebp]←M[R[esp]]|;R[ebp]←M[R[esp]],R[esp]←R[esp]-4|R[esp]←R[esp]+4,R[ebp]←M[R[esp]]
IA-32中指令“movl8(%ebp),%edx”的功能是()。 A: M[R[ebp]+8]R[edx] B: R[edx] C: R[ebp]+8R[edx] D: R[edx]
IA-32中指令“movl8(%ebp),%edx”的功能是()。 A: M[R[ebp]+8]R[edx] B: R[edx] C: R[ebp]+8R[edx] D: R[edx]
IA-32中指令“POP EBP”的功能是( )。 A: R[ESP]← R[ESP]-4, R[EBP]← M[R[ESP]] B: R[ESP]← R[ESP]+4, R[EBP]←M[R[ESP]] C: R[EBP]←M[R[ESP], R[ESP]← R[ESP]-4 D: R[EBP]←M[R[ESP]], R[ESP]←R[ESP]+4
IA-32中指令“POP EBP”的功能是( )。 A: R[ESP]← R[ESP]-4, R[EBP]← M[R[ESP]] B: R[ESP]← R[ESP]+4, R[EBP]←M[R[ESP]] C: R[EBP]←M[R[ESP], R[ESP]← R[ESP]-4 D: R[EBP]←M[R[ESP]], R[ESP]←R[ESP]+4
IA-32中指令“pushl%ebp”的功能是()。 A: R[esp]←R[esp]-4,M[R[esp]]←R[ebp] B: R[esp]←R[esp]+4,M[R[esp]]←R[ebp] C: M[R[esp]]←R[ebp],R[esp]←R[esp]-4 D: M[R[esp]]←R[ebp],R[esp]←R[esp]+4
IA-32中指令“pushl%ebp”的功能是()。 A: R[esp]←R[esp]-4,M[R[esp]]←R[ebp] B: R[esp]←R[esp]+4,M[R[esp]]←R[ebp] C: M[R[esp]]←R[ebp],R[esp]←R[esp]-4 D: M[R[esp]]←R[ebp],R[esp]←R[esp]+4