北京邮电大学《汇编语言与逆向工程》2021-2022学年期末试卷.doc
站名:
站名:年级专业:姓名:学号:
凡年级专业、姓名、学号错写、漏写或字迹不清者,成绩按零分记。
…………密………………封………………线…………
第PAGE1页,共NUMPAGES1页
北京邮电大学
《汇编语言与逆向工程》2021-2022学年期末试卷
题号
一
二
三
总分
得分
一、单选题(本大题共20个小题,每小题2分,共40分.在每小题给出的四个选项中,只有一项是符合题目要求的.)
1、在8086汇编中,用于将AH寄存器的内容存储到内存的指令是()
A.MOV[MEM],AH
B.MOVAH,[MEM]
C.OUT[MEM],AH
D.INAH,[MEM]
2、以下哪种寻址方式可以在汇编语言中实现相对寻址?()
A.直接寻址
B.寄存器间接寻址
C.基址寻址
D.相对基址加变址寻址
3、在汇编语言中,以下哪个指令用于无条件跳转?()
A.JMP
B.JE
C.JNE
D.LOOP
4、以下哪个指令用于无符号数的比较跳转,如果大于等于则跳转?()
A.JAE
B.JBE
C.JA
D.JB
5、在8086汇编中,以下哪个指令可以实现除法运算?()
A.DIV
B.MUL
C.ADD
D.SUB
6、在8086汇编中,以下哪个指令可以实现无符号数比较并根据结果跳转?()
A.JA
B.JB
C.JE
D.以上都是
7、以下哪个标志位表示溢出标志?()
A.OF
B.CF
C.PF
D.AF
8、在汇编程序中,用于向端口输出数据的指令是()
A.IN
B.OUT
C.MOV
D.ADD
9、以下哪个指令可以将内存中的字节数据与CL寄存器的内容进行减法运算?()
A.SUBCL,[MEM]
B.SUB[MEM],CL
C.ADDCL,[MEM]
D.ADD[MEM],CL
10、以下哪个指令用于将寄存器的内容压入堆栈?()
A.PUSH
B.POP
C.CALL
D.RET
11、以下哪个指令用于将寄存器的值传送到段寄存器?()
A.MOV
B.LEA
C.LDS
D.LES
12、在汇编语言中,标志寄存器FLAGS中的ZF标志位表示()
A.零标志
B.进位标志
C.溢出标志
D.符号标志
13、以下哪个指令用于将寄存器的内容右移?()
A.SHR
B.SHL
C.ROR
D.ROL
14、在8086汇编中,以下哪个指令用于从中断返回?()
A.IRET
B.RET
C.CALL
D.JMP
15、汇编语言中,若要将内存中的一个字节数据传送到AL寄存器,应使用()
A.MOVAL,[MEM]
B.MOV[MEM],AL
C.INAL,[MEM]
D.OUT[MEM],AL
16、以下哪个指令用于比较两个操作数?()
A.CMP
B.TEST
C.AND
D.OR
17、在汇编语言中,用于从堆栈弹出数据的指令是()
A.PUSH
B.POP
C.CALL
D.RET
18、以下哪个段寄存器用于存放代码段的起始地址?()
A.CS
B.DS
C.ES
D.SS
19、在8086汇编中,以下哪个指令用于将内存中的双字数据传送到两个寄存器?()
A.MOV
B.LDS
C.LES
D.LEA
20、在汇编语言中,若要将AL寄存器的内容乘以2,应使用()
A.ADDAL,AL
B.SUBAL,AL
C.SHLAL,1
D.SHRAL,1
二、简答题(本大题共4个小题,共40分)
1、(本题10分)解释汇编语言中指令的多核资源竞争的检测和解决。
2、(本题10分)什么是代码混淆的控制流平坦化?在汇编语言中如何实现?
3、(本题10分)简述在汇编语言中如何进行系统资源的监控和管理。
4、(本题10分)什么是内核模式编程?在汇编语言中如何进行内核模式的操作?
三、编程题(本大题共2个小题,共20分)
1、(本题10分)编写程序,找出给定数组中所有元素的平均值的整数部分。
2、(本题10分)设计一个汇编程序,实现两个32位有符号数的除法,并处理精度损失。