搜档网
当前位置:搜档网 › 汇编语言程序设计习题集

汇编语言程序设计习题集

汇编语言程序设计习题集
汇编语言程序设计习题集

第四章汇编语言程序设计习题集

一、单项选择题

1. 用高级语言编写的程序()。

A. 只能在基本种计算机上运行

B. 无需经过编译或解释,即可被计算机直接执行

C. 具有通用性和可移植性

D. 几乎不占用内存空间

2. 一般地,我们将计算机指令的集合称为()。

A.机器语言 B. 汇编语言 C. 模拟语言 D. 仿真语言

3. 我们通常所说的“裸机”指的是()。

A. 只装备有操作系统的计算机

B. 不带输入输出设备的计算机

C. 未装备任何软件的计算机

D. 计算机主机暴露在外

4. 计算机的软件系统一般分为()两大部分。

A. 系统软件和应用软件

B. 操作系统和计算机语言

C. 程序和数据

D. DOS和Windows

5.计算机系统软件中的汇编程序是一种()。

A. 汇编语言程序

B. 编辑程序

C. 翻译程序

D. 将高级语言转换成汇编程序的程序

6. 假设V1和V2是用DW定义的变量,下列指令中正确的是:()

A. MOV V1,20H

B. MOV V1,V2

C. MOV AL,V1

D. MOV 2000H,V2

7. PC机所使用的标准键盘向主机发送的代码是()

A . ASCII码

B . 扫描码 C. BCD码 D. 格雷码

8. 8086CPU中断号为8的中断矢量存放在()。

A. 0FFFFH:0008H

B. 0000H:0008H

C. 0000H:0020H

D. 0020H:0000H

9. 已知变量VAR为字型,则TYPE VAR=()。

A. 1

B. 2

C. 3

D. 4

10.汇编语言源程序经MASM汇编后可直接生成的文件是()。

A. .LST

B. .CRF

C. .EXE

D. .OBJ

E. .ASM

F. .MAP

11. 段定义语句以( B )语句结束。

A.END

B.ENDS

C.ENDP

D.ENDM

12.若主程序段中数据段名为DATA,对数据段的初始化操作应为()。

A. MOV AX,DATA

B. MOV AX,DATA

MOV ES,AX MOV DS,AX

C. PUSH DS

D. MOV DS,DATA 13. .EXE文件产生在()之后。

A. 汇编

B. 编辑

C. 用软件转换

D. 连接

14.定义双字变量的定义符是()。

A. DW

B. DQ

C. DD

D. DT

15.假设VAR为变量,指令MOV BX,OFFSET VAR的寻址方式是()。

A.直接寻址 B.间接寻址 C.立即寻址 D.存储器寻址

16.执行下列指令:

STR1 DW ‘AB’

STR2 DB 16 DUP(?)

CONT EQU $-STR1 MOV CX,CONT MOV AX,STR1

HLT

后寄存器CL的值是()。

A. 12H

B. 0EH

C. 0FH

D. 10H

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

A. MOV BX,VAR

B. LDS BX,VAR

C. LES BX,VAR

D. LEA BX,VAR

18. 在段定义时,如果定位类型用户未选择,就表示是隐含类型,其隐含类型是

()。

A. WORD

B. PAGE

C. BYTE

D. PARA

19. BUF DW 10H DUP(3 DUP(2,10H),3,5)

上述语句汇编后,为变量BUF分配的存储单元字节数是()。

A. 80H

B. 100H

C. 124

D. 192

20. 在汇编语言程序的开发过程中使用宏功能的顺序是()。

A. 宏定义,宏调用

B. 宏定义,宏展开

C. 宏定义,宏调用,宏展开

D. 宏定义,宏展开,宏调用

21. 汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不

可省略的项是()。

A. 名字项

B. 操作项

C. 操作数项

D. 注释

22. 编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有

()。

A. CMP

B. SUB

C. AND

D. MOV

23. 为使CX=-1时,转至MINUS而编制了一指令序列,其中错误的序列是

()。

A. INC CX JZ MINUS

B. SUB CX,OFFFFH JZ MINUS

C. AND CX,OFFFFH JZ MINUS

D. XOR CX,OFFFFH JZ MINUS

24. 假设V1和V2是用DW定义的变量,下列指令中正确的是().

A. MOV V1,20H

B. MOV V1,V2

C. MOV AL,V1

D. MOV 2000H,V2

二. 多项选择题(每题有多个正确答案,选出所有正确答案,多选. 少选均不得分)1.变量定义的伪指令助记符有:()。

A. DB

B. DW

C. DD

D. DF

E. DQ

F.

DT

2.主程序与子程序之间传递参数可通过()进行。

A. 堆栈

B. 存储器单元

C. 通用寄存器

D. 指令队列

E. 其他

3. 交换寄存器SI. DI的内容,正确的程序段是()。

A. PUSH SI

B. PUSH SI

PUSH DI PUSH DI

POP SI POP DI

POP DI POP SI

C. MOV AX,SI

D. MOV AX,SI

MOV SI,AX MOV BX,DI

MOV DI,AX XCHG BX,AX

4. 过程(子程序)调用的形式有()。

A. 段内直接

B. 段内间接

C. 段间直接

D. 段间间接

三.填空题

1. 23.当要求段的首地址只能被16整除时,需选择的定位方式为__ _ 。

2.程序段 VAR1 DB?

VAR2 DW 20 DUP(58H,2 DUP(?))

VAR3 DB‘ABCD’

.

.

.

MOV AX,TYPE VAR1

MOV BX,TYPE VAR2

MOV CX,LENGTH VAR2

MOV DX,SIZE VAR2

MOV SI,LENGTH VAR3

AX= ,BX= ,CX= ,DX= ,SI= 。

3.段定义伪指令语句用语句表示开始,以语句表示结束。

4. ARRAY DW 10 DUP(5 DUP(4 DUP(20H,40H,60H)))语句执行后共占字节存储单元。

5.汇编语句中,一个过程有NEAR和FAR两种属性。NEAR属性表示主程序和子程序,FAR属性表示主程序和子程序。

6. DOS系统功能号应放在ah 寄存器中。

7.子程序又称过程,它可以由语句定义,由ret 语句结束,属性可以是或。

8.与指令MOV BX,OFFSET BUF功能相同的指令是。

9.设有伪指令 A DB 01H,23H ,则执行指令

B DW 2 DUP(0)

MOV AL,TYPE A后,(AL)= ;

MOV BL,SIZE B后,(BL)= 。

10. 根据下面的指令和伪指令序列,AX寄存器的内容。

TAB DB 1,2,3,4,5,6

ENTRY EQU 3

MOV BX,OFFSET TAB

ADD BX,ENTRY

MOV AX,WORD PTR [BX]

11.将下列文件类型填入空格:

(1) .obj (2) .exe (3) .crf (4) .asm (5) .lst (6) .map

编辑程序输出的文件有;

连接程序输出的文件有。

12. 数据段中有以下定义:

ARRAY1 EQU 16H

ARRAY2 DW 16H

请指出下面两条指令的寻址方式:

MOV AX,ARRAY1;寻址方式:

MOV AX,ARRAY2;寻址地址:

四、判断(正确的在括号画“√”,错误的画“×”)

1.汇编语言程序语言必须由四部分组成。 ( )

2.汇编语言源程序中所使用的变量,必须在代码段中先定义,后引用。( ) 3.在汇编语言中,一般伪指令语句放在代码段中( )

4.逻辑操作符AND、OR、XOR或NOT,只能用于数字表达式。( )

5.符号定义语句不占内存单元,变量定义语句占内存单元。()

6.汇编语言源程序中至少有一个代码段。( )

7. 伪指令是指示性语句,不产生机器目标代码。 ( )

8. 伪指令BVAR:DB‘ABCD’,200 DUP(?)是合法伪指令。 ( )

9. 伪指令DAT1 DB 7,8,9,10 与DAT1 DW 07H,08H,09H,0AH所预置的数据是一样的。 ( ) 10. 8086CPU的中断向量表共占有1024个字节(00000H-003FFH),所以共有256个中断。

( )

五. 程序分析题

1. 执行下面的程序段后,CX的内容是( )

DAT1 DB 12H,34H,56H

N=$-DAT1

MOV CX,N

2. 执行下面的程序段后,AX的内容是( ), BX的内容是( ).

M1 DB 12H, 34H

MOV SI,OFFSET M1

MOV AX,0

MOV AL,[SI]

MOV BX,WORD PTR [SI]

3.源程序如下:

STR DB ‘ABCDEF0123456789’

MOV BX ,OFFSET STR

MOV AL ,65H

PUSH AX

AND AL ,0FH

XLAT

MOV DL,AL

POP AX

ADD AL,08H

DAA

MOV DH,AL

CMP DH,32H

执行上面程序段后,(DL)=(),(DH)=()。

4.源程序如下:

MOV AX, SEG TABLE ;TABLE为表头

MOV ES, AX

MOV DI, OFFSET TABLE

MOV AL,‘0’

MOV CX, 100

CLD

REPNE SCASB

问: 1) 该段程序完成什么功能?( )

2) 该段程序执行完毕之后,ZF和CX有几种可能的数值?各代表什么含义?

( )

5.源程序如下:

DATA SEGMENT

S9 DB 0,1,2,3,4,5,6,7,8,9

DATA ENDS

LEA SI,S9

LEA,DI,S9+1

MOV CX,5

LOP: MOV AL,[SI]

XCHG AL,[DI]

MOV [SI],AL

ADD SI,2

ADD DI,2

LOOP LOP

上述程序段运行后,S9开始的10个字节存储单元内容是什么?( )

相关主题