寄存器、堆栈和栈帧-章节测验
寄存器、堆栈和栈帧-章节测验
题量: 21 满分: 100.0 截止时间: 2025-06-16 23:59:00
第1次作答 本次成绩100分
一. 单选题(共20题)
1
【单选题】
先向栈区添加了一个变量a,接着向栈区添加了另外一个变量b,则变量a所在的内存地址比变量b所在的内存地址( )。
A、
低
B、
高
C、
不确定
D、
相等
我的答案:B
4.7分
AI讲解
2
【单选题】函数栈帧不包括的是( )。
A、
局部变量
B、
全局变量
C、
函数参数
D、
返回地址
我的答案:B
4.7分
AI讲解
3
【单选题】
一个函数f(int a, int b),在发生对f的函数调用后将开辟函数f的栈帧,其中变量a的地址比变量b的地址( )。
A、
低
B、
高
C、
相等
D、
不确定
我的答案:A
4.7分
AI讲解
4
【单选题】
函数调用完毕后,返回原来函数的指令处运行的一个关键操作是,将栈帧中保存的返回地址装入( )。
A、
ESP寄存器
B、
EBP寄存器
C、
EIP寄存器
D、
EBI寄存器
我的答案:C
4.7分
AI讲解
5
【单选题】
CPU自带一级缓存和二级缓存,从一级缓存或二级缓存里读数据与从寄存器、内存里面读数据相比,哪个速度最快?
A、
一级缓存
B、
寄存器
C、
二级缓存
D、
内存
我的答案:B
4.7分
AI讲解
6
【单选题】
存储下次将要执行的指令在代码段的偏移量的是( )。
A、
EIP
B、
ESP
C、
EBP
D、
EIR
我的答案:A
4.7分
AI讲解
7
【单选题】
汇编指令中MOV AX,[BX+1200H]采用的寻址方式是( )。
A、
直接寻址
B、
间接寻址
C、
相对寻址
D、
基址变址寻址
我的答案:C
4.7分
AI讲解
8
【单选题】汇编指令中MOV EAX, [EBX+ESI] 采用的寻址方式是( )。
A、
间接寻址
B、
相对寻址
C、
基址变址寻址
D、
相对基址变址寻址
我的答案:C
4.7分
AI讲解
9
【单选题】汇编指令中 MOV CL, 05H 采用的寻址方式是( )。
A、
立即寻址
B、
直接寻址
C、
间接寻址
D、
相对寻址
我的答案:A
4.8分
AI讲解
10
【单选题】汇编指令中 MOV [BX], 12H 采用的寻址方式是( )。
A、
立即寻址
B、
直接寻址
C、
间接寻址
D、
相对寻址
我的答案:C
4.8分
AI讲解
11
【单选题】汇编指令中 MOV AL,[3100H] 采用的寻址方式是( )。
A、
立即寻址
B、
直接寻址
C、
间接寻址
D、
相对寻址
我的答案:B
4.8分
AI讲解
12
【单选题】汇编指令中 MOV EAX, [EBX+ESI+1000H] 采用的寻址方式是( )。
A、
间接寻址
B、
相对寻址
C、
基址变址寻址
D、
相对基址变址寻址
我的答案:D
4.8分
AI讲解
13
【单选题】
CMP EAX, EAX; 语句执行后,ZF寄存器的值为( )。
A、
0
B、
1
C、
不受影响
D、
-1
我的答案:B
4.8分
AI讲解
14
【单选题】
汇编指令MOV AX, 01H; AND AX, 02H运行之后,AX寄存器里的值为( )。
A、
0
B、
1
C、
2
D、
3
我的答案:A
4.8分
AI讲解
15
【单选题】汇编指令 test AX, AX 的功能是( )。
A、
零标志位ZF置 1
B、
零标志位ZF置 0
C、
检测AX是否为0
D、
检测AX是否为1
我的答案:C
4.8分
AI讲解
16
【单选题】
汇编指令 push ebp; mov ebp,esp; 执行之后,ESP-EBP的值为( )。
A、
0
B、
4
C、
-4
D、
8
我的答案:A
4.8分
AI讲解
17
【单选题】以下条件转移指令,表示检测到标志寄存器ZF为1时转移的指令是( )。
A、
JE
B、
JNZ
C、
JG
D、
JL
我的答案:A
4.8分
AI讲解
18
【单选题】以下条件转移指令,表示检测到标志寄存器ZF为0时转移的指令是( )。
A、
JE
B、
JNE
C、
JL
D、
JG
我的答案:B
4.8分
AI讲解
19
【单选题】
以下程序返回前,bx中的值是( )。
assume cs:code
code segment
start: mov ax,1
mov cx,3
call s
mov bx,ax ;(bx) = ?
mov ax,4c00h
int 21h
s: add ax,ax
loop s
ret
code ends
end start
A、
3
B、
8
C、
0
D、
4c00h
我的答案:B
4.8分
AI讲解
20
【单选题】对于如下代码:int * p1=new int[200]; char * p2=new char[30]; 下列说法正确的是( )。
A、
所申请的内存将分配到栈区
B、
所申请的内存将分配到堆区
C、
p1的值大于p2的值
D、
p1的值小于p2的值
我的答案:B
4.8分
AI讲解
二. 多选题(共1题)
21
【多选题】
对于如下代码:int * p1=new int[200]; char * p2=new char[30]; 下列说法正确的是( )。
A、
所申请的内存将分配到栈区
B、
所申请的内存将分配到堆区
C、
p1的值大于p2的值
D、
p1的值小于p2的值
E、
p1的值和p2的值大小无法确定
我的答案:BE

浙公网安备 33010602011771号