寻址方式及指令系统习题与解答Word文件下载.docx
《寻址方式及指令系统习题与解答Word文件下载.docx》由会员分享,可在线阅读,更多相关《寻址方式及指令系统习题与解答Word文件下载.docx(25页珍藏版)》请在冰豆网上搜索。
A.SHL
AL,1
B.INC
CX
C.ADD
[BX],AL
D.SUB
AX,BX
12.两个整数补码9CH和7AH相加运算后,会产生(
A.无溢出且无进位
B.无溢出但有进位
C.有溢出且有进位
D.有溢出但无进位
13.指令JMP
WORD
PTR[BX]属于(
)寻址。
A.段内直接
B.段内间接
C.段间直接
D.段间间接
14.指令MOV
AX,[BX+SI+8]的源操作数属于(
A.直接
B.寄存器相对
C.基址变址
D.相对基址变址
15.指令(
)不改变CF的内容。
A.DEC
AL
B.ADD
AX,CX
C.SUB
[BX],CL
D.SBB
AL,DL
16.十进制数字74所对应的压缩型BCD码的形式是(
A.74
B.74H
C.4AH
D.4A
17.十进制数字85所对应的非压缩型BCD码的形式是(
A.0085
B.0085H
C.0805
D.0805H
18.设AL=67H,执行“CMP
AL,76H”后,AL=(
A.76H
B.0DFH
C.67H
D.00
19.设AL=65H,BL=29H,执行下列指令后,AL=(
ADD
AL,BL
DAA
A.8EH
B.94
C.94H
D.8E
20.压栈操作是(
)位数的操作。
B.16
C.32
D.任意
21.执行IMUL指令时,如果乘积的高位部分不是低位部分的符号扩展,则(
A.OF=0、CF=0
B.OF=0、CF=1
C.OF=1、CF=0
D.OF=1、CF=1
22.设AX=3762H,CL=5,执行“SHR
AX,CL”后,AX=(
A.0376H
B.01BBH
C.01BB
D.0376
23.若要在BUF缓冲区中寻找与AL中不相等的数据,应使用()SCASB串操作指令。
A.REPNE
B.REP
C.REPE
D.REPNZ
24.如果“JNC
L”指令的操作码放在0040H,转移后在0020H处取下一条指令的操作码,那么该条指令的位移量是(
A.20H
B.1EH
C.0DEH
D.0E0H
25.如果“JA
P”指令的操作码放在0050H,该指令的位移量为34H,执行完此条指令转移到取下一条指令的偏移地址为()
A.0082H
B.0084H
C.0086H
D.0088H
26.若DS=1000H,BX=2000H,(12000H)=56H,(12001H)=78H,AX=1000H,执行“ADDAX,[BX]”指令后,AX=(
A.8856H
B.6678H
C.8800H
D.6600H
27.设AX、BX寄存器中存放的是有符号的二进制数据,若执行“CMP
AX,BX”指令后,(
)L表示大于则转L。
A.JZ
B.JA
C.JGE
D.JG
28.执行“DIV
BX”指令后,(
)寄存器中存放商。
A.AL
B.AH
C.AX
D.DX
29.执行“(
)AX,BX”指令不改变AX寄存器中的内容。
A.CMP
B.ADD
C.XOR
D.OR
30.若AX=1000H,执行“NEG
AX”指令后,AX=(
A.1000H
B.0E000H
C.0F000H
D.1001H
二、多项选择题
1.在下列寻址方式中,用来访问内存的寻址方式有(
A.寄存器寻址
B.寄存器间接寻址
C.寄存器相对寻址
D.直接寻址
2.用来作为寄存器间接寻址的寄存器有(
A.AX
B.BX
C.BP
D.CX
3.在下列指令中,源操作数使用DS段寄存器进行寄存器相对寻址的有(
A.MOV
AX,[DI+4]
B.MOV
AX,ES:
[SI+8]
C.MOV
AX,[BP+4]
D.MOV
AX,[BX+4]
4.在下列指令中,源操作数的寻址方式是错误的有(
AX,[DI+BX]
AX,[SI+DI]
C.MOV
AX,[BP+BX]
AX,[DX]
5.在下列指令中,属于段内转移指令的有(
A.JMP
SHORT
A
B.JMP
[BX]
C.JMP
DWORD
PTR[BX]
D.JMP
NEAR
PTR[BX+SI]
6.在下列指令中,错误的指令有(
A.SUB
5,AL
B.ADD
AL,BX
C.INC
[BX]
D.SHR
AX,6
7.执行“CMP
AX,8003H”指令后,当AX中的无符号数高于8003H时,下列指令中有效的转移指令有(
A.JNB
L
B.JA
C.JG
D.JNL
L
8.可与串操作指令“CMPSW”指令配合使用的重复前缀有(
A.REP
B.REPZ
C.REPNZ
D.REPE
9.在下列的输入/输出指令中,正确的指令有(
A.IN
AX,80H
B.OUT
DX,AX
C.IN
AL,340
D.OUT
DX,AL
10.在下列的指令中,错误的指令有(
A.PUSH
B.MOVAL,BX
C.PUSH
1000H
D.CALL
AX
11.可以用下列指令代替“LOOP
L”指令的有(
CX
B.DEC
CX
JNZ
JNC
C.DEC
D.DEC
CMP
CX,0
JE
JE
三.填空题
1.在一条指令中,立即数只能作
源
操作数。
2.8086/8088CPU形成的内存物理地址有
20
位。
3.指令“MOV
AX,[BX+SI]”的源操作数在内存的
DS
段。
4.指令“MOV
BX,[BP+DI]”的源操作数在内存的
SS
5.指令“MOV
[SI]”的源操作数在内存的
ES
6.入栈指令使用的是
7.指令“ADD
[BX+SI],AL”的目的操作数是
基址
+变址
寻址方式。
8.指令“SUB
BX,A[SI]”的源操作数是
寄存器相对寻址方式。
9.指令“JMP
PTR[BX]”属于
段间间接
10.可作为寄存器间接寻址的寄存器有
4
个。
11.堆栈是从
高
地址向
低地址
方向生长的。
其操作遵循
LIFO
的操作原则。
12.在进行弹栈操作时应该先将弹出的数据送
目标地址
,然后
SP+2
。
13.在进行多精度加法运算时,一般使用
ADC
指令。
14.通用的数据传送指令不影响
PSW
。
15.“INC
AL”指令不影响标志位的
CF
16.若AL=11H,执行“NEG
AL”后,AL=
17.JMP指令的执行
PSW寄存器中的各位。
18.两个无符号数进行比较时,可以根据
标志位来判断大小。
在编写程序时可使用
指令来实现。
19.若执行“DIV
BX”,其被除数的高16位必须放在
,低16位必须放在
20.DAA指令只对
寄存器中的内容进行调整。
21.若AL=84H,在执行CBW后,AL=
22.十进制数1234的压缩型BCD码为
23.执行AND
AL,0FH
JNZ
指令,是检测AL中的
位,当它为非零则转移。
24.若移位指令的移位位数大于1时,其移位位数必须放在
中。
25.如果AL=85H,CL=4,执行“SAR
AL,CL”时,AL=
,CF=
26.在串操作指令中,SI指向
串,DI指向
串。
27.如果要查找某串中与AL寄存器中有相同的字符(数),则在SCASB指令前应配合使用
重复前缀。
28.转移指令“JNZ
L”的转移范围(十进制)是
该指令的第二个字节为位移量,用
形式表示。
29.段内调用指令改变
中的内容。
30.段间调用指令改变
四.判断题(判断下列指令是否正确,如果是错误的,请指出错误的原因)
1.ADD
2.MOV
[BX],SI
3.SUB
[BX],[SI]
4.CMP
5,AL
5.MOV
CX,AX
6.LEA
BL,A
7.SHR
AL,6
8.MOV
AL,[DI+SI]
9.MOV
BL,200H
10.MOV
AX,DATA
11.INC
12.CMP
[BX],A
;
A为变量
13.MOV
AX,‘+’
14.MOV
AX,[BP+BX]
15.ADD
AX,[CX]
16.OUT
400,AL
17.JNC
P
18.MOV
BX,,OFFSETA
19.LEA
DI,A[SI]
20.CMP
AX,5
五.改错题(按下列指令中的原意改正下列指令)
1.DEC
[SI]
2.CMP
AL,BX
无符号数比较
3.MOV
[DX],AL
4.MOV
AL,300H
[BX],[DI]
字节操作
6.ADD
AL,[CX+SI]
7.ADD
有符号数相加
8.PUSH
AL
9.CMP
[BX],5
字节比较
10.MOV
DS,1234H
六.简答题
1.设BX=1000H,SI=2000H,位移量D=3000H,请指出下列各种寻址方式的有效地址是什么?
(1)使用D的直接寻址
(2)使用BX寄存器的间接寻址
(3)使用BX寄存器的相对寻址
(4)基址变址寻址
(5)相对基址变址寻址
2.请指出下列各条指令的源操作数的寻址方式是什么?
(1)MOV
AX,BUF
(2)CMP
AL,5
(3)ADD
[BX+5],AX
(4)SUB
AX,[BX+SI]
(5)ADC
AH,A[SI]
(6)MOV
BX,[SI]
(7)AND
CX,B[BP+SI]
(8)JMP
PTR
(9)JMP
(10)JMP
FAR
3.设DS=2000H,BX=0100H,SI=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试说明下列各条指令执行完后AX寄存器中的内容是多少?
AX,1200H
(2)MOV
AX,BX
(3)MOV
AX,[1200H]
(4)MOV
AX,[BX]
(5)MOV
AX,[BX+1100H]
(7)MOV
AX,[BX+SI+1100H]
4.按下列各小题的要求写出相应的一条汇编语言指令。
(1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器中
(2)以BX和SI寄存器作基址变址寻址方式,把该单元中的一个字传送到AX。
(3)以SI和位移量20H作寄存器相对寻址,将该单元中的内容与CX寄存器中的内
容相加,结果存入CX寄存器中。
(4)清除AX寄存器的内容,同时清除CF标志位
(5)将字单元NUM与0B6H进行比较
5.按下列各小题的要求使用相应的几条指令完成其操作。
(1)将偏移量为200H的存储单元中的数与300H相加,结果存入AX寄存器中
(2)比较AX寄存器中与BX寄存器中的16位有符号数,当AX中的内容大于BX中的内容时转移到L。
(3)将BUF1和BUF2中的16位数据交换
(4)测试BUF字缓冲区中第15位,如果为1则转移到P
(5)将BUFI和BUF2的字相加,结果送S缓冲区
6.设BX=8234H,请说明下列两条指令的区别,执行下列各指令后BX中的内容是什么?
SHR
BX,1
SAR
7.分别说明下列每组指令中的两条指令的区别。
(1)MOV
BX,BUF
LEA
BX,BUF
(2)OR
BL,0FH
AND
BL,0FH
(3)JMP
JMP
(4)MOV
AX,BX
MOV
(5)MOV
AX,[BX+DI]
AX,[BP+DI]
8.说明下列各指令的源操作数和目的操作数的存储地方。
[2000H],AX
(2)ADD
AX,[BX+5]
(3)LEA
SI,BUF
(4)DAA
(5)MUL
BL
9.指出下列无条件转移指令的转移目标地址是什么存放在何处?
(1)JMP
BX
(2)JMP
WORDPTR[BX]
(3)JMP
DWORDPTR[BX]
(4)JMP
(5)JMP
R
10.说明MOVSB和CMPSB各能使用哪些重复前缀?
七.程序分析题
1.现有程序段如下:
MOV
AX,1234H
BX,60H
ADD
请回答:
(1)该程序段完成的功能是什么?
(2)程序段执行完后AX=
2.现有程序段如下:
AX,0603H
BL,8
AAD
DIV
(1)该程序段完成的功能是什么
3.设AX=0D023H,BX=9FD0H,试分析执行完如下程序段后程序转向何处
JNO
L1
JNC
L2
SUB
L3
L4
JMP
L5
4.程序段如下:
AX,X
DX,X+2
AX,Y
ADC
DX,Y+2
ADD
AX,36
DX,0
AX,Z
SBB
DX,Z+2
W,AX
W+2,DX
(2)该程序的操作数是何类型
(3)结果存放在何处
5.设A为字节变量,变量中的内容分别为64H、52H;
B为字节变量,变量中的内容分别为12H、46H,现有程序段如下:
AL,A
SUB
AL,B
DAS
C,AL
AL,A+1
AL,B+1
C+1,AL
(2)最后结果是什么
6.现有程序段如下:
BL,AL
CL,4
BL,CL
A,BL
AND
B,AL
(2)如果AL的初值为56H,则A=
,B=
7.现有程序段如下:
AL,8
BL,7
MUL
AAM
AX,3030H
XCHG
AH,AL
BUF,AX
(2)BUF两个单元中的值分别为
8.现有程序段如下:
AX,M
DX,N
DX,1
RCR
AX,1
(2)若M=1234H,N=5678H,程序运行后DX=
,AX=
9.现有程序段如下:
XOR
AX,AX
AX,6342H
CX,0404H
ROL
AH,CL
CH,CL
ROR
AL,CL
(1)该程序段执行后AX=