- 1298
- 0
- 约7.04千字
- 约 9页
- 2020-03-15 发布于河北
- 举报
课程编号: 课程名称: 汇编语言程序设计 考试形式: 闭卷
学院: 信息工程 专业: 计算机科学与技术 考试日期:
题号
一
二
三
四
五
六
七
八
九
十
总分
累分人 签名
题分
20
12
18
20
30
100
得分
考生注意事项:1、本试卷共7 页,请查看试卷中是否有缺页或破损。如有立即举手报告以便更换。
2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。
一、单项选择题(每小题 2 分,共 20分)
1.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区第一个字单元的物理地址是( A )。
A.12B5BH ; B.12B6BH ;
C.12C59H; D.12BFEH。
2.在下列指令的中,不能实现把AX寄存器内容清零的指令是( C )。
SUB AX,AX;
B.XOR AX,AX;
C.OR AX,0000H;
D.AND AX,0000H。
3.条件转移指令JNE的测试条件为 ( A )。
A.ZF=0 ; B.CF=0 ;
C.ZF=1 ; D.CF=1 。
4.8086CPU在基址加变址的寻址方式中,变址寄存器可以为(D )。
A.BX或CX ; B.CX或SI ;
C.DX或SI ; D.SI或DI。
5.设(AX)=1000H,
NEG AX
NOT AX
【汇编语言程序设计】期末考试-试卷及参考答案
执行上述两条指令后,正确的结果是( B )。
A.(AX)=1001H; B.(AX)=0FFFH;
C.(AX)=1000H; D.(AX)=0111H。
6.串指令中的目的操作数地址一定是由____A_ _提供。( )
A.ES:[DI] ; B.SS:[BP];
C.DS:[SI] ; D.CS:[IP]。
7.将DX的内容除以2,正确的指令是( C )。
A.DIV? 2 ;
B.DIV ? DX,2 ;
C.SAR? DX,1;
D.SHL? DX,1。
8. 用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )。
A.目标程序; B.汇编语言源程序;
C.可执行程序; D.汇编程序。
9.用一条指令仅实现将AX←BX+SI的方法是( D )。
XCHG AX,[BX][SI] ;
MOV AX,[BX+SI];
C.LEA AX,BX[SI] ;
D.LEA AX,[BX][SI]。
10.设SP初值为2000H,执行指令“PUSH AX”后,SP的值是( C )。
A.1FFFH; B.1998H;
C.1FFEH; D.2002H。
1.A 2. C 3.A 4.D 5.B 6.A 7.C 8.B 9.D 10.C
二、指出下列指令的出错原因,并改正。(每小题2分,共12分)
MOV BX,DL;操作数类型不匹配,改正为:MOV BL,DL 或MOV BX,DX
MOV CS,AX;代码段寄存器CS不能作目的操作数,改正为MOV DS,AX
ADD AX,DS;段寄存器DS的内容不能作为加法指令的操作数,改正为
MOV BX,DS
ADD AX,BX
TEST BX,[CX];不能使用CX实现寄存器间接寻址,改正为
MOV SI,CX
TEST BX,[SI]
SUB [BX],[BP+SI];两个操作数不能同为存储器操作数,且两个操作数的数据类型 不确定,改正为:MOV AX,[BX]
SUB AX,[BP+SI]
或:MOV AL,[BX]
SUB AL,[BP+SI]
6.SHL DX ;没有给出移位次数,改正为SHL DX,1或 SHL DX,CL
三、程序填空题(注意:每空只能填一条指令,并注释说明所填指令的作用!每空3分,共18分)
在表TABLE处存放着N个无符号字节数,求表中前10个字节数的总和并保存在AX寄存器中。如果总和值超过AX寄存器的容量,则置AX寄存器内容不变。请在程序中的空格处填入适当指令使其完整。
LEA? BX,TABLE?
MOV? CX
原创力文档

文档评论(0)