四川大学总汇编语言程序设计期末精彩试题附问题详解文档格式.docx

上传人:b****2 文档编号:1006326 上传时间:2023-04-30 格式:DOCX 页数:10 大小:18.30KB
下载 相关 举报
四川大学总汇编语言程序设计期末精彩试题附问题详解文档格式.docx_第1页
第1页 / 共10页
四川大学总汇编语言程序设计期末精彩试题附问题详解文档格式.docx_第2页
第2页 / 共10页
四川大学总汇编语言程序设计期末精彩试题附问题详解文档格式.docx_第3页
第3页 / 共10页
四川大学总汇编语言程序设计期末精彩试题附问题详解文档格式.docx_第4页
第4页 / 共10页
四川大学总汇编语言程序设计期末精彩试题附问题详解文档格式.docx_第5页
第5页 / 共10页
四川大学总汇编语言程序设计期末精彩试题附问题详解文档格式.docx_第6页
第6页 / 共10页
四川大学总汇编语言程序设计期末精彩试题附问题详解文档格式.docx_第7页
第7页 / 共10页
四川大学总汇编语言程序设计期末精彩试题附问题详解文档格式.docx_第8页
第8页 / 共10页
四川大学总汇编语言程序设计期末精彩试题附问题详解文档格式.docx_第9页
第9页 / 共10页
四川大学总汇编语言程序设计期末精彩试题附问题详解文档格式.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

四川大学总汇编语言程序设计期末精彩试题附问题详解文档格式.docx

《四川大学总汇编语言程序设计期末精彩试题附问题详解文档格式.docx》由会员分享,可在线阅读,更多相关《四川大学总汇编语言程序设计期末精彩试题附问题详解文档格式.docx(10页珍藏版)》请在冰点文库上搜索。

四川大学总汇编语言程序设计期末精彩试题附问题详解文档格式.docx

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.以下寄存器中,哪一个用于指示堆栈的栈顶位置?

(A)IP(B)SI(C)SP(D)BX

4.以下寄存器中,哪一个用于提供代码段的段基值?

(A)SS(B)DS(C)CS(D)AX

5.以下指令中,不影响标志位的是哪一条?

(D)

(A)INC(B)AND(C)SUB(D)XCHG

第1页,共10页

试卷编号:

6.SF标志位的含义是如下哪一个?

(A)符号标志(B)零值标志(C)补码溢出标志(D)进位标志

7.LOOP指令隐含使用如下哪一个寄存器作为计数器?

(A)AX(B)BX(C)CX(D)DX

8.以下指令中,哪一条一定会访问堆栈段?

(A)DEC(B)ADD(C)MOV(D)CALL

9.以下伪指令中,用于结束一个段定义的是哪一个?

(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)

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

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

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

18.假设(SP)=0060H,执行指令PUSHAX后,(SP)=(b)

(A)0058H(B)005EH(C)0062H(D)0060H

19.假设CF=1,以下哪一条转移指令一定会转移至目标地址?

(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.以下哪些指令会影响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

SHLAH,1

JCL2

ADDBL,AL

LOOPL1

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

第5页,共10页

5.有如下程序片段:

MOVAL,92H

MOVAH,03H

CMPAL,AH

JGL1

MOVAL,0

L2:

MOVAL,0FFH

执行该程序片段后,(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

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

MOVAL,[SI]

MOV[DI],AL

INCDI

CMPAL,'

'

MOVDL,'

'

MOV[DI],DL

INCSI

LEADX,NLINE

MOVAH,09H

INT21H

LEADX,STR2

MOVAH,4CH

CODEENDS

ENDBEGIN

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2