华南师范大学汇编试卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华南师范大学
计算机学院2004/2005学年(下)学期期末试卷
《汇编语言程序设计》试卷(A卷)
专业____________年级04级本班级_______姓名________学号
_______
题号一二三四五六总分
得分
(要求:前四题直接写在试卷上)
一、填空题:(每小题2分,共10分)
1.数-27的补码表示是_ _(8位),扩展到16位_。
2.一个字5678H存到地址[1234H]单元中,则56H存放在1234 单元,78H存放在1235 单元。
3.堆栈的栈顶由寄存器指出,非栈顶字由寄存器指出。
4.编程用的操作数有、、。
5.中断向量是,中断向量表是。
二、改错题(每小题2分,共20分)
(在不改变原题意的前提下,在试卷上画出每小题的错误之处,并在右边予以改正。
)
1.MOV CX,SEG DATA
MOV ES,CX
MOV DS,ES ( CX )
2.B DW 100
MOV AL(AX),B (16位)
3.MOV DI,30H
MOV [DI],16H
4.MOV AX,BX,
5.ADD SI,BX
DAA
6.MOV DX,30
SUB [DX],CX
7.PUSH AL
8.MOV BX,16
MOV AL,256
9.INC AX,1
10.ADD 80H,AL
IN 80H,AL
三、阅读程序(根据题目要求写出结果每小题6分,共30分)(可以给指令另加注释,也可以不加。
)
1.下面程序的功能是什么?
MOV AX,X
CMP AX,Y
JGE LAB
XCHG AX,Y
LAB:MOV X,AX
2. 执行下列指令后AX、BX寄存器的内容?
MOV SI,10H
MOV AX,1234H
MOV [SI+12H],AX
LEA BX,[SI]
MOV [SI+14H],BX
LES BX,DWORD PTR [SI+12H]
3. 下面程序的功能是什么?
LAB:MOV CL,4
ROL BX,CL
MOV DL,BL
AND DL,0FH
ADD DL,30H
CMP DL,3AH
JL PRINT
ADD DL,7
PRINT:MOV AH,02
INT 21H
DEC CH
JNZ LAB
4. 下面程序的功能是什么?STRING DB 100 DUP(?)
MOV AX,SEG STRING
MOV DS,AX
LEA SI,STRING
MOV CX,100
LAB: MOV AL,[SI]
CMP AL,’a’
JB LAB1
CMP AL,’z’
JA LAB1
SUB AL,32
MOV [SI],A
LAB1: INC SI
LOOP LAB
5. 下面程序的功能是什么?
MOV AX,SEG STRING
MOV DS,AX
LEA DX,STRING
MOV AH,0AH
INT 21H
XOR BX,BX
MOV CX,BX
MOV CL,STRING[1]
LEA SI,STRING[2]
MOV AL,’A’
LAB:CMP AL,[SI]
JNZ LAB1
INC BX
LAB1:INC SI
LOOP LAB
四、问答题(共10分)
1.简述上机运行汇编语言程序的过程。
(6分)2.简述程序中指令和伪指令的区别。
(4分)
五、程序设计题(每小题15分,共30分)
1.编制完整程序实现下列算式:W=X+Y+36-Z。
设X、Y、Z、W均为双字长数据,各自的低十六位数和高十六位数分别存放在X、X+2、Y、Y+2、Z、Z+2的存储单元中,结果的低十六位字和高十六位字分别存放在W和W+2两个单元中。
2.编制程序段实现:将AX寄存器中的16位二进制数分成四组,每组4位,然后把这4组数分别放在AL、BL、CL、和DL中。
六、附加题(10分,不计入总分,仅作参考)
在附加数据段中有一首址为ADDR的没有排序的字数组,数据的第一个字为数组长度,第二个字开始存放数组各元素,在KEY单元存放一个要删除的字数据。
要求编写一完整程序,在数组中查找该数,如果找到该数(可能有多个),将其从数组中删除,并修改数组的长度。