四川大学汇编语言程序设计期末试题附答案解析.docx

上传人:b****5 文档编号:3258981 上传时间:2022-11-21 格式:DOCX 页数:9 大小:18.31KB
下载 相关 举报
四川大学汇编语言程序设计期末试题附答案解析.docx_第1页
第1页 / 共9页
四川大学汇编语言程序设计期末试题附答案解析.docx_第2页
第2页 / 共9页
四川大学汇编语言程序设计期末试题附答案解析.docx_第3页
第3页 / 共9页
四川大学汇编语言程序设计期末试题附答案解析.docx_第4页
第4页 / 共9页
四川大学汇编语言程序设计期末试题附答案解析.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

四川大学汇编语言程序设计期末试题附答案解析.docx

《四川大学汇编语言程序设计期末试题附答案解析.docx》由会员分享,可在线阅读,更多相关《四川大学汇编语言程序设计期末试题附答案解析.docx(9页珍藏版)》请在冰豆网上搜索。

四川大学汇编语言程序设计期末试题附答案解析.docx

四川大学汇编语言程序设计期末试题附答案解析

四川大学期末考试试题(闭卷)

(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,执行指令ANDAL,0FH后,(AL)=(D)

(A)3FH(B)F5H(C)30H(D)05H

12.假设(AL)=02H,执行指令INCAL后,CF=(D)

(A)0(B)1(C)2(D)与执行INC指令前一致

13.假设(AL)=05H,执行指令ADDAL,0后,PF=(B)

(A)0(B)1(C)2(D)与执行SUB指令前一致

14.假设(AL)=88H,执行指令SUBAL,90H后,OF=(A)

(A)0(B)1(C)2(D)与执行ADD指令前一致

15.假设(AL)=68H,执行指令ADDAL,08H后,AF=(B)

(A)0(B)1(C)2(D)与执行ADD指令前一致

16.假设(AL)=81H,执行指令ROLAL,1后,(AL)=(C)

(A)80H(B)18H(C)03H(D)0C0H

17.假设(AL)=93H,执行指令SHLAL,1后,OF=(b)

(A)0(B)1(C)2(D)与执行ADD指令前一致

18.假设(SP)=0060H,执行指令PUSHAX后,(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,执行指令XORBL,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,执行指令ADCAL,88H后,以下结果哪些是正确的?

(ACE)

(A)(AL)=1BH(B)(AL)=1AH(C)CF=1(D)OF=0(E)ZF=0

4.假设(AL)=86H,执行指令SARAL,1后,以下结果哪些是正确的?

(ACDE)

(A)(AL)=0C3H(B)(AL)=0CH(C)CF=0(D)OF=0(E)PF=0

5.以下指令中,哪些使用了存储器寻址方式?

(BCD)

(A)ADDAL,02H(B)SUBBL,[0104H](C)INCBYTEPTR[BX]

(D)ANDAL,[SI](E)XORBL,CL

评阅教师

得分

三、判断改错题(本大题共5小题,每小题4分,共20分)提示:

下列各语句可能有语法错误,判断各语句正确与否,对于错误的语句,需解释其错误的原因,对于正确的语句,若做出正确判断则给4分,对于错误的语句,做出正确判断给2分,做出正确的解释再给2分。

1.NEG145X

NEG指令不能跟立即数

 

2.JZBXX

条件转移指令JZ不能寄存器寻址,只能跟标号

 

第3页,共10页

3.ORBL,SI

4.MOVBYTEPTR[SI],BYTEPTR[BX]X

MOV指令的两个操作数不能都为内存单元

5.XCHGAL,05HX

XCHG指令的操作数不能有立即数

评阅教师

得分

四、程序分析题(本大题共5小题,每小题5分,共25分)。

提示:

每小题给出了一个程序片段,请按各小题的要求分析程序片段的执行结果或功能,并在空白处填写分析结果,分析正确则按照每空后标注的分值给分,如果分析错误则该空不得分。

1.有如下程序片段:

MOVAL,35H

MOVCL,04H

SHLAL,CL

执行该程序片段后,(AL)的十六进制形式为50H(3分),PF=1(1分),

ZF=0(1分)

2.有如下程序片段:

MOVAL,76H

ANDAL,0FH

ORAL,80H

执行该程序片段后,(AL)的十六进制形式为86H(3分),CF=0(1分),

OF=0(1分)

第4页,共10页

3.有如下程序片段:

MOVAL,0F2H

TESTAL,01H

JZL1

JMPL2

L1:

ORAL,01H

JMPL3

L2:

ANDAL,0FEH

L3:

……

执行该程序片段后,(AL)的十六进制形式为0F3H(3分),CF=0(1分),

PF=1(1分)

 

4.有如下程序片段:

MOVAL,02H

XORBL,BL

MOVAH,13H

MOVCX,08H

L1:

SHLAH,1

JCL2

JMPL3

L2:

ADDBL,AL

L3:

LOOPL1

执行该程序片段后,(BL)的十六进制形式为06H(3分),(CX)=00H(1分),

ZF=0(1分)

 

第5页,共10页

5.有如下程序片段:

MOVAL,92H

MOVAH,03H

CMPAL,AH

JGL1

JMPL2

L1:

MOVAL,0

JMPL3

L2:

MOVAL,0FFH

L3:

……

执行该程序片段后,(AL)的十六进制形式为0FFH(3分),OF=0(1分),

SF=1(1分)

评阅教师

得分

五、程序设计题(本大题共2小题,第1小题12分,第2小题13分,共25分)。

提示:

每小题给出了一个程序设计要求,请按照要求写出源程序代码,如果源程序代码中出现语法错误或逻辑错误,则酌情扣分。

1.试编写一个子程序,统计指定8位补码数组中负数的个数,假设指定数组最大长度不超过255字节。

子程序的入口参数包括指定数组的偏移量、指定数组的长度,要求使用堆栈传递入口参数,传递顺序按上述顺序;子程序的出口参数为数组中负数的个数,要求使用AL寄存器传递出口参数。

(注:

仅写出子程序相关源代码,不写调用该子程序的相关源代码)

GRAVESPROCFAR

PUSHBP

MOVBP,SP

PUSHDS

PUSHSI

PUSHCX

PUSHBX

PUSHAX

MOVBX,[BP+6]

MOVCX,[BP+8]

XORAH,AH

LOOP1:

MOVAH,[BX]

ORAH,7FH

CMPAH,0FFH

JEL1

JMPL2

L1:

INCAL

L2:

INCBX

LOOPLOOP1

POPAX

POPBX

POPCX

POPSI

POPDS

POPBP

RET4

GRAVESENDP

 

2.试编写一个完整程序,从键盘接收一个字符串(最大长度不超过50个字符),检测字符串中的逗号字符,在每个逗号后插入一个空格字符,换行显示处理后的字符串。

(注:

写出完整源代码)

DATASEGMENT

MAXLENDB50

LENDB?

STR1DB51DUP(?

STR2DB101DUP(?

NLINEDB0AH,0DH,'$'

DATAENDS

CODESEGMENT

ASSUMEDS:

DATA,CS:

CODE

BEGIN:

MOVAX,DATA

MOVDS,AX

MOVAH,0AH

LEADX,MAXLEN

INT21H

MOVCL,LEN

XORCH,CH

LEASI,STR1

LEADI,STR2

LOOP1:

MOVAL,[SI]

MOV[DI],AL

INCDI

CMPAL,','

JEL1

JMPL2

L1:

MOVDL,''

MOV[DI],DL

INCDI

L2:

INCSI

LOOPLOOP1

LEADX,NLINE

MOVAH,09H

INT21H

LEADX,STR2

INT21H

MOVAH,4CH

INT21H

CODEENDS

ENDBEGIN

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1