配色: 字号:
第3章_6 处理机与习题
2012-05-16 | 阅:  转:  |  分享 
  
课后作业3.53,3.54,3.57,3.59第三章指令系统三峡大学陈慈发0717-6394358,13972597
617chcf0415@126.com128086CPU的指令格式8086CPU的指令系统38086CPU的寻址方式
指令系统指令分类数据传送指令算术运算指令逻辑运算与移位指令串操作指令控制转移指令处理机控制指令处理
器控制指令用于控制处理器的某些功能标志位操作指令(7条)进位标志CFCLC ;CF=0STC ;CF=1CMC ;CF=
CF方向标志DFCLD ;DF=0STD ;DF=1中断标志IFCLI ;IF=0STI ;IF=1同步控制指令
(3条)1、等待指令WAIT格式:WAIT功能:使CPU进入空闲等待状态。在等待状态时,每隔5个时钟周期对TES
T的状态进行一次测试,若TEST=0,则退出WAIT,开始执行下一条指令。在等待期间,处理器也接受中断,但从中断返回后,又进入WA
IT执行状态。2、封锁总线指令LOCK格式:LOCK指令功能:封锁总线使其他处理器不能使用总线说明:L
OCK是可以加在任何指令前面的单字节前缀指令,它使处理器在执行该指令期间保持一个总线封锁信号LOCK,使其他处理器不能使用总线。这
样可以在多处理器系统中,实现对共享资源的存取控制。3、交权指令ESC格式:ESC外部操作码,源操作数说明:要
求协处理器完成某种任务。ESC是在最大模式下使用的一条指令,主要用在CPU与外部处理器(如协处理器8087)配合工作的情形。CPU
执行该指令时,可使外部协处理器获得一个操作码和一个操作数,并使用8086的寻址方式。暂停及空操作指令(2条)4、暂停指令H
LT格式:HLT功能:使CPU进入暂停状态说明:只有当下面三种情况之一发生时,CPU才退出暂停状态: ①CP
U的复位输入端RESET线上有复位信号; ②非屏蔽中断NMI线上出现请求信号; ③可屏蔽中断INTR线上出现请求信号且中断
允许标志IF=1。该指令是为中断等待而设。当响应中断时,待处理完中断后,由IRET指令返回到HLT的下一条指令。5、空
操作指令NOP格式:NOP功能:不执行任何操作,只是占用了CPU用来获取该指令的4个时钟周期时间说明:该指令
常用来产生软件延时、填充调试程序时删除的指令字节单元等。【例】设段寄存器DS=1000H,SS=2000H,ES=3000H,通
用寄存器BX=4000H,BP=5000H,SI=6000H,DI=7000H。在下列各指令中指出存储器操作数的寻址方式,求出有效
地址EA、物理地址PA。(1)MOV CX,[2300H](2)MOV BYTEPTR[BX],8FH(3)MO
V DH,[BP+3000H](4)MOV ES:[SI+1210H],AX(5)MOV [BX+DI+50H],AL(
6)INC WORDPTR[BX+SI];EA=2300H,PA=12300H;EA=4000H,PA=14000H;
EA=8000H,PA=28000H;EA=7210H,PA=37210H;EA=B050H,PA=1B050H;EA=A0
00H,PA=1A000H【例】指出下列指令中源操作数的寻址方式。(1)MOV BL,0F9H(2)ADD [BX],
SI(3)SUB CL,[4000H](4)CMP DX,[SI](5)AND AL,[BX+1](6)OR BP
,[DI+2100H](7)XOR AX,[BP+SI](8)MOV CX,300;立即数;寄存器;直接;寄存器间
接;基址;变址;立即数;基址加变址【例】下列指令都是非法的,指出各指令错在哪里?(12)PUSH AL(13)L
EA AX,BX(14)LDS BL,[5100H](15)IN AH,DX(16)OUT 288H,AL(17)
ADD [2400H],1234H(18)XOR [2500H],[BX+10H](19)INC [SI](20)MU
L 10(21)IDIV [BP+DI+1300H](22)SAL AL,2(1)MOV SI,AH(2)MOV
70H,BL(3)MOV CX,F123H(4)MOV [BX],6AH(5)MOV ES,5000H(6)MOV
[DI],[3000H](7)MOV DS,SS(8)MOV CS,AX(9)MOV AL,[CX](10)MO
V [BX+BP],DX(11)MOV BH,[SI+DI+2]【例】设SP=2000H,AX=3000H,BX=5000H
,执行以下3条指令后,问SP=?AX=?BX=? PUSH AX PUSH BX POP AX【例】下列程序执行完后,AX
=?BX=?CX=? MOV AX,1122H MOV BX,3344H PUSH AX POP CX XCHG BX,
CX LEA CX,[BX];SP=1FFEH;SP=1FFCH;SP=1FFEH,AX=5000H,BX=5000H;
AX=1122H;BX=3344H;CX=AX=1122H;BX=1122H,CX=3344H;CX=1122HAX=1
122H,BX=1122H,CX=1122H【例】CPU分别执行下列各段程序后,写出各个执行结果的状态标志位OF、SF、ZF、A
F、PF、CF的值。(1) MOV AL,7AH ADD AL,53H(2) MOV BL,0AFH ADD BL
,0EAH(3) MOV CL,0FFH ADD CL,01H(4) MOV DL,49H SUB DL,0CAH
;OF=1,SF=1,ZF=0,AF=0,PF=0,CF=0;OF=0,SF=1,ZF=0,AF=1,PF=1,CF=1;
OF=0,SF=0,ZF=1,AF=1,PF=1,CF=1;OF=0,SF=0,ZF=0,AF=1,PF=0,CF=1【例】有
如下程序段 MOV AL,45H ADD AL,71H DAA MOV BL,AL ADC AL,19H D
AA MOV BH,AL 问,执行完此段程序后,BX=,标志位PF=,CF=
。BX=3616H,PF=1,CF=0;AL=B6H;AL=16H,CF=1;B
L=16H;AL=30H,CF=0,AF=1;AL=36H,PF=1;BH=36H【例】分别只使用一条指令实现下述各功能。
(1)使AL的低4位清0,高4位不变。(2)使DI的高10位清0,低6位不变。(3)使BL的低4位置1,高4位不变。
(4)使SI的高2位置1,低14位不变。(5)使CL中的D2、D3、D4、D5、D6位取反,D0、D1、D7位不变。(6)
使BP的高4位取反,低12位不变。(1)ANDAL,0F0H(2)ANDDI,003FH(3)OR
BL,0FH(4)ORSI,0C000H(5)XORCL,7CH(6)XORBP,0F000H【例
】设AX=1234H,CX=9602H,下列指令执行完后,AL=? AND AL,AH SHL AL,CL OR AL,CH
SAR AL,CL XOR AL,CL RCL AL,1;AL=10H;AL=40H;AL=D6H;AL=F5H
,CF=1;AL=F7H,CF=0;AL=EEH,CF=1【例】有如下程序段 MOV SP,3008H MOV AX
,[DI]RCT: CALL PSUB1 MOV [DI],AX ┆PSUB1: PUSH AX PUSH BX
RET问,当执行完PUSHBX指令后,SP=;当执行完RET指令后,IP=。
;IP入栈,SP=3006H;AX入栈,SP=3004H;BX入栈,SP=3002H;BX出栈给IP,SP=3004H,I
P=BXBX=3004H,IP=BX【例】若CPU中各寄存器及存储器参数如题图所示,试求独立执行如下指令后,CPU相
应寄存器及存储器相应单元的内容是多少?寄存器存储器执行前执行后CS3000HFFFFHCX20506H06H
DS2050H0004HBX20507H00HSS50A0H0000HSP20508H87HESFFFF
H17C6HDX20509H15HIP0000H8094HAX2050AH37HDI000AH1403H
BP2050BHC5HSI0008H1CF2050CH2FH(1)MOV DX,[BX+2](
2)PUSH DX (3)MOV CX,BX (4)TEST AX,1
(5)MOV AL,[SI] (6)ADC AL,[DI] (7)DA
A (8)INC SI (9)MOV [DI],AL (10)XOR AH,BL
(11)JMP DX ;DX=0006H,BX=0004H;SP
=FFFDH,[SP]=17C6H;CX=0004H,BX=0004H
;AX=8094H,CF=0;AL=87H;AL=0CCH,CF
=0;AL=0F4H;SI=0009H;[DI]=94H;AH=84H,BL=04H;CS=3000H,IP=17C6H【例】下列程序执行完后,AX=? MOV CX,0F902H XOR AX,AX NOT AX SUB AL,CH JZ NEXT MUL CLNEXT: SHR AX,CL;CX=F902H;AX=0;AX=FFFFH;AL=06H;CF=0;AX=AL×CL=000CH;AX=0003HAX=0003H
献花(0)
+1
(本文系依米荷阳首藏)