第六章 I/O接口
1. 请说明计算机接口电路功能。
答:数据缓冲:外设数据输入到总线时需要缓冲。
数据锁存:总线数据输出到外设时的锁存,解决CPU与外设速度不匹配问
。
传输控制命令和状态信息:计算机与外设有时需使用硬件握手。例如:计算机利用查询输出到打印机。
信息转换:串并转换、数模转换、电平格式转换
2. 请说明计算机I/O接口有几种编址方式?试说明各种编址的优缺点?
答:(1)I/O端口与存储器统一编址
优点:不需要专门的输入输出指令,可使用全部对存储器操作的指令,指令数量多
端口数量多
缺点:占用存储器空间,寻址时地址线数多,译码复杂
(2)I/O端口独立编址
优点:I/O空间较存储器空间小,地址线少,译码电路相对简单,不占用存储器空间
缺点:要有专门输入输出指令,寻址方式少,不灵活
3. CPU与外设的数据传送方式有几种?试说明各种方式的特点?
(1)无条件传送方式:CPU不需要检测外设状态,直接使用IN和OUT命令完成输入和输出
(2)查询传送方式:传送数据之前,CPU需要检测外设的状态(即握手信号的联络),只有外设条件满足时才传送数据,否则继续检测,直到满足。
(3)中断传送方式:进行传送的中断服务程序是预先
好的,其入口地址已知。何时调用中断服务程序主要由外部请求决定,对CPU来说其时间是随机的。中断事件发生时,程序会执行到什么位置(断点)是不确定的,对CPU来说其地点是随机的。使用中断传送,除了执行中断服务程序的那段时间外,CPU和外设在大部分时间内各自独立地工作,大大提高了CPU的工作效率。
4. 设计8086与一个ADC芯片联接的接口电路如下,试说明工作原理,请用汇编语言编写程序将其控制起来。
答:1)启动ADC:对84H端口执行写操作,84H & /IOW有效,即ADC的/EN有效,启动ADC转换。2)外设转换结束,置状态信息为1,ADC转换结束,由EOC产生负脉冲,将AD数据锁存到锁存器,并置状态锁存器输出为1 。3)查询状态位:对82H端口执行读操作, 82H & /IOR有效,读取D7~D0,状态位由D0位传送4)读取数据:若D0位为1,则对80H端口执行读操作,80H & /IOR有效,即三态缓冲器/OE有效,通过D7~D0读入转换数据,同时状态锁存器/R有效,清除状态,防止CPU重读数据
代码:READ PROC
MOV DX, 80H
IN AL, DX
MOV DX, 84H
OUT DX, AL
READ1:
MOV DX, 82H
IN AL, DX
TEST AL, 1
JZ READ1
MOV DX, 80H
IN AL, DX
RET
READ ENDP
5. 设计8086与一个DAC芯片联接的接口电路如下,试说明工作原理,请用汇编语言编写程序将其控制起来。
答:1)CPU输出数据:对160H端口执行写操作,160H & /IOW有效,即锁存器CLK有效,输出数据通过D7~D0被锁存到锁存器输出,同时状态锁存器C有效,置状态信息位为1,向DAC
明输出数据已准备好。2)启动DAC工作:对164H端口执行写操作,164H & /IOW有效,即DAC的/C有效,启动DAC。4)DAC转换:若DAC取走数据,开始转换,则发ACK信号,清除状态触发器输出。3)查询状态位:对162H端口执行读操作,162H & /IOR有效,读取状态锁存器输出,状态位由D0传送,若D0为0,表明DAC已取走数据,CPU可输出下一次数据。
代码:WRITE PROC
MOV DX, 160H
OUT DX, AL ;输出数据
MOV DX, 164H
OUT DX, AL ;启动DAC
MOV DX, 162H
WRITE1:
IN AL, DX ;查询状态
TEST AL, 1
JNZ WRITE1
RET
WRITE ENDP
6. 试说明可屏蔽中断的过程。
输入为INTR引脚,高电平有效,受IF标志控制,CPU在每条指令的最后一个T状态检测该引脚,若CPU响应中断请求,则输出/INTA低电平有效,从外设读取中断类型码。
7. 试说明软件中断的过程。
1. 除法溢出中断( DIV和IDIV)(INT 0)
若除数为0或商超过寄存器所能表达的范围,则产生类型为0的软件中断
2. 单步中断 (INT 1)
若TF=1,则CPU每执行完一条指令后便产生类型码为1的软件中断
3. 执行 INT 指令引起的中断 (INT n)
执行INT n指令则会引起中断类型码为n的软件中断
4. 执行 INTO 指令引起的中断(INT 4)
若OF=1,则指令INTO引起中断类型码为4的软件中断
9. 如图所示,IBM-PC/XT计算机扩展槽上与存储器连接的总线信号为20根地址线A19~A0,8根数据线D7~D0以及存储器读写信号
和
。使用这些信号扩展1片27256(32K×8 EPROM)和1片62256(32K×8 RAM)。要求EPROM的起始地址为C8000H,RAM紧随其后,使用74LS138(3-8译码器),采用全地址译码方式。
1) 试在图中画出计算机的存储器连接图(门电路自选).
10.
1. 8位补码89H表示的十进制数是____B_______。
A.88 B.–119 C.–136 D.136
2. 微型计算机主要包括微处理器、存储器、I/O接口电路和_____C____。
A.运算器 B.寄存器 C.系统总线 D.寄存器组
3. 8088 CPU构成的计算机系统中,所能使用的内存最大容量是__A___。 A.1024K B.1024M C.1024B D.1024G
4. 若8086CPU工作于最小模式,则执行指令MOV [2000H], AX时,下列关于相应信号引脚的描述,正确的是_____D_____。
A.
为低电平,
为低电平
B.
为低电平,
为高电平
C.
为高电平,
为低电平
D.
为高电平,
为高电平
5. 8086的一个总线周期,可以传送的字节数为____B_____。
A.1 B.2 C.3 D.4
6. 当8086 CPU进行堆栈操作时,使用的段基址是在____C____中。
A.CS B.DS C.SS D.ES
7. 8086系统复位时,8086CPU内_____B_________。
A.标志寄存器清零 B.指令指针(IP)清零 C.DS寄存器清零
D.SS寄存器清零 E.CS寄存器清零
8. 下列指令中,正确的指令是______A_____。
A.MOV AX, 100 B.POPF C.MOV AX, [DI][BX] D.DEC DI
9.在8086 CPU中,(CS)=1000H,(DS)=2000H,(ES)=3000H,(SP)
=4000H,(IP)=5000H,则下一条执行的指令首地址为___A_____。
A.15000H B.25000H C.5000H D.35000H
10.以下是关于标志寄存器中方向标志位DF作用的描述,正确的是_D___。
A.控制堆栈中数据的进栈或出栈
B.控制CPU与内存之间数据传送的方向
C.控制CPU与I/O接口之间数据传送的方向
D.串操作时控制地址的递增或者递减
11.使用DIV指令进行无符号字节型除法运算时,所得商存放在__B__中。
A.AX B.AL C.DX D.DL
12. 指令LOOPNE/LOOPNZ结束循环的条件是______C______。
A.(CX)=0或者ZF=0 B.(CX)=0或者ZF=1
C.(CX)≠0或者ZF=0 D.(CX)≠0或者ZF=1
13. 已知(AL)=56H,(BL)=34H,都是压缩的BCD码,要执行两数相加,正确的指令是_____C______。
A.ADD AL, BL B.ADC AL, BL
C.ADD AL, BL D.ADD BL, AL
DAA DAA
14. 在执行指令CALL SHORT SUBR后,(SP)的值___C______。
A.加4 B.减4 C.加2 D.减2
15. 要在程序中定义9个字节的缓冲区BUF的语句是___B_______。
A.BUF DB 9 B.BUF DB 9 DUP(?)
C.BUF DW 9 D.BUF DB ? DUP(9)
二.填空题
1.设(DS)=4500H,(AX)=0508H,(BX)=1800H,(SI)=0320H,
当8086处理器执行指令MOV AX, 100H [BX+SI]时,地址总线上的地址为
1C20 H,该指令源操作数采用的是 相对基址变址寻址 寻址,目的操作数采用的是 寄存器 寻址。
2.由8086/8088 CPU 构成的微型计算机中,一个总线写周期至少由
4 个T状态(时期周期)组成;在______T1_____状态,CPU 往总线
上发送地址信息;在____T2,T3,T4_____状态,CPU 往总线上发送数据信息。
3.8位补码表示范围是 -128至127 ,10000000B是 -128 的补码。
4.一条指令的执行可以分解为 取值 、 分析 和 执行 三个操作。
5.执行下列指令序列
MOV AL, 80H
MOV BL, 08H
CBW
IDIV BL
则(AX)= 000FH
6.8086系统中,存储器是分段的,每段最大长度是 64K 字节,段内偏移地址从 0000H 到 FFFFH 。
三. 简答题
1.8086/8088系统中,物理地址和逻辑地址有何不同?
逻辑地址:16位段地址 和 16位偏移地址
物理地址:16位段地址 × 16 + 16位偏移地址
2.已知数据定义语句
ORG 120H
W1 DW 200H,10H
W2 DW W1
执行指令序列 MOV AX, W1
MOV BX, W2
后,寄存器AX和BX的内容是多少?
答:(AX)=200H (BX)=120H