2.3.6 处理器控制指令
这组指令可以控制处理机状态以及对某些标志位进行操作。
1.标志操作指令
这组指令可以直接对CF、DF和IF标志位进行操作,它们只影响本指令所涉及的标志。这组指令的格式、功能及对标志位的影响情况见表2-13。
表2-13 标志操作指令
2.其他处理机控制指令
这组指令可以控制处理机状态,它们均不影响标志。表2-14给出了这组指令的名称、格式、功能及说明。
表2-14 其他处理机控制指令
习 题 2
一、单项选择题(只有一个正确答案)
1.下列哪个立即寻址方式指令是正确的?( )
A.MOV AL,321 B.MOV AL,321H
C.MOV AL,35H D.MOV 35H,AL
2.在8086/8088变址寻址指令中,允许使用的寄存器有( )。
A.AX,BX,CX,DX B.SP,IP
C.CS,ES,DS,SS D.BX,BP,SI,DI
3.在8086/8088基址变址寻址指令中,允许使用的寄存器组合有( )。
A.AX和SI B.SP和SI C.CS和IP D.BX和DI
4.指令MOV AX,DISP[BX],它的源操作数的寻址方式是( )。
A.直接寻址 B.基址加变址寻址
C.寄存器间接寻址 D.寄存器相对寻址
5.设SP初值为200H,执行指令PUSH AX后SP的值为( )。
A.1FFH B.198H C.1FEH D.202H
6.下列指令中有语法错误的是( )。
A.PUSH AX B.PUSH [20H+SI+BX] C.PUSH DS D.POP CS
7.执行下列指令序列后,结果正确的是( )。
MOV AL,40H
ADD AL,AL
ADC AL,AL
ADC AL,AL
A.AL=00H,CF=1 B.AL=100H,CF=0
C.AL=200H,CF=1 D.AL=01H,CF=0
8.当前BX=0003,AL=043H,DS=2000H,(20003H)=0ABH,(20004H)=
0CD,(20005H)=0ACH,(20006H)=0BDH,则执行了XLAT指令后,AL中的内容是( )。
A.0ABH B.0ACH C.0CDH D.0BDH
9.乘法指令中的两个操作数,其中有一个隐含固定在( )。
A.AL或AX B.BL或BX
C.CL或CX D.DL或DX
10.设(AL)=96H,(BL)=12H,分别执行MULBL和IMULBL指令后,正
确的结果是( )。
A.(AX)=0A8CH B.(AX)=1152
(AX)=0F88CH(AX) =-1152
C.(AX)=0A8CH D.(AX)=0F88CH
(AX)=0A8CH(AX)=0A8CH
11.当用DIV指令进行无符号数的字/字节相除时,所得的余数存放在( )。
A.AL B.AH C.AX D.DX
12.用CMP指令判断无符号数A<B时,所用条件为( )。
A.CF=1 B.CF=0 C.SF=OF=1 D.SF=OF=0
13.以下指令中不是逻辑运算指令的是( )。
A.XOR B.NOT C.OR D.CWD
14.下列指令执行后能使(BX)=0,同时也使CF=0,OF=0的指令是( )。
A.XORBX,BX B.ORBX,BX
C.AND BX,BX D.TEST BX,0FFFH
15.对于SALAL,1指令,若AL中带符号在指令执行后符号有变,则可通过( )来确认。
A.OF=1 B.OF=0 C.CF=1 D.CF=0
16.AL的内容实现算术右移4位的方法是( )。
A.SHRAL,4 B.SARAL,4
C.MOV CL,4 D.MOV CL,4
SHRAL,CL SARAL,CL
17.在下列指令的表示中,正确的是( )。
A.SUB [BX],[DI]B.MOV AX,NUM[BX+BP]
C.INC [BX+SI]D.JMP DWORDPTROK[SI]
18.以下条件转移指令中属于无符号转移指令的是( )。
A.JE B.JNC C.JNG D.JL
19.指令JMP WORD PTR[BX]属于( )。
A.段内转移直接寻址 B.段间转移直接寻址
C.段内转移间接寻址 D.段间转移间接寻址
20.如果当前AL中的内容为-1,则以下指令中不能执行转向标号NEXT的是( )。
A.AND AL,0FFH B.XORAL,0FFH
JZ NEXT JZ NEXT
C.CMP AL,0FFH D.ADD AL,01H JZ NEXT JZ NEXT
二、填空题
1.一条8086/8088的指令由部分组成。
2.采用基址变址寻址方式时,如果带上一个位移量,带位移量的基址加变址寻址又称为。
3.执行了MOV AX,2050H后,寄存器AX中(AH)=,(AL)=。
4.若要对一个字节或一个字的数求反,则用指令;若要对寄存器或存储器单元内容中指定位求反,则运用指令。
5.条件转移指令本身的偏移量与目标地址的偏移量之差,范围在之间,是一种短转移。
6.执行JMP DWORDPTROPR指令后,将会改变的内容,还要改变内容后才能转向目标地址处。
7.执行LOOPNE/LOOPNZ指令时,经进行循环次数的计数后,若且时,则转移到目标单元,否则顺序执行。
三、简答题
1.设(DS)=3000H,(BX)=2000H,(SI)=1000H,DISP=1230H,则指令MOV AX,DISP[BX][SI]的源操作数物理地址为多少?
2.设有关的寄存器及存储单元的内容如下:
(DS)=2000H,(BX)=0100H,(SI)=0002H,(21200H)=4C2AH,(21202H)=65B7H
试求执行以下各条指令后,AX寄存器的内容是什么?
(1)MOV AX,1200H(2)MOV AX,[1200H]
(3)MOV AX,1100H[BX](4)MOV AX,1100H[BX][SI]
3.假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)
=0100H,数据变量DISP的偏移地址为0050H,请指出下列指令的源操作数字段是什么寻址方式?其物理地址是多少?
(1)MOV AX,0ABH(2)MOV AX,BX
(3)MOV AX,[100H](4)MOV AX,DISP
(5)MOV AX,[BX](6)MOV AX,ES:[BX]
(7)MOV AX,DISP[BX](8)MOV AX,DISP[BX][SI]
(9)MOV AX,[SI]
4.试给出执行下列程序段后AL的值。
MOV AX,2756H
ADD AL,AH
DAA
SUB AL,AH
5.指出下列指令的错误。
(1)MOV CX,DL(2)XCHG[SI],3
(3)POP CS(4)MOV IP,AX(
5)SUB[SI],[DI](6)PUSH DH(
7)ORBL,DX(8)AND AX,DS
(9)MUL16(10)AND 7FFFH,AX
(11)DIV 256(12)ROLCX,BL
(13)MOV ES,1234H(14)MOV CS,AX
(15)SUB DL,CF(16)ADC AX,AL
(17)MOV AL,300(18)JDXZ NEXT
6.指出下列指令有哪些错误,并说明原因。
(1)MOV[SP],AX(2)PUSH CS
(3)JMP BX+100H(4)JMP CX
(5)ADD AL,[SI+DI](6)SUB[BP+DI-1000],AL
(7)ADD BH,[BL-3](8)ADD[BX],BX
(9)MOV AX,BX+DI(10)LEA AX,[BX++DI]
(11)XCHG ES:[BP],AL(12)XCHG[BP],ES
7.请解释下列两条指令的区别。
SHRAX,1
SARAX,1
8.试给出执行下列程序段后,BX寄存器的值。
MOV CL,3
MOV BX,0B7H
ROLBX,1
ROLBX,CL
9.按下列题意要求,分别为每个小题写出相应的汇编语言指令。
(1)清除累加器,同时清除CF标志位。
(2)将BX寄存器中的奇数位置“1”,其他位保持不变。
(3)将DX寄存器中的偶数位屏蔽置“0”,其他位保持不变。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。