1、四川大学期末考试试题(闭卷)(20152016 学年第 1 学期) A 卷课程号: 课序号: 课程名称: 任课教师: 成绩:适用专业年级: 学生人数: 印题份数: 学号: 姓名:考 生 承 诺我已认真阅读并知晓四川大学考场规则和四川大学本科学生考试违纪作弊处分规定(修订) ,郑重承诺:1、已按要求将考试禁止携带的文具用品或与考试有关的物品放置在指定地点;2、不带手机进入考场;3、考试期间遵守以上两项规定,若有违规行为,同意按照有关条款接受处理。考生签名:一、 单项选择题(本大题共 20 小题,每小题 1 分,共 20 分)提示:在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写
2、在下面的表格中。错选、多选或未选均无分。1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 17 18 19 201.以下寄存器中,哪一个不属于地址指针寄存器?( A )(A)AX (B)BX (C)SI (D)DI2.以下标志位中,哪一个不属于状态标志位?( C )(A)CF (B)OF (C)IF (D)AF3.以下寄存器中,哪一个用于指示堆栈的栈顶位置?( C )(A)IP (B)SI (C)SP (D)BX4.以下寄存器中,哪一个用于提供代码段的段基值?( C )(A)SS (B)DS (C)CS (D)AX5.以下指令中,不影响标志位的是哪一条?( D )(A
3、)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)DX8.以下指令中,哪一条一定会访问堆栈段?( D )(A)DEC (B)ADD (C)MOV (D)CALL 9.以下伪指令中,用于结束一个段定义的是哪一个?( D )(A)END (B)SEGMENT (C)ENDP (D)ENDS10.以下伪指令中,用于分配一个字节空间的是哪
4、一个?( B )(A)DB (B)DW (C)DD (D)EQU11.假设(AL)=35H,执行指令 AND AL,0FH 后, (AL)=( D )(A)3FH (B)F5H (C)30H (D)05H12.假设(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
5、)与执行 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
6、)0060H19.假设 CF=1,以下哪一条转移指令一定会转移至目标地址?( A )(A)JC (B)JNC (C)JS (D)JNZ20.假设(BL)=04H,执行指令 XOR BL,0FH 后, (BL)=( D )(A)00H (B)0FH (C)04H (D)0BH第 2 页,共 10 页二、多项选择题(本大题共 5 小题,每小题 2 分,共 10 分)提示:在每小题列出的五个备选项中有二个至五个是符合题目要求的,请将其代码填写在下表中。错选、多选、少选或未选均无分。1 2 3 4 51.以下哪些指令会影响 CF 标志位?( CD )(A)INC (B)DEC (C)AND (D)SU
7、B (E)JC2.以下指令中,哪些会访问堆栈段?( ABDE )(A)CALL (B)RET (C)JMP (D)PUSH (E)POPF3.假设(AL)=92H,CF=1,执行指令 ADC AL,88H 后,以下结果哪些是正确的?( ACE )(A)(AL)=1BH (B)(AL)=1AH (C)CF=1 (D)OF=0 (E)ZF=04.假设(AL)=86H,执行指令 SAR AL,1 后,以下结果哪些是正确的?( ACDE )(A)(AL)=0C3H (B)(AL)=0CH (C)CF=0 (D)OF=0 (E)PF=05.以下指令中,哪些使用了存储器寻址方式?( BCD )(A)ADD
8、 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 XNEG 指令不能跟立即数2. JZ BX X条件转移指令 JZ 不能寄存器寻址,只能跟标号第 3 页,共 10 页评阅教师 得分评阅教师 得分3. OR BL,SI 对4. M
9、OV BYTE PTR SI, BYTE PTR BX XMOV 指令的两个操作数不能都为内存单元5. XCHG AL,05H XXCHG 指令的操作数不能有立即数四、程序分析题(本大题共 5 小题,每小题 5 分,共 25 分) 。提示:每小题给出了一个程序片段,请按各小题的要求分析程序片段的执行结果或功能,并在空白处填写分析结果,分析正确则按照每空后标注的分值给分,如果分析错误则该空不得分。1. 有如下程序片段:MOV AL,35HMOV CL, 04HSHL AL, CL执行该程序片段后, (AL)的十六进制形式为 50H (3 分) ,PF = 1 (1 分) ,ZF = 0 (1 分
10、)2. 有如下程序片段:MOV AL, 76HAND AL, 0FHOR AL, 80H执行该程序片段后, (AL)的十六进制形式为 86H (3 分) ,CF = 0 (1 分) ,OF = 0 (1 分)评阅教师 得分第 4 页,共 10 页3. 有如下程序片段:MOV AL, 0F2HTEST AL, 01HJZ L1JMP L2L1:OR AL, 01HJMP L3L2:AND AL, 0FEHL3:执行该程序片段后, (AL)的十六进制形式为 0F3H (3 分) ,CF = 0 (1 分),PF = 1 (1 分)4. 有如下程序片段:MOV AL, 02HXOR BL, BLMO
11、V AH, 13HMOV CX, 08HL1:SHL AH, 1JC L2JMP L3L2:ADD BL, ALL3:LOOP L1执行该程序片段后, (BL)的十六进制形式为 06H (3 分) , (CX) = 00H (1 分) ,ZF = 0 (1 分)第 5 页,共 10 页5. 有如下程序片段:MOV AL, 92HMOV AH, 03HCMP AL, AHJG L1JMP L2L1:MOV AL,0JMP L3L2: MOV AL,0FFHL3:执行该程序片段后, (AL)的十六进制形式为 0FFH (3 分) ,OF = 0 (1 分),SF = 1 (1 分)五、程序设计题(
12、本大题共 2 小题,第 1 小题 12 分,第 2 小题13 分,共 25 分) 。提示:每小题给出了一个程序设计要求,请按照要求写出源程序代码,如果源程序代码中出现语法错误或逻辑错误,则酌情扣分。1试编写一个子程序,统计指定 8 位补码数组中负数的个数,假设指定数组最大长度不超过 255 字节。子程序的入口参数包括指定数组的偏移量、指定数组的长度,要求使用堆栈传递入口参数,传递顺序按上述顺序;子程序的出口参数为数组中负数的个数,要求使用 AL 寄存器传递出口参数。 (注:仅写出子程序相关源代码,不写调用该子程序的相关源代码)GRAVES PROC FARPUSH BPMOV BP,SPPUS
13、H DSPUSH SIPUSH CXPUSH BXPUSH AXMOV BX,BP+6MOV CX,BP+8评阅教师 得分XOR AH,AHLOOP1:MOV AH,BXOR AH,7FHCMP AH,0FFHJE L1JMP L2L1:INC ALL2:INC BXLOOP LOOP1POP AXPOP BXPOP CXPOP SIPOP DSPOP BPRET 4GRAVES ENDP2. 试编写一个完整程序,从键盘接收一个字符串(最大长度不超过 50 个字符) ,检测字符串中的逗号字符,在每个逗号后插入一个空格字符,换行显示处理后的字符串。(注:写出完整源代码)DATA SEGMENTM
14、AXLEN DB 50LEN DB ?STR1 DB 51 DUP(?)STR2 DB 101 DUP(?)NLINE DB 0AH,0DH,$DATA ENDSCODE SEGMENTASSUME DS:DATA,CS:CODEBEGIN:MOV AX,DATAMOV DS,AXMOV AH,0AHLEA DX,MAXLENINT 21HMOV CL,LENXOR CH,CHLEA SI,STR1LEA DI,STR2LOOP1:MOV AL,SIMOV DI,ALINC DICMP AL,JE L1JMP L2L1:MOV DL, MOV DI,DLINC DIL2:INC SILOOP LOOP1LEA DX,NLINEMOV AH,09HINT 21HLEA DX,STR2INT 21HMOV AH,4CHINT 21HCODE ENDSEND BEGIN