大全语言程序设计期末考试题

巡山小妖精
880次浏览
2020年08月03日 02:58
最佳经验
本文由作者推荐

潇湘职业学院-羊上树台词


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

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

一、 项选择题(在每小题的四个备选答案 中,选出一个正确答案,并将正确答案的序号填在题干的括号
内。每小题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.二进制码 码 D.十六进制码
10. 用指令的助记符、符号地址、标号和伪指令、宏指令以及规定的格式书写程序的语
言称为( )
A.汇编语言 B.高级语言 C.机器语言 D.低级语言

二、 填空题(每空1分,共20分)
1. 在80868088汇编语言中,有五条串操作指令,其中搜索字符串指令的助记符是______。
2. 通常所说的计算机系统包括________和________两大部分。
3. 8 0868088存储器分四个段,这四个段的段名所对应的段寄存器分别是________、________ 、
________、________。
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'
请指出下列指令是否正确?若不正确,错在哪里?(答案做在旁边)
BX,OFFSET ARRAY
MOV AX,[BX+8]
AX,ARRAY
BX,2
MOV SI,3
MOV AX,ARRAY[BX][SI]
BX,2*2
MOV SI,3
MOV AX,OFFSET ARRAY[BX][SI];在汇编过程中,OFFSET操作将 得到变量的偏移值,但对相
对基址变址寻址方式形成的值,在汇编指令时还是未知的,所以第三条指令不 正确。
INC [AX] ;第四条指令中,AX不能作为基址寄存器用。
2.如T ABLE为数据段中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
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'的大写字母时,程序转LETTE R处理,否则转OTHER处理。
4.0F00H

E. POPHF
四、 程序分析(每小题5分,共20分,答案写在程序右边空白处。)
1. 列程序段完成什么工作?
DAT1 DB 30 DUP(?)
DAT2 DB 10 DUP(?)

MOV CX,10

3


MOV BX,20
MOV SI,0
MOV DI,0
NEXT:MOV AL,DAT1[BX][SI]
MOV DAT2[DI],AL
INC SI
INC DI
LOOP NEXT
2.执行下列指令后,AX寄存器中的内容是什么?
START DW 10H,20H,30H,40H,50H
EE1 DW 3

MOV BX,OFFSET START
ADD BX,EE1
MOV AX,[BX]
3.试分析下面程序段的功能是什么?
CMP AL,'A'
JC OTHER
CMP AL,'Z'+1
JNC OTHER
JMP LETTER

OTHER: ┇
LETTER:┇
4. 下面程序段执行完以后,AL的内容是什么?
MOV BX,00FFH
AND BX,0FFFH
OR BX,0F0FH
XOR BX,00FFH
五、 程序设计(每小题10分,共30分)
1. 试编写出把DX、AX中的双字右移四位的程序段。
2. 定义一个数据区,它包含有23H,24H ,25H和26H四个字符数据,把这个数据区复制20次,并显
示出复制结果。
3. 内存 自BUF单元开始的缓冲区连续存放着100个学生的英文分数,编程序统计其中90~100,60~
89,60以下者各有多少人?并把结果连续存放到自RESUT开始的单元中,(要求画出程序流程图,
各段定义完整)

汇编语言程序设计试题答案

一、单项选择题(每小题1分,共10分)

4


1.A 2.A 3.C 4.B 5.C
6.B 7.B 8.A 9.C 10.A
二、填空题(每空1分,共20分)

2.硬件 软件
DS ES SS
4.A.3200H 0
B.0E00H 0
C.0250H 不影响
D.0B0H 1
5.A.0A2B1H
B.1000H
C.0B2B1H
D.0B3B1H
E.1100H
三、简答题(共20分)
1. A.正确
B.数据类型不匹配错
C.前两条指令正确,第三条数据类型不匹配
D.前两条正确,后两条不正确,在汇编过程中 ,OFFSET操作将得到变量的偏移值,但对相对基址变址寻
址方式形成的值在汇编指令时还是未知的 ,所以第三条指令不正确。第四条指令中,AX不能作为基址寄
存器用。
2.第一条指令传送的是0100H单元中的内容 AX=0FF00H
第二条指令传送的是地址0100H AX=0100H
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'的大写字母时,程序转LETTE R处理,否则转OTHER处理。

5


4.0F00H
五、程序设计(每小题10分,共30分)
CL,04
SHR AX,CL
MOV BL,DL
SHR DX,CL
SHL BL,CL
OR BL,AH
SEGMENT
PATTERN DB 23H,24H,25H,26H
DISPLAY DB 80 DUP(' '),'$$'
DATE ENDS
CODE SEGMENT

CLD
LEA SI,PATTERN
LEA DI,DISPLAY
MOV CX,80
REP MOVSB
MOV AH,09H
LEA DX,DISPLAY
INT 21H
RET
CODE ENDS
SEGMENT
BUF DB 40H,64H,51H…
RESUT DB 3 DUP(0)
DATA ENDS
STACK SEGMENT STACK
DB 100 DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME DS∶DATA,ES∶DATA,SS∶STACK,CS∶CODE
START PROC FAR
PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV、AX,STACK
MOV SS,AX

6


LEA SI,BUF
MOV CX,100
CLD
AO: LODSB
CMP AL,5AH
JL L60
INC [RESUT]
JMP COM
L60: CMP AL,3CH
JGE K8960
INC [RESUT+1]
JMP COM
K8960: INC [RESUT+2]
COM: LOOP AO
RET
START ENDP
CODE ENDS
END START

7


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

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

一、 项选择题(在每小题的四个备选答案 中,选出一个正确答案,并将正确答案的序号填在题干的括号
内。每小题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.二进制码 码 D.十六进制码
10. 用指令的助记符、符号地址、标号和伪指令、宏指令以及规定的格式书写程序的语
言称为( )
A.汇编语言 B.高级语言 C.机器语言 D.低级语言

二、 填空题(每空1分,共20分)
1. 在80868088汇编语言中,有五条串操作指令,其中搜索字符串指令的助记符是______。
2. 通常所说的计算机系统包括________和________两大部分。
3. 8 0868088存储器分四个段,这四个段的段名所对应的段寄存器分别是________、________ 、
________、________。
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'
请指出下列指令是否正确?若不正确,错在哪里?(答案做在旁边)
BX,OFFSET ARRAY
MOV AX,[BX+8]
AX,ARRAY
BX,2
MOV SI,3
MOV AX,ARRAY[BX][SI]
BX,2*2
MOV SI,3
MOV AX,OFFSET ARRAY[BX][SI];在汇编过程中,OFFSET操作将 得到变量的偏移值,但对相
对基址变址寻址方式形成的值,在汇编指令时还是未知的,所以第三条指令不 正确。
INC [AX] ;第四条指令中,AX不能作为基址寄存器用。
2.如T ABLE为数据段中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
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'的大写字母时,程序转LETTE R处理,否则转OTHER处理。
4.0F00H

E. POPHF
四、 程序分析(每小题5分,共20分,答案写在程序右边空白处。)
1. 列程序段完成什么工作?
DAT1 DB 30 DUP(?)
DAT2 DB 10 DUP(?)

MOV CX,10

3


MOV BX,20
MOV SI,0
MOV DI,0
NEXT:MOV AL,DAT1[BX][SI]
MOV DAT2[DI],AL
INC SI
INC DI
LOOP NEXT
2.执行下列指令后,AX寄存器中的内容是什么?
START DW 10H,20H,30H,40H,50H
EE1 DW 3

MOV BX,OFFSET START
ADD BX,EE1
MOV AX,[BX]
3.试分析下面程序段的功能是什么?
CMP AL,'A'
JC OTHER
CMP AL,'Z'+1
JNC OTHER
JMP LETTER

OTHER: ┇
LETTER:┇
4. 下面程序段执行完以后,AL的内容是什么?
MOV BX,00FFH
AND BX,0FFFH
OR BX,0F0FH
XOR BX,00FFH
五、 程序设计(每小题10分,共30分)
1. 试编写出把DX、AX中的双字右移四位的程序段。
2. 定义一个数据区,它包含有23H,24H ,25H和26H四个字符数据,把这个数据区复制20次,并显
示出复制结果。
3. 内存 自BUF单元开始的缓冲区连续存放着100个学生的英文分数,编程序统计其中90~100,60~
89,60以下者各有多少人?并把结果连续存放到自RESUT开始的单元中,(要求画出程序流程图,
各段定义完整)

汇编语言程序设计试题答案

一、单项选择题(每小题1分,共10分)

4


1.A 2.A 3.C 4.B 5.C
6.B 7.B 8.A 9.C 10.A
二、填空题(每空1分,共20分)

2.硬件 软件
DS ES SS
4.A.3200H 0
B.0E00H 0
C.0250H 不影响
D.0B0H 1
5.A.0A2B1H
B.1000H
C.0B2B1H
D.0B3B1H
E.1100H
三、简答题(共20分)
1. A.正确
B.数据类型不匹配错
C.前两条指令正确,第三条数据类型不匹配
D.前两条正确,后两条不正确,在汇编过程中 ,OFFSET操作将得到变量的偏移值,但对相对基址变址寻
址方式形成的值在汇编指令时还是未知的 ,所以第三条指令不正确。第四条指令中,AX不能作为基址寄
存器用。
2.第一条指令传送的是0100H单元中的内容 AX=0FF00H
第二条指令传送的是地址0100H AX=0100H
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'的大写字母时,程序转LETTE R处理,否则转OTHER处理。

5


4.0F00H
五、程序设计(每小题10分,共30分)
CL,04
SHR AX,CL
MOV BL,DL
SHR DX,CL
SHL BL,CL
OR BL,AH
SEGMENT
PATTERN DB 23H,24H,25H,26H
DISPLAY DB 80 DUP(' '),'$$'
DATE ENDS
CODE SEGMENT

CLD
LEA SI,PATTERN
LEA DI,DISPLAY
MOV CX,80
REP MOVSB
MOV AH,09H
LEA DX,DISPLAY
INT 21H
RET
CODE ENDS
SEGMENT
BUF DB 40H,64H,51H…
RESUT DB 3 DUP(0)
DATA ENDS
STACK SEGMENT STACK
DB 100 DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME DS∶DATA,ES∶DATA,SS∶STACK,CS∶CODE
START PROC FAR
PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV、AX,STACK
MOV SS,AX

6


LEA SI,BUF
MOV CX,100
CLD
AO: LODSB
CMP AL,5AH
JL L60
INC [RESUT]
JMP COM
L60: CMP AL,3CH
JGE K8960
INC [RESUT+1]
JMP COM
K8960: INC [RESUT+2]
COM: LOOP AO
RET
START ENDP
CODE ENDS
END START

7

孙权劝学教案-我的座右铭


乐山师范学院分数线-金东方高中


广东三本院校-学校支教工作总结


曾宪梓中学-开学第一课观后感


八一慰问-林则徐的资料


圣诞的祝福-化学手抄报


春天的田野-高考祝福语大全


丝袜花的做法-福建会考成绩查询