电路被减到最
少。该模式适用于规模较小的微机应用系统。
最大模式是相对于最小模式而言的,最大模式用在中、大规模的微机应用系统中。在最
大模式下,系统中至少包含两个微处理器,其中一个为主处理器,即8086/8088CPU,其它
的微处理器称之为协处理器,它们是协助主处理器工作的。
8. 若8086CPU 工作于最小模式,试指出当CPU 完成将AH 的内容送到物理地址为91001H
的存储单元操作时,以下哪些信号应为低电平:M/ IO、RD 、WR 、BHE /S7、DT/ R 。
若CPU 完成的是将物理地址91000H 单元的内容送到AL 中,则上述哪些信号应为低电
平。若CPU 为8088 呢? 解答:8086CPU
①存储器写(AH→9100H[0001H])时为低电平的信号:WR、7 /S BHE 。 ②存储器读(9100H[0000H]→AL)时为低电平的信号:RD 、R / DT 。 8088CPU
①存储器写(AH→9100H[0001H])时为低电平的信号:WR、) /S BHE ( SS 7 0 、M/ IO。
②存储器读(9100H[0000H]→AL)时为低电平的信号:M/ IO、RD 、R / DT 。 9. 什么是指令周期?什么是总线周期?什么是时钟周期?它们之间的关系如何?
解答:指令周期----CPU 执行一条指令所需要的时间称为一个指令周期(Instruction Cycle)。
总线周期----每当CPU 要从存储器或I/O 端口存取一个字节称为一次总线操作,相应
于某个总线操作的时间即为一个总线周期(BUS Cycle)。
时钟周期----时钟周期是CPU 处理动作的最小时间单位,其值等于系统时钟频率的倒
数,时钟周期又称为T 状态。
它们之间的关系:若干个总线周期构成一个指令周期,一个基本的总线周期由4 个T组
成,我们分别称为T1~T4,在每个T状态下,CPU完成不同的动作。
10. 8086/8088 CPU 有哪些基本操作?基本的读/写总线周期各包含多少个时钟周期?
什么情况下需要插入Tw 周期?应插入多少个Tw 取决于什么因素?
解答:①8086/8088CPU 最小模式下的典型时序有:存储器读写;输入输出;中断响应;系
统复位及总线占用操作。
②一个基本的CPU 总线周期一般包含四个状态,即四个时钟周期; 4 3 2 1 T T T T 、、、
③在存储器和外设速度较慢时,要在之后插入1 个或几个等待状态; 3 T w T ④应插入多少个取决于READY 信号的状态,CPU 没有在状态的一开始采样到
READY 信号为低电平,就会在和之间插入等待状态,直到采样到READY 信号为
高电平。 w T 3 T 3 T 4 T w T
11. 试说明8086/8088 工作在最大和最小模式下系统基本配置的差异。8086/8088 微机
系统中为什么一定要有地址锁存器?需要锁存哪些信息? 解答:最大模式配置和最小模式配置有一个主要的差别:①就是在最大模式下,需要用外加
电路来对CPU 发出的控制信号进行变换和组合,以得到对存储器和I/O 端口的读/写信号及
对锁存器(8282)和对总线收发器(8286)等等的控制信号。8288 总线控制器就是完成上
面这些功能的专用芯片。②为多中断源的需要,常采用中断优先权控制电路(如Intel8259A)。
8086/8088 系统一定要有地址锁存器――因为高四位地址和状态信号是从同一组引脚上
分时送出的,低16 位地址和数据是从同一组引脚上分时传输的,所以必须把地址信息锁存 起来。
需要锁存的信息:地址信号、7 /S BHE 和M IO/ (8086 为IO M/ )信号进行锁存。
12.试简述8086/8088 微机系统最小模式下从存器储读数据时的时序过程。 解答:正常的存储器读总线操作占用4 个时钟周期,通常将它们称为4 个T状态即T1~ T4。
① T1状态,IO/M=0,指出要访问存储器。送地址信号A19-0,地址锁存信号ALE有效,
用来控制8282 锁存地址。DT/ R =0,控制8286/8287 工作在接收状态(读)。
② T2状态,A19~A16送状态S6 ~S3,AD7 ~AD0浮空,准备接收数据。同时,RD =0,表
示要进行读操作,而DEN =0 作为8286/8287 的选通信号,允许进行数据传输。
③ T3状态,从指定的存储单元将数据读出送AD7 ~AD0。若存储器速度较慢,不能及时
读出数据的话,则通过READY引脚通知CPU,CPU在T3的前沿采样READY,如果
READY=0,则在T3结束后自动插入1 个或几个等待状态TW,并在每个TW的前沿检
测READY,等到READY变高后,就自动脱离TW进入T4。
④ T4状态,CPU采样数据线,获得数据。RD 、DEN 等信号失效。 CH02 8086/8088 指令系统 习题与思考题
1.假定DS=2000H,ES=2100H,SS=1500H,SI=00A0H,BX=0100H,BP=0010H,数据变
量VAL 的偏移地址为0050H,请指出下列指令源操作数是什么寻址方式?源操作数在哪
里?如在存储器中请写出其物理地址是多少? (1)MOV AX,0ABH (2)MOV AX,[100H] (3)MOV AX,VAL (4)MOV BX,[SI]
(5)MOV AL,VAL[BX] (6)MOV CL,[BX][SI] (7)MOV VAL[SI],BX (8)MOV [BP][SI],100 解答:
(1)MOV AX,0ABH
寻址方式:立即寻址;源操作数在数据线上;物理地址:无 (2)MOV AX,[100H]
寻址方式:直接寻址;源操作数在存储器中;物理地址:DS*16+100H= 2000H*16+100H=20100H (3)MOV AX,VAL
寻址方式:直接寻址;源操作数在存储器中;物理地址:DS*16+VAL= 2000H*16+0050H=20050H (4)MOV BX,[SI]
寻址方式:寄存器间接寻址;源操作数在存储器中;物理地址:DS*16+SI= 2000H*16+00A0H=200A0H (5)MOV AL,VAL[BX]
寻址方式:变址寻址;源操作数在存储器中;物理地址:DS*16+VAL+BX= 2000H*16+0050H+0100 =20150H
(6)MOV CL,[BX][SI]
寻址方式:基址加变址寻址;源操作数在存储器中;物理地址:DS*16+BX+SI=
2000H*16+0100H+00A0H =201A0H
(7)MOV VAL[SI],BX
寻址方式:寄存器寻址;源操作数在寄存器中;物理地址:无 (8)MOV [BP][SI],100
寻址方式:立即寻址;源操作数在;物理地址:无
2.设有关寄存器及存储单元的内容如下: DS=2000H , BX=0100H , AX=1200H , SI=0002H , [20100H]=12H , [20101H]=34H ,
[20102H]=56H , [20103]=78H , [21200]=2AH , [21201H]=4CH , [21202H]=0B7H , [21203H]=65H。
试说明下列各条指令单独执行后相关寄存器或存储单元的内容。 (1)MOV AX,1800H (2)MOV AX,BX
(3)MOV BX,[1200H] (4)MOV DX,1100[BX] (5)MOV [BX][SI],AL (6)MOV AX,1100[BX][SI] 解答:
题号指令执行结果
(1) MOV AX,1800H AX=1800H (2) MOV AX,BX AX=0100H
(3) MOV BX,[1200H] BX=4C2AH (4) MOV DX,1100[BX] DX=4C2AH (5) MOV [BX][SI],AL [20102H]=00H (6) MOV AX,1100[BX][SI] AX=65B7H
3.假定BX=0E3H,变量VALUE=79H,确定下列指令执行后的结果(操作数均为无符号数。
对3、6,写出相应标志位的状态)。
(1)ADD VALUE,BX (2)AND BX,VALUE (3)CMP BX,VALUE (4)XOR BX,0FFH (5)DEC BX (6)TEST BX,01H 解答:
题号指令执行结果
(1) ADD VALUE,BX BX=015CH (2) AND BX,VALUE BX=0061H
(3) CMP BX,VALUE BX=00E3H(CF=ZF=OF=SF=0,AF=PF=1) (4) XOR BX,0FFH BX=001CH (5) DEC BX BX=00E2H
(6) TEST BX,01H BX=00E3H(CF=ZF=OF=SF=AF=PF=0)
4.已知SS=0FFA0H,SP=00B0H,先执行两条把8057H 和0F79H 分别进栈的PUSH 指令,
再执行一条POP 指令,试画出堆栈区和SP 内容变化的过程示意图。(标出存储单元的地 址)
解答: 00ADH 00AEH 00AFH
0FFA0: 00B0H ···
FFAACH FFAADH FFAAEH FFAAFH FFAB0H ··· 00ACH X
FFAABH 00ADH 00AEH 00AFH
0FFA0: 00B0H ··· 57H