搜档网
当前位置:搜档网 › 《汇编语言程序设计》期末考试-试卷及答案

《汇编语言程序设计》期末考试-试卷及答案

《汇编语言程序设计》期末考试-试卷及答案

一、选择题(每题1分,共20分)

1、下面存储器中属于辅助存储器的是:(CDE)

A.RAM

B.ROM

C.磁盘

D.光盘

E.硬盘

2、通常说计算机的内存为32M、64M或128M指的是:(C)

A.RAM的容量

B.ROM的容量

C.RAM和ROM的容量

D.硬盘的容量

3、下面的说法正确的是:(AE)

A.存储器是计算机中存放程序和数据的记忆部件。

B.存储器中的信息被读出后即从存储器中消失。

C.存储器中如果已经存有数据,则不能再向其中写入新的数据。

D.半导体存储器的存取速度比CD-ROM的存取速度要慢。

E.辅助存储器需要CPU通过I/O接口访问,因而速度较慢。

4、下面属于系统软件的有(A)

A. WINDOWS

B. MASM

C. Visual C++

D. WORD

5. 汇编语言的优点不包括__D___。

A 直接有效地控制硬件

B 生成的代码序列短小

C 运行速度快

D 编程容易

6. 下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( AB)

A、AX,BX,CX,DX

B、BX,BP,SI,DI

C、SP,IP,BP,DX

D、CS,DS,ES,SS

7. 可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是( D)。

A.AX,BX,CX,DX

B.DS,ES,CS,SS

C.SP,BP,IP,BX

D.SI,DI,BP,BX

8.某存储单元的物理地址是12345H,可以作为它的段地址有(D )

A.2345H B.12345H

C.12340H D.1234H

9、循环指令LOOPNZ终止循环的条件是(B )。

A、CX=0,且ZF=0

B、CX=0,或ZF=1

C、CX≠0,且ZF=0

D、CX≠0,或ZF=1

10.执行下列指令后,正确的结果是(B )。

MOV AL,100

MOV BL,-2

A、 AL=100H BL=02H

B、 AL=64H BL=0FEH

C、 AL=64H BL=82H

D、 AL=100H BL=0FEH

11、执行INC指令除对SF、ZF有影响外,还要影响的标志位是( A)。

A、OF,AF,PF

B、OF,AF,CF

C、OF,PF,CF

D、AF,PF,CF

12.AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是(C )

A.指令XOR AX,AX执行后,AX内容不变,但设置了标志位

B.指令OR DX,1000H执行后,将DX最高位置1,其余各位置0

C.指令AND AX,0FH执行后,分离出AL低四位

D.NOT AX,执行后,将AX清0

13、下列传送指令中有语法错误的是( A)。

A、MOV CS,AX

B、MOV DS,AX

C、MOV SS,AX

D、MOV ES,AX

14.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是(B )A.ADD BH,01H B.OR BH,01H

C.XOR BH,01H D.TEST BH,01H

15、执行除法指令后,影响的标志位是(D )。

A、CF,OF

B、SF,ZF

C、CF,OF,SF

D、AF,CF,OF,PF,SF,ZF都不确定

16.下面各传送指令中,正确的是(C )

A.MOV [DI],[SI] B.MOV [DX+DI],AL

C.MOV WORD PTR [BX],0100H D.MOV AL,BX

17、与MOV BX,OFFSET VAR指令完全等效的指令是(D )。

A、MOV BX,VAR

B、LDS BX,VAR

C、LES BX,VAR

D、LEA BX,VAR

18.检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP AL,BL”指令后应跟的分支指令是( A)

A.JNC LOP1 B.JA LOP1

C.JC LOP1 D.JGE LOP1

19、编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有( D)。

A、CMP

B、SUB

C、AND

D、MOV

20.设AL=0AH,下列指令执行后能使AL=05H的是(C )

A.NOT AL B.AND AL,0FH

C.XOR AL,0FH D.OR AL,0FH

二、填空题(每空1分,共23分)

1.计算机的系统分为_硬件(系统)__和_软件(系统)__两大部分。其中___硬件(系统)_是计算机工作的物质基础,由运算器、控制器、存储器、输入设备和输出设备组成;_软件(系统)_是为了运行、管理和维护计算机而编制的各种程序的总和。

2、中央处理单元的英文缩写是_CPU_,它包括_运算器_、_控制器_、_寄存器_ 三部分。

3、存储器中数据是以__字节_____为单位存放的,它是一个__8__位二进制数。

4、在表达存储容量时,1KB=_1024KB;1MB=_1024____KB。

5、8086/8088CPU的地址线有20条,它的存储容量为_1MB(220)__。

6、在微机系统中,常用的输入设备有___键盘(鼠标)_______________,

输出设备有__________显示器______,光盘和磁盘等辅存可以认为是_既是输入设备又是输出设备_____。

7、系统通过__端口(I/O接口)__与外设进行通信。

8机器指令是一组 ___二进制代码_______,由__操作码_____和__操作数___构成。

9汇编语言是用___助记符______表示的指令。用汇编语言编写的程序叫做_汇编语言源程序____。他不能被直接执行,需要经过__汇编程序____翻译成机器语言代码才可以执行。

三、简答题(共57分)

1.汇编语言与高级语言的比较(3分)

(简述汇编语言相对高级语言的特点)要求程序执行较快,占用较小的存储容量;

要求直接、有效地控制硬件;

大型软件中需要提高性能、优化处理的部分;

开发新的处理器程序的时候;底层系统软件分析;

加密解密,分析和防治计算机病毒。

2.汇编语言的应用场合(4分)

要求程序执行较快,占用较小的存储容量;

要求直接、有效地控制硬件;

大型软件中需要提高性能、优化处理的部分;

开发新的处理器程序的时候;

底层系统软件分析;

加密解密,分析和防治计算机病毒。

3.将十进制数据“46”和“-46”用8比特位原码、补码表示。(4分)

先将“46”转换为二进制数:(46)10=(2E)16=(00101110)2

“46”用原码表示为:46=(00101110)原码

“46”用补码表示为:46=(00101110)补码

“-46”用原码表示为:-46=(10101110)原码

“-46”用补码表示为:-46=(11010010)补码

4.完成同指令XCHG AX,BX相同功能的指令或指令序列(4分)

MOV CX,AX

MOV AX,BX

MOV BX,CX

5.假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数

据段中变量名VAL的偏移地址为0050H,试指出下列源操作数字段的寻址方式是什么?其物理地址值是多少?(12分)

(1) MOV AX, 0ABH (2) MOV AX, BX

(3) MOV AX, [100H] (4) MOV AX, VAL

(5) MOV AX, [BX] (6) MOV AX, ES:[BX]

(7) MOV AX, [BP] (8) MOV AX, [SI]

(9) MOV AX, [BX+10] (10) MOV AX, VAL[BX]

(11) MOV AX, [BX][SI] (12) MOV AX, VAL[BX][SI]

(1) 立即方式;操作数在本条指令中

(2) 寄存器寻址方式;操作数为 (BX)=0100H

(3) 直接寻址方式;PA=20100H

(4) 直接寻址方式;PA=20050H

(5) BX寄存器间接寻址方式;PA=20100H

(6) 附加段BX寄存器间接寻址方式;PA=21100H

(7) BP寄存器间接寻址方式;PA=15010H

(8) SI寄存器间接寻址方式;PA=200A0H

(9) BX寄存器相对寻址方式;PA=20110H

(10) BX寄存器相对寻址方式;PA=20150H

(11) BX和SI寄存器基址变址寻址方式;PA=201A0H

(12) BX和SI寄存器相对基址变址寻址方式;PA=201F0H

6.在ARRAY数组中依次存储了七个字数据,紧接着是名为ZERO的字单元,表示如下:(4分)

ARRAY DW 23, 36, 2, 100, 32000, 54, 0

ZERO D W ?

(1) 如果BX包含数组ARRAY的初始地址,请编写指令将数据0传送给ZERO单元。

(2) 如果BX包含数据0在数组中的位移量,请编写指令将数据0传送给ZERO单元。

答:(1) MOV AX, [BX+(7-1)*2]

MOV [BX+(7)*2], AX

(2) MOV AX, ARRAY [BX]

MOV ARRAY [BX+2], AX

7 如TABLE为数据段中0032单元的符号名,其中存放的内容为1234H,试问以下两条指令有什么区别?指令执行完后AX寄存器的内容是什么?(4分)

MOV AX, TABLE

LEA AX, TABLE

答:MOV AX, TABLE是将TABLE单元的内容送到AX,(AX)=1234H

0AH

00H

14H

00H

1EH

00H

28H

00H

32H

00H TABLE TABLE+3

8题的TABLE存

储方式

LEA AX,TABLE是将TABLE单元的有效地址送到AX,(AX)=0032H

8 执行下列指令后AX寄存器中的内容是什么?(4分)

TABLE DW 10, 20, 30, 40, 50 ;000AH, 0014H, 001EH, 0028H, 0032H

ENTRY DW 3

MOV BX, OFFSET TABLE

ADD BX, ENTRY

MOV AX, [BX]

答:(AX)=1E00H

9设(DS)=1B00H,(ES)=2B00H,有关存储单元的内容如上右图所示。请写出两条指令把字变量X 装入AX寄存器。(4分)

答:MOV BX, [2000H]

MOV AX, ES:[BX]

10.写出执行以下计算的指令序列,其中X、Y、Z、R、W均为存放16位带符号数单元的地址。(8分)

(1) Z←W+(Z-X) (2) Z←W-(X+6)-(R+9)

(3) Z←(W*X)/(Y+6),R←余数(4) Z←((W-X)/5*Y)*2

答:(1) MOV AX, Z ;以下程序都未考虑带符号数的溢出

SUB AX, X

ADD AX, W

MOV Z, AX

(2) MOV BX, X

ADD BX, 6

MOV CX, R

ADD CR, 9

MOV AX, W

SUB AX, BX

SUB AX, CX

MOV Z, AX

(3) ADD Y, 6

MOV AX, W

IMUL X

IDIV Y

MOV Z, AX

MOV R, DX

(4) MOV AX, W

SUB AX, X

CWD

MOV BX, 5

IDIV BX

IMUL Y

SHL AX, 1 ;((DX),(AX))*2

RCL DX, 1

11. 已知程序段如下:(6分)

MOV AX, 1234H

MOV CL, 4

ROL AX, CL

DEC AX

MOV CX, 4

MUL CX

INT 20H

(1) 每条指令执行完后,AX寄存器的内容是什么?

(2) 每条指令执行完后,进位、符号和零标志的值是什么?

(3) 程序结束时,AX和DX的内容是什么?

MOV AX, 1234H ;(AX)=1234H,标志位不变

MOV CL, 4 ;(AX)和标志位都不变

ROL AX, CL ;(AX)=2341H,CF=1,SF和ZF不变

DEC AX ;(AX)=2340H,CF=1不变,SF=0,ZF=0 MOV CX, 4 ;(AX)和标志位都不变

MUL CX ;(AX)=8D00H,CF=OF=0,其它标志无定义INT 20H

试问:

(1) 每条指令执行完后,AX寄存器的内容是什么?

(2) 每条指令执行完后,进位、符号和零标志的值是什么?

(3) 程序结束时,AX和DX的内容是什么?

答:(1) 见注释;

(2) 见注释;

(3) (AX)=8D00H,(DX)=0

相关主题