文档详情

微机原理及接口第六章作业答案.doc

发布:2016-06-30约2.48千字共3页下载文档
文本预览下载声明
“微机系统原理与接口技术”第六章习题解答(部分) 3.统一编址和分离编址,统一编址:存储器和I/O地址空间统一分配,用相同的指令访问存储器和I/O中的内容,访问存储器和I/O时,用相同的控制信号和不同的地址信号;分离编址:存储器和I/O地址空间单独分配,用不同的指令访问存储器和I/O,访问存储器和I/O时,地址可以相同,但有不同的控制信号。 4.某微机系统有8个I/O接口芯片,每个接口芯片占用8个端口地址。若起始地址为9000H,8个接口芯片的地址连续分布,用74LS138作译码器,请画出端口译码电路图,并说明每个芯片的端口地址范围。 答:分析下表所列的地址分配情况,可知系统地址信号的译码情况为(图略): 字选:A2~A0直接与接口芯片上的地址信号线连接以寻址每个接口芯片内部的8个端口; 片选: A5~A3接3-8译码器输入端,译码器输出端分别作为8个接口芯片的片选信号; A15~A6经门电路译码后形成3-8译码器的片选信号; 地址信号 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 第1个I/O接口芯片 端口1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 端口2 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 …… 1 0 0 1 0 0 0 0 0 0 0 0 0 …… 端口8 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 第2个I/O接口芯片 端口1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 端口2 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 …… 1 0 0 1 0 0 0 0 0 0 0 0 1 …… 端口8 1 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 第3个I/O接口芯片 端口1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 端口2 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 …… 1 0 0 1 0 0 0 0 0 0 0 1 0 …… 端口8 1 0 0 1 0 0 0 0 0 0 0 1 0 1 1 1 …… 1 0 0 1 0 0 0 0 0 0 …… …… 第8个I/O接口芯片 端口1 1 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 端口2 1 0 0 1 0 0 0 0 0 0 1 1 1 0 0 1 …… 1 0 0 1 0 0 0 0 0 0 1 1 1 …… 端口8 1 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 6(略) 7、中断、DMA 8. 假设一台打印机的数据输出I/O口地址为378H,状态口地址为379H,状态字节的D0位为状态位(D0=0,表示打印数据缓冲区空,CPU可以向它输出新数据;D0=1,表示数据区满)。试编写一段程序,用查询方式从内存中以BUF为首址的单元处开始,将连续1KB的数据传送给打印机,每次送1字节。 答:一种可能的程序段如下实现: …… Lea bx, buf ; BX指向第1个待打印的数据 Mov cx, 1024 ; 一共要送1K个字节数据 Next: mov dx, 379h In al, dx ; 读打印机状态端口 Test al, 01h Jnz next ; 若D0位不为0,则继续查询等待 Mov dx, 378h Mov al, [bx] Out dx,al ; 将BX所指的数据发送到打印机 Inc bx ; BX指向下一个待打印的字节 Loop next ; CX不为0,继续送下一个字节 …… 9. 请用无条件传输方式编写一个完整的输入/输出程序,将首地址为40000H的内存单元中的1K个字数据从端口Output处输出,然后从端口Input处输入2KB数据到首地址为50000H的内存单元中(端口地址的实际值可自行给定)。 答:一种可能的程序如下实现: Data1 segment at 4000h Buffer1 dw …… ; 已存放好1K个字数据 DatA1 ends Data2 segment at 5000h Buffer2 dB 2048 DUP(?) ; 预留2KB单元存放读入的数据 Data2 ends Code segment Assume cs:code , ds:dat
显示全部
相似文档