资源描述
四川大学期末考试试题(闭卷)
(2015——2016学年第 1 学期) A卷
课程号: 课序号: 课程名称: 任课教师: 成绩:
适用专业年级: 学生人数: 印题份数: 学号: 姓名:
考 生 承 诺
我已认真阅读并知晓《四川大学考场规则》和《四川大学本科学生考试违纪作弊处分规定(修订)》,郑重承诺:
1、已按要求将考试禁止携带的文具用品或与考试有关的物品放置在指定地点;
2、不带手机进入考场;
3、考试期间遵守以上两项规定,若有违规行为,同意按照有关条款接受处理。
考生签名:
评阅教师
得分
一、 单项选择题(本大题共20小题,每小题1分,共20分)提示:在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在下面的表格中。错选、多选或未选均无分。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1.以下寄存器中,哪一个不属于地址指针寄存器?( A )
(A)AX (B)BX (C)SI (D)DI
2.以下标志位中,哪一个不属于状态标志位?( C )
(A)CF (B)OF (C)IF (D)AF
3.以下寄存器中,哪一个用于指示堆栈的栈顶位置?( C )
(A)IP (B)SI (C)SP (D)BX
4.以下寄存器中,哪一个用于提供代码段的段基值?( C )
(A)SS (B)DS (C)CS (D)AX
5.以下指令中,不影响标志位的是哪一条?( D )
(A)INC (B)AND (C)SUB (D)XCHG
第 1 页,共 10 页
试卷编号:
6.SF标志位的含义是如下哪一个?( A )
(A)符号标志 (B)零值标志 (C)补码溢出标志 (D)进位标志
7.LOOP指令隐含使用如下哪一个寄存器作为计数器?( C )
(A)AX (B)BX (C)CX (D)DX
8.以下指令中,哪一条一定会访问堆栈段?( D )
(A)DEC (B)ADD (C)MOV (D)CALL
9.以下伪指令中,用于结束一个段定义的是哪一个?( D )
(A)END (B)SEGMENT (C)ENDP (D)ENDS
10.以下伪指令中,用于分配一个字节空间的是哪一个?( B )
(A)DB (B)DW (C)DD (D)EQU
11.假设(AL)=35H,执行指令AND AL,0FH后,(AL)=( D )
(A)3FH (B)F5H (C)30H (D)05H
12.假设(AL)=02H,执行指令INC AL后,CF =( D )
(A)0 (B)1 (C)2 (D)与执行INC指令前一致
13. 假设(AL)=05H,执行指令ADD AL,0后,PF =( B )
(A)0 (B)1 (C)2 (D)与执行SUB指令前一致
14. 假设(AL)=88H,执行指令SUB AL,90H后,OF =( A )
(A)0 (B)1 (C)2 (D)与执行ADD指令前一致
15.假设(AL)=68H,执行指令ADD AL,08H后,AF = ( B )
(A)0 (B)1 (C)2 (D)与执行ADD指令前一致
16.假设(AL)=81H,执行指令ROL AL,1后,(AL)= ( C )
(A)80H (B)18H (C)03H (D)0C0H
17.假设(AL)=93H,执行指令SHL AL,1后,OF = ( b )
(A)0 (B)1 (C)2 (D)与执行ADD指令前一致
18.假设(SP)=0060H,执行指令PUSH AX后,(SP)=( b )
(A)0058H (B)005EH (C)0062H (D)0060H
19.假设CF=1,以下哪一条转移指令一定会转移至目标地址?( A )
(A)JC (B)JNC (C)JS (D)JNZ
20.假设(BL)=04H,执行指令XOR BL,0FH后,(BL)=( D )
(A)00H (B)0FH (C)04H (D)0BH
第 2 页,共 10 页
评阅教师
得分
二、多项选择题(本大题共5小题,每小题2分,共10分)提示:在每小题列出的五个备选项中有二个至五个是符合题目要求的,请将其代码填写在下表中。错选、多选、少选或未选均无分。
1
2
3
4
5
1.以下哪些指令会影响CF标志位?( CD )
(A)INC (B)DEC (C)AND (D)SUB (E)JC
2.以下指令中,哪些会访问堆栈段?( ABDE )
(A)CALL (B)RET (C)JMP (D)PUSH (E)POPF
3.假设(AL)=92H,CF=1,执行指令ADC AL,88H后,以下结果哪些是正确的?
( ACE )
(A)(AL)=1BH (B)(AL)=1AH (C)CF=1 (D)OF=0 (E)ZF=0
4.假设(AL)=86H,执行指令SAR AL,1后,以下结果哪些是正确的?( ACDE )
(A)(AL)=0C3H (B)(AL)=0CH (C)CF=0 (D)OF=0 (E)PF=0
5.以下指令中,哪些使用了存储器寻址方式?( BCD )
(A)ADD AL,02H (B)SUB BL,[0104H] (C)INC BYTE PTR [BX]
(D)AND AL,[SI] (E)XOR BL,CL
评阅教师
得分
三、判断改错题(本大题共5小题,每小题4分,共20分)提示:下列各语句可能有语法错误,判断各语句正确与否,对于错误的语句,需解释其错误的原因,对于正确的语句,若做出正确判断则给4分,对于错误的语句,做出正确判断给2分,做出正确的解释再给2分。
1. NEG 145 X
NEG指令不能跟立即数
2. JZ BX X
条件转移指令JZ不能寄存器寻址,只能跟标号
第 3 页,共 10 页
3. OR BL,SI
对
4. MOV BYTE PTR [SI], BYTE PTR [BX] X
MOV指令的两个操作数不能都为内存单元
5. XCHG AL,05H X
XCHG指令的操作数不能有立即数
评阅教师
得分
四、程序分析题(本大题共5小题,每小题5分,共25分)。提示:每小题给出了一个程序片段,请按各小题的要求分析程序片段的执行结果或功能,并在空白处填写分析结果,分析正确则按照每空后标注的分值给分,如果分析错误则该空不得分。
1. 有如下程序片段:
MOV AL,35H
MOV CL, 04H
SHL AL, CL
执行该程序片段后,(AL)的十六进制形式为 50H (3分),PF = 1 (1分),
ZF = 0 (1分)
2. 有如下程序片段:
MOV AL, 76H
AND AL, 0FH
OR AL, 80H
执行该程序片段后,(AL)的十六进制形式为 86H (3分),CF = 0 (1分),
OF = 0 (1分)
第 4 页,共 10 页
3. 有如下程序片段:
MOV AL, 0F2H
TEST AL, 01H
JZ L1
JMP L2
L1:OR AL, 01H
JMP L3
L2:AND AL, 0FEH
L3:……
执行该程序片段后,(AL)的十六进制形式为 0F3H (3分),CF = 0 (1分),
PF = 1 (1分)
4. 有如下程序片段:
MOV AL, 02H
XOR BL, BL
MOV AH, 13H
MOV CX, 08H
L1:SHL AH, 1
JC L2
JMP L3
L2:ADD BL, AL
L3:LOOP L1
执行该程序片段后,(BL)的十六进制形式为 06H (3分),(CX) = 00H (1分),
ZF = 0 (1分)
第 5 页,共 10 页
5. 有如下程序片段:
MOV AL, 92H
MOV AH, 03H
CMP AL, AH
JG L1
JMP L2
L1:MOV AL,0
JMP L3
L2: MOV AL,0FFH
L3:……
执行该程序片段后,(AL)的十六进制形式为 0FFH (3分),OF = 0 (1分),
SF = 1 (1分)
评阅教师
得分
五、程序设计题(本大题共2小题,第1小题12分,第2小题13分,共25分)。提示:每小题给出了一个程序设计要求,请按照要求写出源程序代码,如果源程序代码中出现语法错误或逻辑错误,则酌情扣分。
1.试编写一个子程序,统计指定8位补码数组中负数的个数,假设指定数组最大长度不超过255字节。子程序的入口参数包括指定数组的偏移量、指定数组的长度,要求使用堆栈传递入口参数,传递顺序按上述顺序;子程序的出口参数为数组中负数的个数,要求使用AL寄存器传递出口参数。(注:仅写出子程序相关源代码,不写调用该子程序的相关源代码)
GRAVES PROC FAR
PUSH BP
MOV BP,SP
PUSH DS
PUSH SI
PUSH CX
PUSH BX
PUSH AX
MOV BX,[BP+6]
MOV CX,[BP+8]
XOR AH,AH
LOOP1:MOV AH,[BX]
OR AH,7FH
CMP AH,0FFH
JE L1
JMP L2
L1:INC AL
L2:INC BX
LOOP LOOP1
POP AX
POP BX
POP CX
POP SI
POP DS
POP BP
RET 4
GRAVES ENDP
2. 试编写一个完整程序,从键盘接收一个字符串(最大长度不超过50个字符),检测字符串中的逗号字符,在每个逗号后插入一个空格字符,换行显示处理后的字符串。(注:写出完整源代码)
DATA SEGMENT
MAXLEN DB 50
LEN DB ?
STR1 DB 51 DUP(?)
STR2 DB 101 DUP(?)
NLINE DB 0AH,0DH,'$'
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
BEGIN:MOV AX,DATA
MOV DS,AX
MOV AH,0AH
LEA DX,MAXLEN
INT 21H
MOV CL,LEN
XOR CH,CH
LEA SI,STR1
LEA DI,STR2
LOOP1:MOV AL,[SI]
MOV [DI],AL
INC DI
CMP AL,','
JE L1
JMP L2
L1:MOV DL,' '
MOV [DI],DL
INC DI
L2:INC SI
LOOP LOOP1
LEA DX,NLINE
MOV AH,09H
INT 21H
LEA DX,STR2
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END BEGIN
展开阅读全文