一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.当执行ADD AX,BX指令后,若AX的内容为4E52H时,设置的奇偶标志位PF=0,下面的叙述正确的是( )
A.表示结果中含1的个数是奇数 B.表示结果中含1的个数是偶数
C.表示该数是奇数 D.表示结果中低8位中含1的个数是奇数
2.设物理地址(21000H)=20H,(21001H)=30H,(21002H)=40H。如从地址21001H中取出一个字的内容是( )
A.2030H B.3040H
C.3020H D.4030H
3.转移指令JMP NEAR PTR PROCA的转移范围是( )
A.8000H~7FFFH B.7FFFH~0FFFH
C.80H~7FH D.0FH~7FH
4.设CF=1,实现AL内容乘2的指令是( )
A.RCL AL,1 B.SAR AL,1
C.SHL AL,1 D.ROR AL,1
5.算术右移指令SAR和逻辑右移指令SHR,两条指令执行结果完全相同的条件是( )
A.目的操作数最高位为0 B.目的操作数最高位为1
C.目的操作数为任意情况 D.无论什么情况都不可能完全相同
6.没有语法错误的输入指令是( )
A.IN AL,30H B.IN 30H,AL
C.IN DX,AL D.IN AL,[BX]
7.与LEA BX,BUF指令完全等效的指令是( )
A.MOV BX, BUF B.LDS BX,BUF
C.MOV BX,OFFSET BUF D.MOV BX,WOKD PTR BUF
8.设有变量VAR和标号LAB,不正确的指令是( )
A.LEA AX,VAR B.LEA AX,LAB
C.JMP NEAR PTR VAR D.JMP SHORT LAB
9.设SP的初值为1000H,执行指令PUSH AX后SP的值是( )
A.OFFFH B.1001H
C.0FFEH D.1002H
10.下列指令执行后既能使AX=0同时又使CF=0,OF=0的是( )
A.XOR AX,AX B.AND AX,AX
C.OR AX,AX D.TEST AX,0
11.在指令的操作数字段中,允许出现表达式,若BUF1与BUF2均为变量名,下面指令中正确的是( )
A.MOV DX,BUF1*BUF2 B.MOV DX,BUF1/BUF2
C.MOV DX,(BUF1*BUF2)-BUF1 D.MOV DX,BUF2-BUF1
12.汇编语言源程序,可以是( )
A.可以直接由机器执行
B.必须由编译程序生成目标程序才能执行
C.必须由解释程序生成目标程序才能执行
D.必须由汇编程序汇编成目标程序才能执行
13. ORG 200H
BUF DB 12H,34H
MOV AX, WORD PTR BUF
上述指令语句执行后AX中的内容是( )
A.3412H B.1234H
C.0200H D.0012H
14.伪指令DA1 DB 04H DUP(3 DUP(2), 2 DUP(3))在数据区中能构成0203H操作数共有
( )
A.07个 B.04个
C.03个 D.02个
15.设NUM1 EQU 100
NUM2= 64H
下面指令执行后,使BL中为全1的指令是( )
A.MOV BL,NUM1 EQ NUM2 B.MOV BL,NUM1 LT NUM2
C.MOV BL,NUM1 NE NUM2 D.MOV BL,NUM1 GT NUM2
16.设非压缩BCD码(AL)=09H,(BL)=04H在执行SUB AL,BL指令后应选的校正指令是
( )
A.DAA B.AAS
C.DAS D.AAA
17.设AX=9ABCH,DX=8765H
PUSH AX
PUSH DX
POP AX
POP DX
上述4条指令执行后,AX,DX中内容分别是( )
A.AX=9ABCH DX=8765H B.AX=9ABCH DX=9ABCH
C.AX=8765H DX=8765H D.AX=8765H DX=9ABCH
18.DA1 EQU WORD PTR DA2
DA2 DB OABH,OCDH
SHL DA1,1
SHR DA2,1
上述两条指令执行后,DA2中两字节单元内容分别是( )
A.0ABH,0CDH B.2BH,9BH
C.4DH,57H D.56H,9BH
19.无条件转移指令JMP实现段间间接转移,转移的目标地址在( )
A.某个字存储单元中 B.某个双字存储单元中
C.某个16位通用寄存器中 D.两个16位通用寄存器中
20.检查BUF单元的内容是否为正偶数,下面程序段正确的是( )
A.MOV AL,BUF B.MOV AL,BUF
JS K1 AND AL,11H
SHR AL,1 JNE K1
JC K1 …… ;是正偶数
…… ;是正偶数
K1:……
K1:……
C.MOV AL,BUF D.MOV AL,BUF
JNP K1 TEST AL,81H
TEST AL,80H JNE K1
JNE K1 …… ;是正偶数
…… ;是正偶数
K1:……
K1:……
二、填空题(本大题共5小题,每小题1分,共5分)
21.8086/8088存贮器地址分段时,每个段起始地址的特征是___________。
22.执行带符号数字节相乘指令IMUL BL后,CF=1,OF=1意味着___________。
23.假设执行前AX=7862H,指令XOR AX,AX执行后AX中的值是___________。
24.ARRAY DB 0,2 DUP(1,2),0,3汇编时生成的数据依次是___________。
25.在存取一个存储器操作数时,段地址必须由___________提供。
三、简答题(本大题共3小题,每小题2分,共6分)
26.在汇编源程序时,下面数据段共分配多少个字节存储单元?变量BUF的偏移地址是多少?
DATA SEGMENT
ORG $+20H
DA1 DB 10H DUP(2,3)
DA2 DW 10H DUP(2,3)
ORG $+20H
BUF DD DA1,DA2
DATA ENDS
27.设BX=0FFFFH,下面指令序列中,每条指令执行后,分别为0,1表示SF、ZF、CF的值,若对标志位无影响,用斜杠/表示
SF ZF CF
STC
XOR BX, BX ______________________
ADD BX,8001H ______________________
SAR BX,1 ______________________
28.如果执行NEG AL指令后AL中的内容仍保持不变,那么AL中的值是多少?执行后OF的值又是多少?
四、程序分析题(本大题共7小题,每小题5分,共35分)
29. DA1 DB ′01234′
DA2 DB 5 DUP(0)
MOV SI,0
MOV CX,5
LOP:MOV AL,DA1[SI]
ADD AL,11H
OR AL,01H
MOV DA2[SI],AL
INC SI
LOOP LOP
试问:(1)程序段执行后,写出DA2各字节中的数据。
(2)程序中MOV AL,DA1[SI]指令的源操作数是什么寻址方式
30.VAR1 DW 1234H,89,255,-2,-0AH
VAR2 DB 34,78H,44,22,19,-12
MOV AH,23H
LEA BX,VAR1+4
MOV AL,BYTE PTR [BX+1]
MOV SI,WORD PTR VAR2+3
程序段执行后AX=_______,SI=_______。
31.BUF DW 1,0,0AB1CH,582H,9,3A04H,9,0
LEA DI,BUF
MOV CX,8
MOV AX,9
REPNZ SCASW
JNZ K1
SUB DI,OFFSET BUF
MOV DX,DI
SHR DX,1
ADD DL,30H
MOV AH,2
INT 21H
K1:……
上述程序执行后:(1)程序完成什么功能?(2)显示输出的是什么值?
32. MOV BX,1
XOR AX,AX
MOV CX