一、单项选择
1. 已知[X]补=98H, 则[X]补/2=( )
(A) 0CCH (B) 4CH (C) 49H (D) 31H
2. 已知X=78,Y=-83则[X+Y]补=( )
(A)0F5H (B) 0A1H (C) 0FBH (D) 65H
3. 在计算机的CPU中执行算术逻辑运算的部件是( )
(A)ALU (B) PC (C) AL (D) AR
4. 将125转换成二进制数的结果( )
(A)7DH (B) 7CH (C) 7EH (D) 7BH
5. 将93H看成一个组合BCD码,其结果是( )
(A)10010101 (B)10010011 (C) 10000011 (D)10000001
6.MOV AX,ES:[1000H] 源操作数的寻址方式是( )
(A) 立即寻址 (B) 直接寻址 (C) 变址寻址 (D) 基址寻址
7.MOV AX,ES:COUNT[DI] 源操作数的寻址方式是( )
(A) 基址寻址 (B) 立即寻址 (C) 变址寻址 (D) 基址变址寻址
8.MOV DX,COUNT[BP][DI]的源操作数的寻址方式是( )
(A) 变址寻址 (B) 基址寻址 (C) 直接寻址 (D) 基址变址寻址
9.指令MOV BX,MASK[BP],若MASK=3500H,SS=1200H,DS=1000H,BP=1000H,那么物理地址为( )
(A) 17500H (B) 16500H (C) 14500H (D) 13500H
10.指令MOV AX,COUNT[BX],若COUNT=0400H,SS=1200H,DS=1000H,BX=5000H,那么物理地址为( )
(A) 17400H (B) 17000H (C) 15400H (D) 14500H
11.指令MOV DX,DELTA[BX][SI],若DELTA=1300H,SS=7200H,DS=5400H,BX=0500H,SI=4000H,那么物理地址为( )
(A) 6F300H (B) 77800H (C) 59800H (D) 78700H
12. 汇编语言指令中唯一不可缺少的域是( )
(A) 标号名字域 (B) 助记符域 (C) 操作数域 (D) 注释域
13. 下面哪一个命令是显示内存单元的内容( )
(A)D命令 (B)E命令 (C)F命令 (D)R命令
14. 下列为不合法的标志符的是( )
(A)AXYZ (B)5SKY (C)@ATT (D)?ABC
15. 组合类型中本段与其它段无逻辑关系,每段均有自己的基址的组合类型是( )
(A)NONE (B)PUBLIC (C)COMMON (D)STACK
16. 在段定义中,( )是默认的定位类型。
(A)PAGE (B)PARA (C)WORD (D)BYTE
17.源程序结束语句为( )
(A)ENDP (B)ENDS (C)END MAIN (D)END
18. 能被计算机直接识别的语言是( )
(A) C语言 (B)汇编语言 (C)机器语言 (D)面向对象语言
19. 能把汇编语言转换成机器语言的翻译程序是( )
(A) 编译程序 (B)汇编程序 (C)解释程序 (D)调试程序
20. 汇编语言源程序的文件扩展名是( )
(A) .EXE (B) .OBJ (C) .BIN (D) .ASM
二、简答题
1.在某子程序的开始处要保护AX,BX,CX三个寄存器信息,在子程序结束时要恢复这三个寄存器信息。假设保护现场的指令序列为:
PUSH AX
PUSH BX
PUSH CX
试写出恢复现场时的指令序列。
2.完成下列操作,分别选用什么指令:
(1)将AX的内容,减去0520H,和上次运算的借位;
(2)将变量名TABL的段地址送AX;
(3)将变量名TABL的偏移地址送AX。
3.定义数据段DATA_SEG,数据段中的数据按下列要求依次存储:
(1)变量BUF,大小为25个字节,初值为0;
(2)变量ARRAY,类型为字,初值为12H,56H,78H,0AH;
(3)变量MSG存储字符串 ’yes’。
4.试根据以下要求,分别写出相应的汇编语言指令。
(1)把AX寄存器和BX寄存器的内容相加,结果存入AX中;
(2)用BX和SI的基址变址寻址方式,把存储器中的一个字节与DL的内容相加,并把结果送回DL中;
(3)把数5EH与AH内容相加,结果送回AH中。
5.对于下面的数据定义,三条MOV指令分别汇编成什么?
TAB1 DW 10 DUP(?)
TAB2 DB 10 DUP(?)
TAB3 DB ‘1234’
┇
MOV AX,LENGTH TAB1
MOV BL,LENGTH TAB2
MOV CL,LENGTH TAB3
6.假设有如下伪指令:
D1 DB 20H DUP(?)
D2 DW D1
请写出用一条指令实现“取D1的偏移地址=>SI”中的三种方法。
三、编程题
1. 编程序段:编制将ES段中名为DATA的字存储区清零的程序段。假定DATA存储区定义为:
DATA DW 20 DUP(?)
要求用循环指令编写,循环控制采用计数寄存器自动控制。(此题勿需书写完整的源程序格式,只需把试题要求的有关指令序列书写出来。)
2. 编写完整程序:
设在内存单元SQTAB首址开始存放了0~15的平方数表。要求用直接查表法编一程序,求出A单元中给定数(<=15)的平方值送B单元保存。
3. 编程序段:设X,Y,Z,W存放16位带符号数,编程计算X*Y-Z的值,并将结果的低16位送到W。
(此题勿需书写完整的源程序格式,只需把试题要求的有关指令序列书写出来。)
《汇编语言》课程综合复习资料参
一、单项选择
题目 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
答案 | A | C | A | A | B | B | C | D | B | C |
题目 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
答案 | C | B | A | B | A | B | C | C | B | D |
1.参:
POP CX
POP BX
POP AX
2.参:
(1) SBB AX,0520H
(2)MOV AX,SEG TABL
(3)MOV AX,OFFSET TABL
3.参:
DATA_SEG SEGMENT
BUF DB 25 DUP(0)
ARRAY DW 12H,56H,78H,0AH
MSG DB 'yes'
DATA_SEG SEGMENT
4.参:
(1) ADD AX,BX
(2) ADD DL,[BX][SI]
(3) ADD AH,5EH
5.参:
MOV AX,10
MOV BL,10
MOV CL,1
6.参:
(1) LEA SI,D1
(2) MOV SI,OFFSET D1
(3) MOV SI,D2
三、编程题
1. 参:
DATA DW 20 DUP(?)
MOV AX,SEG DATA
MOV ES,AX
MOV DI,0
MOV CX,20 ;或LENGTH DATA;
GOON: MOV ES:DATA[DI],0
ADD DI,2
LOOP GOON
2. 参:
DATA SEGMENT
SQTAB DB 0,1,4,9,16,25,36,49,,81
DB 100,121,144,169,196,225
A DB 12
B DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START PROC FAR
PUSH DX
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET SQTAB
MOV AL,A
XLAT
MOV B,AL
RET
START ENDP
CODE ENDS
END START
3. 参:
MOV AX,X
IMUL Y
SUB AX,Z
SBB DX,0
MOV W,AX
1(5.0分)
下面指令中,合理而有意义的指令是( )
A)
REP LODSB
B)
REP SCASB
C)
REP CMPSB
D)
REP MOVSB
参: D
收起解析
解析:
无
2(5.0分)
执行下面指令语句,则AX=( )。
MOV AL,95H CBW
A)
0095H
B)
0F95H
C)
0FF95H
D)
9095H
参: C
收起解析
解析:
无
3(5.0分)
在汇编语言程序中,对END语句的叙述正确的是( )
A)
END语句是一可执行语句
B)
END语句表示程序执行到此结束
C)
END语句表示源程序到此结束
D)
END语句在汇编后要产生机器码
参: C
收起解析
解析:
无
4(5.0分)
若有BUF DW 1, 2, 3, 4,则可将数据02H取到AL寄存器中的指令是( )
A)
MOV AL BYTE PTR BUF+1
B)
MOV AL BYTE PTR BUF+2
C)
MOV AL BYTE PTR BUF+3
D)
MOV AL BYTE BUF 2
参: B
收起解析
解析:
无
5(5.0分)
下列传送指令中,有语法错误的指令是( )
A)
MOV CS,AX
B)
MOV DS,AX
C)
MOV ES,AX
D)
MOV SS,AX
参: A
收起解析
解析:
无
6(5.0分)
把若干个模块连接起来成为可执行文件的系统程序称为( )
A)
连接程序
B)
汇编程序
C)
编译程序
D)
目标程序
参: A
收起解析
解析:
无
7(5.0分)
当一个带符号数大于0FBH时程序转移, 需选用的条件转移指令是( )
A)
JLE
B)
JNL
C)
JNLE
D)
JL
参: C
收起解析
解析:
无
8(5.0分)
当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是( )
A)
表示结果中含1的个数为偶数
B)
表示结果中含1的个数为奇数
C)
表示该数为偶数
D)
表示结果中低八位含1的个数为偶数
参: D
收起解析
解析:
无
9(5.0分)
假设(AL)=0FFH,执行ADD AL,0FH指令后,标志位ZF和SF的状态分别为( )
A)
0和0
B)
0和1
C)
1和0
D)
1和1
参: A
收起解析
解析:
无
10(5.0分)
设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为( )
A)
OF=1,CF=0
B)
OF=1,CF=1
C)
OF=0,CF=0
D)
OF=0,CF=1
参: B
收起解析
解析:
无
11(5.0分)
计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍采用的是( )码。
A)
BCD码
B)
二进制码
C)
ASCII码
D)
十六进制码
参: C
收起解析
解析:
无
12(5.0分)
下面的数据传送指令中,错误的操作是( )
A)
MOV SS:[BX+DI],1000H
B)
MOV DX,1000H
C)
MOV WORD PTR[BX],1000H
D)
MOV DS,2000H
参: D
收起解析
解析:
无
13(5.0分)
下面指令序列测试BH中的数是否为奇数, 若为奇数则转移至K1处,横线处的指令应为( )。
TEST BH,01H
_____K1
A)
JNE
B)
JZ
C)
JS
D)
JC
参: A
收起解析
解析:
无
14(5.0分)
下列指令执行后,不改变AL寄存器内容的指令是( )
A)
AND AL,1
B)
CMP AL,DL
C)
XOR AL,AL
D)
SUB AL,DL
参: B
收起解析
解析:
无
15(5.0分)
将CX寄存器低4位清零的正确指令是( )
A)
AND CX,0F0H
B)
AND CX,0FFF0H
C)
AND CX,1110H
D)
MOV CX,0
参: B
收起解析
解析:
无
16(5.0分)
十六进制数88H,可表示成下面几种形式,请找出错误的表示( )
A)
无符号十进制数136
B)
带符号十进制数 -120
C)
压缩型BCD码十进制数88
D)
8位二进制数 -8的补码表示
参: D
收起解析
解析:
无
17(5.0分)
指令指针寄存器是( )
A)
IP
B)
SP
C)
BP
D)
BX
参: A
收起解析
解析:
无
18(5.0分)
在标志寄存器中表示溢出的标志( )
A)
AF
B)
CF
C)
OF
D)
SF
参: C
收起解析
解析:
无
19(5.0分)
下面指令执行后,变量DAB中的内容是( )
DAW DW 2A05H
DAB DB 0FAH
MOV AL,BYTE PRT DAW
SUB DAB,AL
A)
0DAH
B)
0FAH
C)
0F5H
D)
0D0H
参: C
收起解析
解析:
无
20(5.0分)
若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=( )
A)
1400H
B)
77F8H
C)
0000H
D)
0FFFFH
参: A 下载本文