汇编语言程序设计 开卷考试卷
院系名称: 国际学院 专业班级: 计算机应用技术 学生姓名: 学 号: 200838940
2010 年 12 月 6 日
1
2010 至 2011 学年第 一 学期
汇编语言程序设计 开卷考试纸
题号 得分 一 二 三 四 五 六 总分
得分 评卷人 一. 单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将
其号码填在题干后的括号内,每小题1分,共20分) 1 2 3 4 5 6 7 8 9 10
B D A D B C C A B A
11 12 13 14 15 16 17 18 19 20
C A C B C C C B C C
1、堆栈栈顶指令指针寄存器是()。
A IP B SP C BP D PSW
2、当执行指令ADD AX,BX后,若AX的内容为2B80H,设置的奇偶标志位PF=1,下面的叙述正确的是( )。
A 表示结果中含1的个数为偶数 B 表示结果中含1的个数为奇数
C 表示该数为偶数 D 表示结果中低八位含1的个数为偶数 3、完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是( )。
A MOV AL,00H B AND AL,00H C XOR AL,AL D SUB AL,AL
4、完成同指令XCHG AX,BX相同功能的指令或指令序列是( )。
A MOV AX,BX B MOV BX,AX
C PUSH AX POP BX
D MOV CX,AX MOV AX,BX MOV BX,CX
5、执行下列指令后,正确的结果是( )。
MOV AL,101 MOV BL,-2
A AL=100H BL=02H B AL=65H BL=0FEH C AL=65H BL=82H C AL=100H BL=0FEH 6、当一个带符号数小于0FBH时程序转移,需选用的条件转移指令是( )。 A JLE B JNL C JNGE D JB
7、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( )
A、AX,BX,CX,DX B、BX,BP,SI,DI C、SP,IP,BP,DX D、CS,DS,ES,SS
8、循环指令LOOPNZ终止循环的条件是( )。
A、CX=0,且ZF=0 B、CX=0,或ZF=1
I
C、CX=0,且ZF≠0 D、CX=0,或ZF≠1
9、对寄存器AX的内容乘以4的正确指令序列是( )。
A、SHR AX,1 SHR AX,1 B、SHL AX,1 SHL,AX,1 C、ROL AX,1 ROL AX,1 D、RCR AX,1 RCR AX,1
10、执行INC指令除对SF、ZF有影响外,还要影响的标志位是( )。
A、OF,AF,PF B、OF,AF,CF C、OF,PF,CF D、AF,PF,CF
11、下面指令执行后,改变AL寄存器内容的指令是( )。
A、TEST AL,02H B、OR AL,AL C、CMP AL,BL D、AND AL,BL
12、执行下面指令序列后,结果是( )。
MOV AL,82H CBW
A、AX=0FF82H B、AX=8082H C、AX=0082H D、AX=0F82H
13、与MOV BX,OFFSET VAR指令完全等效的指令是( )。
A、MOV BX,VAR B、LDS BX,VAR C、LES BX,VAR D、LEA BX,VAR
14、编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有
( )。 A、CMP B、SUB C、AND D、MOV
15、串操作指令中,目的操作数的段地址一定在( )寄存器中
A. CS B. SS C. DS D. ES 16、串操作指令中,每次操作后使SI/DI为减量应设置( )
A.DF=0 B.TF=1 C.DF=1 D.TF=0
17、在下列语句中,AGAIN称为( ) AGAIN: INC SI
A.符号 B.助记符 C.标号 D.变量 18、DA2 DB‘AB’,‘CD’ ┇
MOV AX,WORD PTR DA2+2
上述语句执行后AX中的值是( ) A.‘CD’ B.‘BC’ C.‘DA’ D.‘CB’
19、检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP AL,BL”指令后应跟的分支指令是( )
II
A.JNC LOP1 B.JA LOP1 C.JC LOP1 D.JAE LOP1
20、检查BUF的内容是否为正偶数,如是正偶数,则令AL=0。下面程序段正确的是( )。 A、MOV AL,BUF JS K1 SHR AL,1 JNC K1 MOV AL,0 K1:„„ B、MOV AL,BUF AND AL,11 JNZ K2 MOV AL,0 K2:„„ C、MOV AL,BUF TEST AL,81H JNZ K3 MOV AL,0 K3:„„ D、MOV AL,BUF JNP K4
TEST AL,80H JNZ K4 MOV AL,0 K4:„„ 得分 评卷人 二. 三.1、MOV CX,BL
2、MOV DX,2000H
3、MOV DS,3000H
4、MOV CS,BX
5、MOV 20h,AL
6、ADC AX,DS
7、MOV [BX+SI],BX
判断题(正确的在题后括号内划“√”,错误的划“×”,并改正。每
小题2分,共20分)
( × ) ( √ ) ( √ ) ( × ) ( × ) ( × ) ( √ )
III
8、XCHG [SI],30h ( × )
9、MOV AX,[BX]的原操作数是寄存器间接寻址。 ( √ )
10、同一地址即可以看作是字节单元的地址,也可以看作是字单元的地址( √ ) 得分 评卷人
四. 简答(共10分)
什么是8086中的逻辑地址和物理地址?逻辑地址如何转换成物理地
址?请将如下逻辑地址用物理地址表达:(1)FAFBh:0(2)60h:17h(3)2000h:1500h(4)B821h:4567h (10分)
答:8086中含有存储器。存储器中每一个单元的地址可以用两种方法表示: 1.逻辑地址:其表达形式为“段地址:段内偏移地址”。 2.物理地址:CPU与存储器进行数据交换时在地址总线上提供的20位地址信息称为物理地址。 物理地址=段地址×10H+段内偏移量 (1)FAFB0H(2)617H(3)21500H(4)BC777H
得分 评卷人 五. 编制程序程序语句块,实现Z=X+Y将结果保存至Z。
X,Y,Z题目已经定义,请把程序主体部分补充完毕。
(共10分)
.model small .stack .data X DB 0ABH Y DW 0FFACH Z DD 0 .code .startup
IV
.exit 0 end 得分 评卷人 六. 简述汇编语言与高级语言的区别?(20分)
电脑语言一共分三种 一是机器语言,就是00111000..... 二是汇编语言, 三是高级语言, 高级语言还有很多小类 所有语言都要变成机器语言才可以被电脑所认识的 也可以说 电脑只认机器语言,而人们为了更方便的使用,才有了后面的两种 汇编诺言是由固化在硬件中的机构来编译成为机器语言的。 高级语言是依靠软件来译为机器语言的。 这就导致了汇编语言有更好的适应性,不依赖软件的环境。 另外,汇编语言也可以更为自由和方便的操做更基本的电脑部分,如内存 得分 评卷人
七. 论述汇编语言的优缺点和应用场合?(20分)
汇编语言的优点是可以直接控制计算机硬件部件 l.可以直接存取寄存器和I/O
2.编写的代码可以非常精确的被执行 3.可以编写出比一般编译系统高效的代码 4.可以作为不同语言或不同标准的接口 缺点在于汇编语言是一个非常低级的语言
1.非常冗长单调,在DOS下编程时就可以体会到 2.易出BUG,且调试困难 3.代码不易维护
4.兼容性不好,与硬件关系非常紧密 汇编语言主要应用场合有以下几方面:
(1)程序要具有较快的执行时间,或者只能占用较小的存储容量。如:操作系统的核心程序段,实时控制系统的软件,智能仪器仪表的控制程序的等。
(2)大型软件需要提高性能、优化处理的部分。如:计算机系统频繁调用的子程序、动态链接库等。
(3)没有合适的高级语言或只能采用汇编语言的时候。如:开发最新的处理器程序时,暂时没有支持新指令的编译程序。
(4)汇编语言还有许多实际应用,如:分析具体系统尤其是该系统的低层软件、加密解密软件、分析和防治计算机病毒等。
V
因篇幅问题不能全部显示,请点此查看更多更全内容