第15题中的caller函数对应的机器级代码如下:1pushl%ebp2movl%esp, %ebp3subl$24, %esp4movl$100, -12(%ebp)5movl$200, -8(%ebp)6movl-8(%ebp), %eax7movl%eax, 4(%esp)8movl-12(%ebp), %eax9movl%eax, (%esp)10calladd11movl%eax, -4(%ebp)12movl-4(%ebp), %eax13leave14ret假定caller的调用过程为P,对于上述指令序列,以下叙述中错误的是()。
A. 第1条指令将过程P的EBP内容压入caller栈帧
B. 第2条指令使BEP内容指向caller栈帧的底部
C. 第3条指令将栈指针ESP向高地址方向移动,以生成当前栈帧
D. 从上述指令序列可看出,caller函数没有使用被调用者保存寄存器
查看答案
对于第15题的caller函数以及第16题给出的对应机器级代码,以下叙述中错误的是()。
A. 变量t1和t2的有效地址分别为R[ebp]-12和R[ebp]-8
B. 变量t1所在的地址高(或大)于变量t2所在的地址
C. 参数t1和t2的有效地址分别为R[esp]和R[esp]+4
D. 参数t1所在的地址低(或小)于参数t2所在的地址
以下关于if (cond_expr) then_statement else else_statement选择结构对应的机器级代码表示的叙述中,错误的是()。
A. 一定包含一条无条件转移指令
B. 对应then_statement的代码一定在对应else_statement的代码之前
C. 一定包含一条条件转移指令(分支指令)
D. 计算cond_expr的代码段一定在条件转移指令之前
以下关于循环结构语句的机器级代码表示的叙述中,错误的是( )。
A. 一定至少包含一条条件转移指令
B. 不一定包含无条件转移指令
C. 循环体内执行的指令不包含条件转移指令
D. 循环结束条件通常用一条比较指令CMP来实现
The following are the key words and phrases selected from Text A. They are frequently used in daily communication. You need to study them carefully. We have a number of exercises to help you learn how to use them.1.Fill in the gaps with words or phrases given in the box. Change the form where necessaryAccording to some scientists, global warming the survival of the whole human race.