2006~2007第一学期汇编(C)卷及答案

  • 格式:doc
  • 大小:57.50 KB
  • 文档页数:4
试卷编号:( C)卷
课程编号:H61030005课程名称:汇编语言程序设计考试形式:闭卷
适用班级:计算机姓名:学号:班级:
学院:信息工程专业:计算机科学与技术考试日期:
题号










总分
累分人签名
题分
15
10
20
16
15
24
100
得分
考生注意事项:1、本试卷共6页,请查看试卷中是否有缺页或破损。如有立即举手报告以便更换。
6.串指令中的源操作数地址可以由_____ _提供。()
A.ES:[DI];B.SS:[BP];
C.DS:[SI];D.CS:[IP]。
7.将DX的内容乘以2,正确的指令是()。
A.MUL 2;
B.MUL DX,2;
C.SAR DX,1;
D.SHL DX,1。
8.用户为了解决自己的问题,用汇编语言所编写的程序经汇编、连接后建立的文件称为()
A.目标程序;B.汇编语言源程序;
C.可执行程序;D.汇编程序。
9.用一条指令仅实现将AX←DS:[BX+SI]的方法是()。
A.XCHG AX[BX+SI];
C.LEA AX,BX[SI];
D.LEA AX,[BX][SI]。
10.设SP初值为2000H,执行指令“POP AX”后,SP的值是()。
3.阅读如下程序段,回答所提出的问题.
CMP AX,BX
JGE NEXT
XCHG AX,BX
NEXT:CMP AX,CX
JGE DONE
XCHG AX,CX
DONE:……
请回答:(1)程序段的功能是什么?AX、BX、CX的内容是有符号数还是无符号数?
(2)如果程序段执行前(AX)=0FF9AH,(BX)=0077H, (CX)=0035H,那么程序段执行完后(AX)=?, (BX)=?, (CX)=?
5.MOV DS,1800
6.MOV [DI],VAR1
7.SUB AX,VAR2
8.CMP SS,AX
五、程序分析题(每小题5分,共15分)
1.现有如下程序段:
data SEGMENT
ORG 0100H
var1 DW 1200H,2345H
var2 DB 11H,21H
var3 DB 31H,32H
A.1FFFH;B.1998H;C.1FFEH;D.2002H。
四、指出下列指令的出错原因,并改正。(每小题2分,共16分)
己知:VAR1,VAR2的类型属性分别为字和字节,标号LPFAR的类型属性为FAR。指出下列非法语句的错误原因,并改正。
1.POP CS;
2.INC [BX]
3.MUL 8
4.JLE LPFAR
固定端称,数据进出堆栈的原则是。
2.8086CPU要取出的下一条指令的物理地址由寄存器和的内容配合形成。
3.汇编语言源程序中的语句有三种类型,它们是语句,语句,
语句。
4.用一条逻辑运算指令实现AX寄存器的内容置零,可以是指令
或指令。
三、单项选择题(每小题2分,共20分)
1.某存储单元的逻辑地址为FFABH:0100H,请给出这个数据区第一个字单元的物理地址是()。
4.8086CPU在基址加变址的寻址方式中,基址寄存器可以为()。
A.BX或CX;B.BX或BP;
C.DX或SI;D.SI或DI。
5.设(AX)=1000H,
NOT AX
NEG AX
执行上述两条指令后,正确的结果是()。
A.(AX)=1001H;B.(AX)=0FFFH;
C.(AX)=1000H;D.(AX)=0111H。
2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。
一、名词解释(每小题3分,共15分)
1、有效地址
2、汇编语言源程序
3、标号
4、伪指令
5、段间转移
南昌大学2006~2007学年第一学期期末试卷及答案
二、填空题(每空1分,共10分)
1.堆栈是在内存RAM中定义的一端固定,一端活动的特殊存储区,活动端称
var4 EQU $-var3
var5 EQU 1234H
data ENDS
请回答:
(1)该程序段占有的存储单元字节数是多少?
少?
(2)符号名var4的值是多少?符号名var5的值是多
2.阅读如下程序:
Array DB XXH,XXH,……,XXH;定义的字数组元素
Count EQU $-Array
A.F2B5BH;B.FFBB0H;
C.F2C59H;D.F2BFEH。
2.在下列指令的表示中,不正确的指令是()。
A.MOV AL,[BX+SI];
B.JMP SHORT DONE;
C.DEC [BX];
D.MUL CL
3.条件转移指令JE的测试条件为 ()。
A.ZF=1;B.CF=0;
C.ZF=0;D.CF=1。
R_VLAUE DW?

MOV CX,Count
MOV SI,-1
Again:INC SI
CMP Array[SI],0
LOOPZ Again
JNZ Exit
MOV SI,OFFH
Exit:MOV R_VLAUE,SI
HLT
请问:(1)该程序完成的功能是什么?
(2)程序执行后指出R_VLAUE单元中的内容是什么?
六、编写程序(24分)
1.编制将DS段中名为Buffer的字节存储区改写为空白字符(ASCII码为20H)的程序段。假定Buffer存储区定义为Buffer DB N DUP(?),其中N为字面常量。
(本小题10分)
2.编写完整程序,功能是把N个8位二进制数据转换成16进制字符数据。假定N个数据存放在字节变量VARB中,转换后的字符数据存放在HVARB中,提示0--9的字符码为30H--39H,A--F的字符码为41H--46H。(本小题14分)