《汇编语言程序设计》试题
专业姓名成绩
一、单项选择题(每1分,共15分).
1将下列二进制数0111,1111,1111 转换为16进制数和10进制数是()
A.07FFH 3021D
B. 6FEH 1021D
C. 07FFH 2012D
D. 07FFH 2047D
2. 在1BM Pc机的IN和OUT 指令中,I/o端口号通常是由Dx寄存器来提供的,但有时也可以在
指令中用一个字节来表示端口号。试问可以直接由指令指定的I/o端口号有多少个?( )
A. 127D
B.255D
C. 256D
D.128D
3. 设MYDAT是一个字变量,下列指令中,错误的是()
A.MOV BX,10100B
B.MOV DS,AX
C.ADD BX,[10100H]
D.MOV BX,MYDAT[SI]
4.设有关寄存器及存储单元的内容如下:(DS)=2000H,(BX)=0100H,(SI)=0002H,
(20100)=12H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(20202)=0B7H,(21203)=65H,试指出:MOV AX,1100h[BX]指令执行后,AX寄存器内是()
A.5678H
B.4C2AH
C.2A4CH
D.7856H
5.一台微型计算机的字长为16位,如果采用字节编址,那么它可以访问的最大存储空间是多少字节
( ),试用16进制数表示该机的地址范围()
A.1M 0~FFFFFH
B.64K 0~FFFFH
C.128K 0~FFFFH
D.128K –FFH~FFH
6. 如果在一个程序段开始执行之前,(cs)=0A7F0H,(1P)=2B40H,试问该程序段的第一个字的物
理地址是()
A.BAA40H
B.AAB40H
C.AAA40H
D.0D603H
7.下列指令哪个是错误的(设OP1,OP2 是已经用DB定义的变量名)( )
A.CMP BL,OP1
B.MOV [BX],111001B
C. INC OP2
D.SAR AX,CL
8.假定(DX)=10111001B,(CL)=05,(CF)=1试确定:RCL DL,CL 指令执行后,
DX中的值是()
A.00CEH
B.009DH
C.00B9H
D.003BH
9. 有符号定义语句如下:
BUFF DB 1,2,3,‘123’
EBUFF DB 0
L EQU EBUFF - BUFF
问L的值为多少( )
A.6D
B.7D
C.3D
D.5D.
10. IBMPC机中下列那些寄存器可以用来存储存储器地址()
A、BX,BP,SP,CX
B、AX,SI,DI,DX
C、BX,SI,DI,SP
D、DX,SI,DI,SP
11.下列指令中正确的是()
A.MOV [BX],[SI]
B.MOV AX,[SI][DI]
C.MOV BX,OFFSET NAME[SI]
D.MOV BYTE PTR [100],100
12下列程序段执行后,寄存器BX中的内容是什么()
MOV CL , 3
MOV BX , 0B7H
ROL BX , 1
RCR BX , CL
A、0EDH
B、0DEH
C、0CDH
D、0CCH
13JB指令的测试条件是( )
A. CF=0
B. CF=1 C .OF∨CF=1 D.OF=1
14在DEBUG中()命令用来汇编一句汇编语言语句
15 A 、A B、U C 、E D、D
16. 指令STI 的功能是( )
17(A)允许中断(B)不允许中断(C)允许单步(D) 不允许单步
二.不定项选择题,漏错多选不得分。(每题两分,共20分)
18.CPU由那三部分构成()
A.算术逻辑部件
B.控制逻辑部件
C.工作寄存器组
D.总线控制逻辑部件
19.高级语言的翻译程序有哪两种方式()
A.翻译方式
B.编译方式
C.解释方式
D.汇编方式
20.外部设备与主机的通信是通过外设接口进行的,每个接口包括一组寄存器。一般说来
这些寄存器有()三种
A.数据寄存器
B.状态寄存器
C.命令寄存器
D.通用寄存器
21.用来当着一个‘变址’,加强寻址功能的寄存器有()
A.AX
B.BX
C.CX.
D.SI
22.下列那些为不正确或不是的立即寻址方式()
A.MOV AL ,5
B.MOV AX,[0204]
C.MOV DS:0027H,AH
D.ADD AL,12H
23.TEST 指令,所做的逻辑运算为:()
A.与
B.或
C.异或
D.非
24.与REP、REPZ、REPNZ连用的指令有()
A.SCAS
B.MOV
C.CMPS
D.IN
25.下列指令哪些是正确的( )
A.POP CS
B.XCHG DS,ES
C.LEA [BX],NAME1
D.IN AL,61H
26.段间直接远跳转有()
A.JMP OPR
B. JMP FAR PTR OPR
C. JZ FAR PTR OPR
D.JMP DWORD PTR OPR
27.下列那些指令与中断有关()
A.INT
B.RET
C.IRET
D.INTO
三.判断题(每题1分,共15分)
28.8086共有256种中断类型,对应中断向量表00000-000FFH,每种中断类型的中断向
量占4个字节()
29.MOV mem ,mem 是一种错误的指令格式()
30.CMP 指令做的是减操作,并且不保存结果()
31.SAL 是一个算术左移指令()
32.RADX是用来控制汇编程序的默认进位计数的伪操作()
33.macro name MACRO……ENDMS是用来定义宏的伪操作()
34.在宏定义体内,定义标号不用LOCAL伪操作一样没问题()
35.宏名不能与指令操作码相同()
36.将一个二进制数算术左移一位,可以看着是将其乘了2,右移一位则看着是除了2
()
37.两个无符号数做减法运算后CF位被置为1,表示运算中有借位()
38.乘法指令的乘数是字时,是将结果的高位保存在AX中()
39.在输入输出指令中当端口号>255时,就一定只能用短格式。即将端口号送入
DX( )
40.指令INC [AX]是正确的指令()
41.指令MOV WORD PTR [BX],100H是正确的指令()
42.指令MOV AX,V AR1-V AR2+10(V AR1,V AR2都是字变量名)是正确的指令()
43四.填空题(每题2分,共20分)
41.在存储器中存放信息如图,试读出30022H和30024H字节单元的内容
,以及30021字单元的内容。
30020 ABH
30021 34H
30022 12H
30023 CDH
30024 EFH
42.在IBM PC微机上,进行下面补码表示的8位二进制数运算:
01101011+11010110
问:标志位CF=( ), SF=( ), OF= ( ), ZF=( ).
43.TEST指令与AND指令的区别在于(是否保存结果)。
44.设DS=1000,BX=2000,SI=0005,[12005]=1234,指令
MOV DI,OFFSET[Bx][SI]
若为合法指令,请写出执行后的结果;若为非法指令,请指出其错误________ __ 。45.存储器地址lFD0:000A的物理地址是______________。以该地址为物理地址。填写可以组合的另外两种地址表现形式_________: 020A 、1A00:__________。
46.设LOOP1是一个标号,偏移属性值为0120H,在执行指令JMP SHORT LOOP1 时IP=0100 CS=2000,指令执行后跳转到物理地址为___ ______________的指令去执行
五.分析程序并写出功能与结果(每题5分,共15分)
41.有一段程序如下:
…
…
MOV CX,64H
LEA SI,NAME1
LEA DI,NAME2
REP MOVSB
…
…
这段程序完成什么动作:
42.分析下列程序段执行或,A单元的内容是什么?
DATA SEGMENT
A DW 0
B DW 0
C DW 15H,5H,50H
DATA ENDS
CODE SEGMENT
.
.
MOV BX,OFFSET C
MOV AX,[BX]
MOV B,AX
MOV AX,2[BX]
ADD AX,B
MOV A,AX
.
.
CODE ENDS
A 单元的结果是
六.程序填空(每题15分,共15分)
本程序实现将,BX寄存器内的2进制数用16进制的形式,在屏幕上显示出来,请将没写完的空格填上。
CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE
START:
PUSH DS
SUB AX,AX
AX
MOV CH,
ROTATE:
MOV CL,4
ROL BX,CL
MOV AL,BL
AND AL,
ADD AL,30H
CMP AL ,
JL PRINTIT
ADD AL,7H
PRINTIT:
MOV DL,AL
MOV AH,2
INT 21H
DEC
JNZ ROTATE
RET
MAI ENDP
CODE ENDS
END START
《汇编语言程序设计》标准答案
一、单项选择题(每1分,共15分).
1 将下列二进制数0111,1111,1111 转换为16进制数和10进制数是(D )
A.07FFH 3021D
B. 6FEH 1021D
C. 07FFH 2012D
D. 07FFH 2047D
44. 在1BM Pc机的IN和OUT 指令中,I/o端口号通常是由Dx寄存器来提供的,但有时也可以在
指令中用一个字节来表示端口号。试问可以直接由指令指定的I/o端口号有多少个?( C)
A. 127D
B.255D
C. 256D
D.128D
45. 设MYDAT是一个字变量,下列指令中,错误的是( C )
A.MOV BX,10100B
B.MOV DS,AX
C.ADD BX,[10100H]
D.MOV BX,MYDAT[SI]
46.设有关寄存器及存储单元的内容如下:(DS)=2000H,(BX)=0100H,(SI)=0002H,
(20100)=12H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(20202)=0B7H,(21203)=65H,试指出:MOV AX,1100h[BX]指令执行后,AX寄存器内是(B )
A.5678H
B.4C2AH
C.2A4CH
D.7856H
47.一台微型计算机的字长为16位,如果采用字节编址,那么它可以访问的最大存储空间是多少字
节( ),试用16进制数表示该机的地址范围( B )
A.1M 0~FFFFFH
B.64K 0~FFFFH
C.128K 0~FFFFH
D.128K –FFH~FFH
48. 如果在一个程序段开始执行之前,(cs)=0A7F0H,(1P)=2B40H,试问该程序段的第一个字的物
理地址是( C )
A.BAA40H
B.AAB40H
C.AAA40H
D.0D603H
49.下列指令哪个是错误的(设OP1,OP2 是已经用DB定义的变量名)(B )
A.CMP BL,OP1
B.MOV [BX],111001B
C. INC OP2
D.SAR AX,CL
50.假定(DX)=10111001B,(CL)=05,(CF)=1试确定:RCL DL,CL 指令执行后,
DX中的值是(b )
A.00CEH
B.009DH
C.00B9H
D.003BH
51. 有符号定义语句如下:
BUFF DB 1,2,3,‘123’
EBUFF DB 0
L EQU EBUFF - BUFF
问L的值为多少( A )
A.6D
B.7D
C.3D
D.5D.
52. IBMPC机中下列那些寄存器可以用来存储存储器地址( C )
A、BX,BP,SP,CX
B、AX,SI,DI,DX
C、BX,SI,DI,SP
D、DX,SI,DI,SP
53.下列指令中正确的是(D)
A.MOV [BX],[SI]
B.MOV AX,[SI][DI]
C.MOV BX,OFFSET NAME[SI]
D.MOV BYTE PTR [100],100
54下列程序段执行后,寄存器BX中的内容是什么(A)
MOV CL , 3
MOV BX , 0B7H
ROL BX , 1
RCR BX , CL
A、0EDH
B、0DEH
C、0CDH
D、0CCH
55JB指令的测试条件是(A)
A. CF=0
B. CF=1 C .OF∨CF=1 D.OF=1
56在DEBUG中(A )命令用来汇编一句汇编语言语句
57 A 、A B、U C 、E D、D
58. 指令STI 的功能是( A)
59(A)允许中断(B)不允许中断(C)允许单步(D) 不允许单步
二.不定项选择题,漏错多选不得分。(每题两分,共20分)
60.CPU由那三部分构成(ABC )
A.算术逻辑部件
B.控制逻辑部件
C.工作寄存器组
D.总线控制逻辑部件
61.高级语言的翻译程序有哪两种方式(BC )
A.翻译方式
B.编译方式
C.解释方式
D.汇编方式
62.外部设备与主机的通信是通过外设接口进行的,每个接口包括一组寄存器。一般说来
这些寄存器有(ABC )三种
B.数据寄存器 B.状态寄存器
C.命令寄存器
D.通用寄存器
63.用来当着一个‘变址’,加强寻址功能的寄存器有(D )
A.AX
B.BX
C.CX.
D.SI
64.下列那些为不正确或不是的立即寻址方式(CB )
A.MOV AL ,5
B.MOV AX,[0204]
C.MOV DS:0027H,AH
D.ADD AL,12H
65.TEST 指令,所做的逻辑运算为:( A )
A.与
B.或
C.异或
D.非
66.与REP、REPZ、REPNZ连用的指令有(AC )
A.SCAS
B.MOV
C.CMPS
D.IN
67.下列指令哪些是正确的( D )
A.POP CS
B.XCHG DS,ES
C.LEA [BX],NAME1
D.IN AL,61H
68.段间直接远跳转有(B )
A.JMP OPR
B. JMP FAR PTR OPR
C. JZ FAR PTR OPR
D.JMP DWORD PTR OPR
69.下列那些指令与中断有关(ACD )
A.INT
B.RET
C.IRET
D.INTO
三.判断题(每题1分,共15分)
70.8086共有256种中断类型,对应中断向量表00000-000FFH,每种中断类型的中断向
量占4个字节( F )
71.MOV mem ,mem 是一种错误的指令格式(T )
72.CMP 指令做的是减操作,并且不保存结果(T )
73.SAL 是一个算术左移指令(T )
74.RADX是用来控制汇编程序的默认进位计数的伪操作( F )
75.macro name MACRO……ENDMS是用来定义宏的伪操作( F )
76.在宏定义体内,定义标号不用LOCAL伪操作一样没问题( F )
77.宏名不能与指令操作码相同( F )
78.将一个二进制数算术左移一位,可以看着是将其乘了2,右移一位则看着是除了2
(T )
79.两个无符号数做减法运算后CF位被置为1,表示运算中有借位(T )
80.乘法指令的乘数是字时,是将结果的高位保存在AX中( F )
81.在输入输出指令中当端口号>255时,就一定只能用短格式。即将端口号送入
DX( T )
82.指令INC [AX]是正确的指令( F )
83.指令MOV WORD PTR [BX],100H是正确的指令(T )
84.指令MOV AX,V AR1-V AR2+10(V AR1,V AR2都是字变量名)是正确的指令(T )
85
四.填空题(每题2分,共20分)
41.在存储器中存放信息如图,试读出30022H和30024H字节单元的内容
,以及30021字单元的内容。
30020 12H
30021 34H
30022 ABH
30023 CDH
30024 EFH
42.在IBM PC微机上,进行下面补码表示的8位二进制数运算:
01101011+11010110
问:标志位CF=( 1 ), SF=( 0 ), OF= ( 0 ), ZF=( 0 ).
43.TEST指令与AND指令的区别在于(是否保存结果)。
44.设DS=1000,BX=2000,SI=0005,[12005]=1234,指令
MOV DI,OFFSET[Bx][SI]
若为合法指令,请写出执行后的结果;若为非法指令,请指出其错误________ OFFSET 后只能跟符号地址____ 。
45.存储器地址lFD0:000A的物理地址是___1fd0a___________。以该地址为物理地址。填写可以组合的另外两种地址表现形式____1fc0_____: 020A 、1A00:__5d0a________。
46.设LOOP1是一个标号,偏移属性值为0120H,在执行指令JMP SHORT LOOP1 时IP=0100 CS=2000,
指令执行后跳转到物理地址为___20120_______________的指令去执行
五.分析程序并写出功能与结果(每题5分,共15分)
41.有一段程序如下:
…
…
MOV CX,64H
LEA SI,NAME1
LEA DI,NAME2
REP MOVSB
…
…
这段程序完成什么动作:
42.设下列程序段中,有首地址为ARRAY的M 字数组,和TL地址变量
…
…
MOV CX,M
MOV AX,0
MOV SI,AX
ST-LOOP:
ADD AX,ARRAY[SI]
ADD SI ,2
LOOP ST-LOOP
MOV TL,AX
…
…
这段程序完成什么动作:
43.分析下列程序段执行或,A单元的内容是什么?
DATA SEGMENT
A DW 0
B DW 0
C DW 15H,5H,50H
DATA ENDS
CODE SEGMENT
.
.
MOV BX,OFFSET C
MOV AX,[BX]
MOV B,AX
MOV AX,2[BX]
ADD AX,B
MOV A,AX
.
.
CODE ENDS
A 单元的结果是30H
六.程序填空(每题15分,共15分)
本程序实现将,BX寄存器内的2进制数用16进制的形式,在屏幕上显示出来,请将没写完的空格填上。
CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE
START:
PUSH DS
SUB AX,AX
PUSH AX
MOV CH, 4
ROTATE:
MOV CL,4
ROL BX,CL
MOV AL,BL
AND AL,0FH
ADD AL,30H
CMP AL , 3AH
JL PRINTIT
ADD AL,7H
PRINTIT:
MOV DL,AL
MOV AH,2
INT 21H
DEC CH
JNZ ROTATE
RET
MAI ENDP
CODE ENDS
END START