汇编语言程序设计期末考试题 下载本文

内容发布更新时间 : 2024/6/27 4:28:59星期一 下面是文章的全部内容请认真阅读。

汇编语言程序设计期末考试题

学院(系): 学号: 姓名: 计分:

一、 项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号

内。每小题1分,共10分)

1. CPU发出的访问存储器的地址是( )

A. 物理地址 B.偏移地址 C.逻辑地址 D.段地址 2. 将高级语言的程序翻译成机器码程序的实用程序是( )

A.编译程序 B.汇编程序 C.解释程序 D.目标程序 3. DEC BYTE PTR[BX]指令中的操作数的数据类型是( )

A.字 B.双字 C.字节 D.四字 4. 在下列语句中,BUFFER称为( )

BUFFER DB 01H,0AH

A.符号 B.变量 C.助记符 D.标号

5. 串操作指令中,源串操作数的段地址一定在( )寄存器中。

A. CS B. SS C. DS D. ES 6. 使计算机执行某种操作的命令是( )

A.伪指令 B.指令 C.标号 D.助记符 7. 将数据5618H存放在存储单元中的伪指令是( )

A. DATA1 DW 1856H B. DATA1 DB 18H,56H

C. DATA1 EQU 5618H D. DATA1 DB 18H,00H,56H,00H 8. 若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=( )

A. 1400H B. 77F8H C. 0000H D. 0FFFFH

9. 计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普

遍采用的是( )码。

A. BCD码 B.二进制码 C.ASCII码 D.十六进制码

10. 用指令的助记符、符号地址、标号和伪指令、宏指令以及规定的格式书写程序的语

言称为( )

A.汇编语言 B.高级语言 C.机器语言 D.低级语言

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

1. 在8086/8088汇编语言中,有五条串操作指令,其中搜索字符串指令的助记符是______。 2. 通常所说的计算机系统包括________和________两大部分。

3. 8086/8088存储器分四个段,这四个段的段名所对应的段寄存器分别是________、________、

________、________。

4. 现有AX=2000H, BX=1200H, DS=3000H, DI=0002H, (31200H)=50H, (31201H)=02H, (31202H)=40H,

请写出下列各条指令独立执行完后有关寄存器及存储单元的内容,并指出标志位ZF、CF的值。 A. ADD AX,1200H;问AX=________H,ZF=________ B. SUB AX,BX;问AX=________H,ZF=________

1

C. MOV AX,[BX];问AX=________H CF=________

D. NEG WORD PTR[1200H];问(31200H)=________H CF=________

5. 设DS=2200H,BX=1000H,SI=0100H,偏移量D=0A2B1H,试计算出下列各种寻址方式下的有效地址,

填入括号中。

A.使用D的直接寻址( ) B.使用BX的寄存器间接寻址( ) C.使用BX和D的寄存器相对寻址( ) D.使用BX、SI和D的相对基址变址寻址( ) E.使用BX、SI的基址变址寻址( )

三、简答题(共20分)

1.程序在数据段中定义的数组如下:(4分) ARRAY

DB 'YES IS' DB 20 ┇ DB 'DO NOT'

请指出下列指令是否正确?若不正确,错在哪里?(答案做在旁边) A.MOV BX,OFFSET ARRAY MOV AX,[BX+8] B.MOV AX,ARRAY C.MOV BX,2 MOV SI,3

MOV AX,ARRAY[BX][SI] D.MOV BX,2*2 MOV SI,3

MOV AX,OFFSET ARRAY[BX][SI];在汇编过程中,OFFSET操作将得到变量的偏移值,但对相对基址变址寻址方式形成的值,在汇编指令时还是未知的,所以第三条指令不正确。

INC [AX] ;第四条指令中,AX不能作为基址寄存器用。

2.如TABLE为数据段中0100单元的符号名,其中存放的内容为0FF00H,试问以下两条指令有什么区别?指令执行后,AX寄存器的内容是什么?(3分) MOV AX,TABLE MOV AX,OFFSET TABLE

3.对于下面的数据定义,三条MOV指令分别汇编成什么?(3分,答案写在对应指令的右边)

TAB1 DW 10 DUP(?) TAB2 DB 10 DUP(? TAB3 DB '1234' ┇

MOV AX,LENGTH TAB1 MOV BL,LENGTH TAB2 MOV CL,LENGTH TAB3

4.子程序的说明文件中应包括哪几方面的内容?(5分)

2

5、分别指出下列指令中源操作数的寻址方式:(5分,答案写在对应指令的右边)

A. MOV SI,100立即寻址

B. MOV CX,DATA[SI]寄存器相对寻址 C. MOV [SI],AX寄存器寻址 D. ADD AX,[BX][DI]基址变址寻址

三、简答题(共20分) 1. A.正确

B.数据类型不匹配错

C.前两条指令正确,第三条数据类型不匹配

D.前两条正确,后两条不正确,在汇编过程中,OFFSET操作将得到变量的偏移值,但对相对基址变址寻址方式形成的值在汇编指令时还是未知的,所以第三条指令不正确。第四条指令中,AX不能作为基址寄存器用。

2.第一条指令传送的是0100H单元中的内容 AX=0FF00H 第二条指令传送的是地址0100H AX=0100H 3.MOV AX,10 MOV BL,10 MOV CL,1 4. A.子程序名 B.子程序的功能

C.子程序所用到的寄存器、工作单元的情况 D.子程序的输入参数 E.子程序的输出参数 5.A.立即寻址 B.寄存器相对寻址 C.寄存器寻址 D.基址加变址寻址 E.寄存器寻址

四、程序分析(每小题5分,共20分)

1.把DAT1+20存储单元开始的10个字节搬到DAT2开始的连续10个存储单元中。 2.3000H

3.判断AL的内容,若为'A'~'Z'的大写字母时,程序转LETTER处理,否则转OTHER处理。 4.0F00H

E. POPHF

四、 程序分析(每小题5分,共20分,答案写在程序右边空白处。)

1. 列程序段完成什么工作?

DAT1 DB 30 DUP(?) DAT2 DB 10 DUP(?) ┇ MOV CX,10

3