Linux内核分析 X86汇编基础测验

时间:2022-09-01 08:03:23

1 单选(1分) 下面哪条指令的寻址方式是直接寻址方式?

1、movl %eax, %edx
2、movw $0x123, %ax
3、movb 0x12, %ah
4、movl (%ebx), %edx

A.3
B.4
C.1
D.2

答案:A

2单选(1分) 与下面两条指令等价的指令是():

pushl %ebp 
movl %esp, %ebp

1、popl
2、ret
3、leave
4、enter

A.3
B.4
C.1
D.2

答案:B

3判断(1分) 冯诺依曼体系结构的核心思想是存储程序计算机。

A.√
B.×
答案:A

4判断(1分) 在32位x86 CPU中,我们使用push和pop指令实现入栈和出栈,popl指令可以使得esp寄存器的值增加4。

A.×
B.√

答案:B

5判断(1分) 32 位x86 CPU中,cs:eip指向要执行的指令地址,所以想执行0x123处的代码,我们可以通过mov $0x123, %eip指令来跳转。

A.×
B.√

答案:A

6填空(1分) 假定当前是32位X86机器,ebp寄存器的值为12,esp寄存器的值为8,执行完如下代码后esp的值是多少?

pushl %ebp

答案:4

7填空(1分) 假定当前是32位x86机器,eax寄存器的值为0x1234,ebx寄存器的值为0x4321,执行完如下代码后ebx的值是多少?

movl %eax, %ebx
答案:0x1234

8填空(1分) 假定当前是32位X86机器,函数的返回值默认使用哪个寄存器来返回给上级函数?

答案:eax