十一假期结束后关于第三章练习题(0)
练习题
一.单项选择题
1.设BX=2000H,SI=3000H,指令MOV AX,[BX+SI+8]的源操作有效地址为( B)。
A.5000H B.5008H C.23008H D.32008H
2.设DS=1000H,ES=2000H,BX=3000H,指令ADD AL,[BX]的源操作数的物理 址为( )。
A.13000H B.23000H C.33000H D. 3000H
3.设DS=2000H,ES=3000H,SI=200H,指令MOV ES:[SI],AL的目的操作数的物理地址为( )。
A.20200H B.30200H C.50200H D.200H
4.指令MOV MEM[BX],AX中的MEM是( C )。
A.原码 B.反码 C.补码 D.移码
5.用来作为寄存器间接寻址的寄存器有( B )个。
A.8 B.6 C.5 D.4
6.指令MOV [BX+SI],AL中的目的操作数使用( B )段寄存器。
A.CS B.DS C.SS D.ES
7.指令MOV BX,[BP+5]中的源操作数使用( C )段寄存器。
A.CS B.DS C.SS D.ES
8.段内间接寻址只改变( B )中的内容。
A.CS B.IP C.CS和IP D.PSW(Program Status Word程序状态寄存器即标志寄存器FR—Flag Register)
9.段间间接寻址只改变( C )中的内容。
A.CS B.IP C.CS和IP D.PSW
10.下述指令中不改变PSW的指令是( )。
A.MOV AX,BX B.AND AL,0FH
C.SHR BX,CL D.ADD AL,BL
11.下述指令中不影响CF的指令是( B )。
A.SHL AL,1 B.INC CX
C.ADD [BX],AL D.SUB AX,BX
12.两个整数补码9CH和7AH相加运算后,会产生( B )。
A.无溢出且无进位 B.无溢出但有进位
C.有溢出且有进位 D.有溢出但无进位
13.指令JMP WORD PTR [BX]属于( C )寻址。
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.压栈操作是( )位数的操作。
A.8 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,执行“ADD AX,
[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.在下列指令中,源操作数的寻址方式是错误的有( )。
A.MOV AX,[DI+BX] B.MOV AX,[SI+DI]
C.MOV AX,[BP+BX] D.MOV 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 L C.JG L 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 AL B.MOV AL,BX
C.PUSH 1000H D.CALL AX
11.可以用下列指令代替“LOOP L”指令的有( )。
A.DEC CX B.DEC CX
JNZ L JNC L
C.DEC CX D.DEC CX
CMP CX,0 JE L
JE L
三.填空题
1.在一条指令中,立即数只能作 操作数。
2.8086/8088 CPU形成的内存物理地址有 位。
3.指令“MOV AX,[BX+SI]”的源操作数在内存的 段。
4.指令“MOV BX,[BP+DI]”的源操作数在内存的 段。
5.指令“MOV AX,ES:[SI]”的源操作数在内存的 段。
6.入栈指令使用的是 段。
7.指令“ADD [BX+SI],AL”的目的操作数是 寻址方式。
8.指令“SUB BX,A[SI]”的源操作数是 寻址方式。
9.指令“JMP DWORD PTR [BX]”属于 寻址方式。
10.可作为寄存器间接寻址的寄存器有 个。
11.堆栈是从 地址向 地址方向生长的。其操作遵循 的操作原则。
12.在进行弹栈操作时应该先将弹出的数据送 ,然后 。
13.在进行多精度加法运算时,一般使用 指令。
14.通用的数据传送指令不影响 。
15.“INC AL” 指令不影响标志位的 位。
16.若AL=11H,执行“NEG AL” 后,AL= 。
17.JMP指令的执行 PSW寄存器中的各位。
18.两个无符号数进行比较时,可以根据 标志位来判断大小。在编写程序时可使用 指令来实现。
19.若执行“DIV BX”,其被除数的高16位必须放在 ,低16位必须放在 。
20.DAA指令只对 寄存器中的内容进行调整。
21.若AL=84H,在执行CBW后,AX= 。
22.十进制数1234的压缩型BCD码为 。
23.执行 AND AL,0FH
JNZ L
指令,是检测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 AL,BX
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 [BX]
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,OFFSET A
19.LEA DI,A[SI]
20.CMP AX,5
五.改错题(按下列指令中的原意改正下列指令)
1.DEC [SI]
2.CMP AL,BX ;无符号数比较
3.MOV [DX],AL
4.MOV AL,300H
5.MOV [BX],[DI] ;字节操作
6.ADD AL,[CX+SI]
7.ADD AL,BX ;有符号数相加
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 WORD PTR [BX]
(9)JMP P
(10)JMP FAR PTR P
3.设 DS=2000H, BX=0100H, SI=0002H, (20100H)=12H, (20101H)=34H,(20102H)= 56H, (20103H)= 78H, (21200H)= 2AH, (21201H)= 4CH,(21202H)=B7H,(21203H)=65H,试说明下列各条指令执行完后AX寄存器中的内容是多少?
(1)MOV AX,1200H
(2)MOV AX,BX
(3)MOV AX,[1200H]
(4)MOV AX,[BX]
(5)MOV AX,[BX+1100H]
(6)MOV AX,[BX+SI]
(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 BX,1
7.分别说明下列每组指令中的两条指令的区别。
(1) MOV BX,BUF LEA BX,BUF
(2) OR BL,0FH AND BL,0FH
(3) JMP SHORT L JMP L
(4) MOV AX,BX MOV AX,[BX]
(5) MOV AX,[BX+DI] MOV AX,[BP+DI]
8.说明下列各指令的源操作数和目的操作数的存储地方。
(1)MOV [2000H],AX
(2)ADD AX,[BX+5]
(3)LEA SI,BUF
(4)DAA
(5)MUL BL
9.指出下列无条件转移指令的转移目标地址是什么?存放在何处?
(1)JMP BX
(2)JMP WORD PTR [BX]
(3)JMP DWORD PTR [BX]
(4)JMP P
(5)JMP SHORT R
10.说明MOVSB和CMPSB各能使用哪些重复前缀?