收藏 分销(赏)

四川大学汇编语言程序设计2015-2016期末试题(附答案).docx

上传人:xrp****65 文档编号:5785161 上传时间:2024-11-19 格式:DOCX 页数:10 大小:50.27KB 下载积分:10 金币
下载 相关 举报
四川大学汇编语言程序设计2015-2016期末试题(附答案).docx_第1页
第1页 / 共10页
四川大学汇编语言程序设计2015-2016期末试题(附答案).docx_第2页
第2页 / 共10页


点击查看更多>>
资源描述
四川大学期末考试试题(闭卷) (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
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服