06级汇编语言程序设计期末考试(A卷)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2007-2008学年第二学期 计算机科学系06级《汇编语言程序设计》期末考试试卷(A 卷)
2、此试卷适用于计算机科学与技术本科专业。
一、填空题(本题共10小题,每个空1分,共25分) 1、请用一条指令实现如下操作: (1)将AX 中划‘X’的位清0 15 5 4 0 ┏┳┳┳┳┳┳┳┳┳┳━┳━┳┳┳┳┓ ┃┃┃┃┃┃┃┃┃┃┃X┃X┃┃┃┃┃ 指令:__________________。
┗┻┻┻┻┻┻┻┻┻┻━┻━┻┻┻┻┛ (2)将BL 寄存器的低四位取反:_________________。
2、三个重复前缀指令为______________、________________、______________。
3、DB 指令以_____________为单位分配存贮;DW 指令以_________为单位分配存贮。
故如下数据定义:
V1 DB 4 DUP (2), 2
COUNT EQU 10
V2 DW COUNT DUP(?)
为变量V1分配_____个字节存贮区;为变量V2分配_____个字节存贮区。
4、在执行串处理指令时,为了使地址自动增量,应执行指令: ,该指令使得方向标志位 。
5、汇编语言源程序的扩展名是 ,目标程序的扩展名是 ,可执行程序的扩展名是 。
6、若DS=0F3EH ,SI=2000H ,COUNT=0A8H ,指令MOV AX ,[SI+COUNT]中,源操作数的有效地址EA 为________,其物理地址为________。
7、当标志位________=1时表示无符号数运算产生溢出,而当标志位________=1是表示带符号数运算产生溢出。
——————————————
装————————————————
订————————————————
线
—————————————————
8、访问堆栈指令使用作为栈顶的偏移地址指针,只能使用作为段寄存器。
9、假设存储器中各字节单元的内容是:(06925H)=12H,(06926H)=45H,(06927H)=78H,那么字单元(06925H)= ,字单元(06926H)= 。
10、循环程序通常由、、等三部分构成
二、选择题(本题共15小题,每个空1分,共15分)
1. SI寄存器是属于()。
A. 通用寄存器
B. 段寄存器
C. 变址寄存器
D. 基址寄存器
2. 下列传送指令中有语法错误的是( )。
A. MOV CS,AX
B. MOV DS,AX
C. MOV SS,AX
D.MOV ES,AX
3. 下面指令执行后,改变AL寄存器内容的指令是( )。
A. TEST AL,02H
B. OR AL,AL
C. CMP AL,BL
D. AND AL,BL
4. 与MOV BX,OFFSET VAR指令完全等效的指令是( )。
A. MOV BX,VAR
B. LDS BX,VAR
C. LES BX,VAR
D. LEA BX,VAR
5. 设AL=-15,要使AL=15应执行的指令是( )。
A. INC AL
B. NOT AL
C. NEG AL
D. DEC AL
6. 在条件转移指令中,结果为负数则转移的指令是()。
A. JNS
B. JX
C. JS
D. JP
7. 一条指令中目的操作数不允许使用的寻址方式是()。
A. 寄存器寻址
B. 立即数寻址
C. 变址寻址
D. 寄存器间接寻址
8.指令JMP FAR PTR DONE属于()。
A.段内转移直接寻址
B.段内转移间接寻址
C.段间转移直接寻址
D.段间转移间接寻址
9.下列叙述正确的是()。
A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令C.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令
D .对无符号数条件转移采用JAE/JNB 指令,对有符号数条件转移用JGE/JNL 指令
10.一个有128个字的数据区,它的起始地址为12ABH :00ABH ,请给出这个数据区最末一个字单元的物理地址是( )。
A .12C5BH
B .12B6BH
C .12C59H
D .12BFEH
11.REPZ CMPSW 指令,重复执行的终止条件是( )
A .CX=0或ZF=0
B .CX=0且ZF=0
C .CX=0或ZF=1
D .CX=0且ZF=1
12.在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来(
)。
A .占内存空间小,但速度慢
B .占内存空间大,但速度快
C .占内存空间相同,速度快
D .占内存空间相同,速度慢
13.在程序执行过程中,IP 寄存器中始终保存的是( )。
A .上一条指令的首地址
B .下一条指令的首地址
C .正在执行指令的首地址
D .需计算有效地址后才能确定地址
14.使用DOS 系统功能调用时,使用的软中断指令是( )。
A .INT 21
B .INT 10H
C .INT 16H
D .INT 21H
15.在8086/8088汇编语言中,标号是( )。
A .文件名
B .指令的符号地址
C .程序名
D .常量的符号表示
5分,共15分)
——————————————装————————————————订————————————————线
—————————————————
1.开发一个汇编程序应经历哪些步骤?(5分)
2.循环程序有哪几部分组成?各自的作用是什么?(5分)
3.D1 DB 20H DUP(?)
D2 DW D1
请写出用一条指令实现取D1的偏移地址=>SI中的三种方法?(5分)
四、请说明下列语句的错误(本题共5小题,每小题2分,共10分) 1. SUB 0FFH ,BX 2. MOV DX ,AL 3. ADD BUF1,BUF2 4. MOV AX, 20H[BX][BP] 5. MOV DS ,1000H
1. ORG 1221H
NUM DW 12H
MOV AX ,NUM
MOV BX ,OFFSET NUM
MOV CL ,BYTE PTR NUM+1
MOV CH ,TYPE NUM
HLT
执行上述程序段后:(AX )= ,(BX )= ,(CX )=______。
(6分)
2.已知:BX=4567H
NEG BX
INC BX
NEG BX
DEC BX
程序段执行后,BX=________,CF=________。
(4分)
——————————————
装————————————————
订————————————————
线
—————————————————
分,共8分)
1.DA1数据区中有50个字节数据,下面程序段将每个数据的低四位变反,高四位不变,并依次存入DA2数据区中。
请将程序补充完整。
MOV CX,50
LEA SI,DA1
LEA DI,DA2
K1:MOV AL,[SI]
(1)____________
MOV [DI],AL
INC SI
INC DI
DEC CX
(2)_____________。
2.下面程序段完成将存储单元A1中一个压缩型BCD码拆成二个非压缩型BCD码,高位BCD码存放在A3单元,低位BCD码存放在A2单元,再分别转换为对应的ASCⅡ码。
请将程序补充完整。
MOV AL,A1
MOV CL,4
(3)_____ _____
OR AL,30H
MOV A3,AL
MOV AL,A1
(4)___ _______
OR AL,30H
MOV A2,AL
——————————————
七、程序设计题(共2小题,共17分)
1.编制程序段,实现以下功能:从键盘输入一位十进制数N,然后在屏幕的下一行上显示N个’#’ 号。
(8分)
装————————————————
订————————————————
线—————————————————
2.在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编制一完整的源程序,求它们对应项之差,并将差数存入以SUM为首址的数据区中。
(9分)
DATA SEGMENT
BUF1 DW -56,24,54,-1,89,-8,45,-23,43,76
BUF2 DW 45,-23,124,345,-265,65,-23,87,-34,65
SUM DW 10 DUP(0)
DATA ENDS。