上大计算机专业接口技术课程习题答案.doc_第1页
上大计算机专业接口技术课程习题答案.doc_第2页
上大计算机专业接口技术课程习题答案.doc_第3页
上大计算机专业接口技术课程习题答案.doc_第4页
上大计算机专业接口技术课程习题答案.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

题1.2参考p.2和p.51.9参考p.13-141.11(1)174.66 D = 10101110.10101000 B = 0AE.A8 H (0AE.A9H / 0AE.A8F5C2H)(2)100011101011.01011 B = 8EB.58 H = 2283.34375 D(3)F18A6.6 H = 11110001100010100110.0110 B= 989350.375 D1.12解:八位机器数原码、反码、补码、移码+3700100101001001010010010110100101 -37101001011101101011011011010110111.13解:补码机器数扩充为16位和32位形式+370025 H00000025 H-37FFDB HFFFFFFDB H1.14 解:46H作为无符号数 = 70 D46H作为补码 = +70 D46H作为BCD码 = 46 D46H作为ASCII码 = F1.19解:英文字母 D和d的ASCII码为44H和64H;回车CR为0D H、换行LF为0A H; 数码0、空格SP、空操作NUL的ASCII码分别为30H、20H、00H。题2.5 参考p.32逻辑地址形式为段地址:偏移地址物理地址 = 段地址*16+段内偏移地址1MB空间最多可以分成64K个逻辑段,因为段地址的起始必须是16的倍数,220/24=216=64K个。物理地址为:(1) 0FFFF0H(2)00417H(3)24500H(4)0BC777H2.9 略2.13解:运算公式为 v-(x*y+z-540)/x结果商存放在ax中,余数在dx中。2.16解:求有效地址(1)EA = 1256H(2)EA = 32F7H2.19解:求首地址为array的20个字的数组的元素之和,结果存放于地址为total的字单元中。-题4.1 参见p.14-15 8088具有 20 根地址线。在访问内存时使用地址 A0A19 ,可直接寻址 1MB 容量的内存范围;在访问外设时使用地址线 A0A15 ,共能寻址 64K 个输入输出端口。 实际上PC/XT在寻址外设时,只使用地址线A9A0;若A91,说明它要寻址的IO端口位于IO插卡上。4.2参见p.106-107总线操作指的是发生在总线上的某些特定操作,总线周期指的是完成一次特定总线操作所需的时间。对8088而言其典型的总线周期由 4个T状态组成。PC/XT所采用的时钟频率为4.77MHz,每个T状态的持续时间为210ns。如果CLK引脚接5MHz的时钟信号,那么每个T状态的持续时间为200ns。 4.4解答: 当8088进行读写存储器或I/O接口时,如果存储器或I/O接口无法满足CPU的读写时序(来不及提供或读取数据时),需要CPU插入等待状态TW。(在T3前沿检测Ready信号,若无效则插入TW 。) 具体在读写总线周期的T3和T4之间插入TW。4.6参见p.99,p.1108088的某些输出线有三种状态:高电平、低电平、悬空(高阻态),称为三态能力。在高阻状态,CPU放弃其了对该引脚的控制权,由连接它的设备接管。具有三态能力的引脚有:AD7AD0,A15A8,A19/S6A16/S3,ALE,IO/M*,WR*,RD*,DEN*,DT/R*。4.11总线周期IO/M*WR*RD*存储器读低 高低存储器写低低高I/O读高高低I/O写高低高IO/M*WR*RD* WR*RD* MEMR*IOW*4.12 答:取该指令时引发存储器读总线操作。执行该指令时引发I/O读总线操作。(时序图略)4.13 8088系统最小组态下,对指令ADD 2000H,AX (长度3B)。答:取该指令时需要3个总线周期,均为存储器读周期。执行该指令时需要4个总线周期,2个为存储器读总线周期(读出字操作数参与运算),2个为存储器写总线周期(保存16位运算结果)。4.15 参见p.106图74LS373 的G为电平锁存引脚,控制选通且转为无效时锁存数据。OE* 输出允许引脚,信号来自ALE。4.16 参见p.106图数据收发器74LS245 是8位双向缓冲器,G*控制端为低电平有效,可传输数据;DIR控制导通方向:DIR1,AB;DIR0,AB。4.17 参见p.111-112归纳为:1、8086数据总线变为16位,数据地址线复用为AD15AD0。2、8086指令队列程度变为6字节长,当有2个字节空才取下一指令。3、8088引脚IO/M* ,8086变为M/IO*;4、引脚SS0* 变为BHE*/S7,BHE* 的作用是使D15D8有效。5、8086存储器组织为奇偶分块,偶地址取字只要读1次,奇地址取字需要读两次。6、I/O端口大都采用偶地址,目的是引导8位数据到低8位总线AD7AD0上,以提高效率。=5.1 Cache、主存和辅存的作用参见 p.120121 虚拟存储器参见p.121 在CPU看来,访问主存和访问辅存有什么不同? 访问主存:通过存储器访问机器指令,按字随机访问。 访问辅存:通过操作系统,按块顺序访问。5.2 在半导体存储器中,RAM指的是 随机存取存储器 ,它可读可写,但断电后信息一般会 丢失 ;而ROM指的是 只读存储器 ,正常工作时只能从中 读取 信息,但断电后信息 不会丢失 。以EPROM芯片2764为例,其存储容量为8K8位,共有 8 条数据线和 13 条地址线。用它组成64KB的ROM存储区共需 8 片2764芯片。5.4 一个容量为4K4位的假想RAM存储芯片,他应该有多少根地址线引脚和多少根数据线引脚?如果让你来进行设计,那么它还需要哪些控制引脚?这些引脚分别起什么样的控制作用?解答:4K4的芯片应该有12根地址线引脚和4根数据线引脚。控制引脚应该有:读取信号OE*:有效时,表示读取存储单元的数据写入信号WE*:有效时,表示将数据写入存储单元片选信号CS*:有效时,表示选中该芯片,可以进行读写操作。5.7 什么是存储芯片的位扩充和地址扩充?采用静态RAM的芯片2114(1K*4位)或动态RAM的芯片4116(16K*1位)来组成32KB的RAM存储区,请问各需要多少芯片?在位方向和地址方向各需要进行什么样的扩充?解答:(参见p.140) 使用多个芯片来扩充存储数据位的宽度,称为位扩充。采用多个芯片在地址方向上进行扩充,称为地址扩充或字扩充。用SRAM 2114组成32KBRAM存储区:2片为一组,得1KB,所以组成32KB就要32组,共需要64片SRAM 2114。用DRAM 4116组成32KBRAM存储区:8片为一组,得16KB,所以组成32KB只要2组,共需要16片DRAM 4116。2114(1) A9A0I/O4I/O1片选1D3D0D7D4A9A02114(2)A9A0I/O4I/O1CECE2114(1) A9A0I/O4I/O1片选32D3D0D7D4A9A02114(2)A9A0I/O4I/O1CECE5.8 存储芯片为什么要设置片选信号?它与系统地址总线有哪些连接方式?采用何种连接方式可避免地址重复?采用哪些连接方式可节省用于译码的硬件?解答:片选信号说明该存储器芯片是否被选中正常工作,设置它可以比较方便地实现多个存储器芯片组成大容量的存储空间。存储器片选信号通常与CPU地址总线的高位地址线相关联,可以采用“全译码”、“部分译码”、“线选译码”方式。采用全译码方式可以避免地址重复。采用部分或线选译码可以节省译码硬件。5.9 在一个针对存储器的译码系统中,如果有4个地址线未参与译码,那么每个存储单元会同时拥有几个地址?解答: 理论上每个存储单元会同时拥有16个地址。5.10 解答:p.144图5.33中4个存储芯片的可用地址范围:6264(1)6264(2)2732(1)2732(2)00000 01FFFH02000 03FFFH04000 04FFFH05000 05FFFH40000 41FFFH42000 43FFFH44000 44FFFH45000 45FFFH80000 81FFFH82000 83FFFH84000 84FFFH85000 85FFFHC0000C1FFFHC2000C3FFFHC4000 C4FFFHC5000 C5FFFH重复地址由于A19A18的不定性,每片各有4段范围。5.11采用全译码方式和6264芯片( SRAM,容量8K8位),在内存40000H43FFFH区段扩充RAM,请画出这些芯片与最大组态的系统总线的连接示意图。解: 方法为:容量=末地址首地址+1=214=16KB,所以要2片6264芯片。A12A0为片内地址,A15A13作片选译码的输入CBA,A19 A16A15 A13A12A0地址范围1201000100000001全0全1全0全140000H41FFFH42000H43FFFHA12A0138A18 A15 A14A13CBAE3E2E1Y0A19A17A16D7D0(1)6264CS1WEOEMEMWMEMR(2)6264CS1WEOEY3Y2Y15VCS2CS25.13 采用3:8译码器74LS138和2764芯片(EPROM,8K8位),通过全译码方式在8088系统的地址最高端组成32KB的ROM区,请画出各2764芯片与8088最大组态下形成的线条总线的连接示意图。解答: 注意地址最高端组成32KB的ROM区,意味着地址范围是 F8000HFFFFFH,这样最高五根地址线A19A15上要全为1。2764芯片的片内地址是13根即A12A0,它们是全0到全1变化;现在需要4片来构成32KB存储区,采用3:8译码器的话,A15A13应该取后4种情况,即取100111分别产生Y4Y7。其余地址线可以以多种方式组合产生控制信号。A19 A16A15 A13A12A0地址范围12341111111111111111100101110111全0全1全0全1全0全1全0全1F8000HF9FFFHFA000HFBFFFHFC000HFDFFFHFE000HFFFFFHA12A0(1)2764(2)2764 CECEA15 A14A13A16CBAE3138 A17Y7E2E1A12A0(3)2764(4)2764 CECEY6Y5Y4A19A18 D7D0考虑:如果要求地址从低端开始的话,高5位全0,即00000H07FFFH,如何连接?5.16访问的局部性原则P122 第1行。高速缓存和虚拟存储的目的p121下部。=6.1 在80x86系统中,I/O端口的地址采用 独立 编码方式,访问端口时要使用专门的 I/O 指令,有 2 种寻址方式,其具体形式是: 直接寻址和DX间接寻址 。6.2 一般的I/O接口电路安排有哪三类寄存器?他们各自的作用是什么?解答: (参见p.154) 数据寄存器保存外设给CPU和CPU发往外设的数据。 状态寄存器保存外设或接口电路的状态。 控制寄存器保存CPU给外设或接口电路的命令。K7K1K0+5VD0D7A0A15CLKLS06反相驱动器LS2738D锁存器LS244三态缓冲器8000H译码+5VLED0LED7GIOWIOR6.4解:K0单独按下:输入0FEH,控制L0 L7 依次循环亮灯,K1单独按下:输入0FDH,控制L7 L0 反向依次循环亮灯,程序流程略。BEG:MOV DX,8000HLOP0:IN AL,DXMOV BL,ALMOV CX,8;循环次数CMP AL,0FEH;测试是否K0单独按下JZ LOP1CMP AL,0FDH;测试是否K1单独按下JZ LOP2JMP LOP0;LOP1:ROL BL,1;利用AL初值作为开始位置MOV AL,BL NOT AL;因为有反相器LS06OUT DX,ALCALL DELAYLOOP LOP1JMP LOP0;LOP2:ROR BL,1;利用AL初值作为开始位置MOV AL,BL NOT AL;因为有反相器LS06OUT DX,ALCALL DELAYLOOP LOP2JMP LOP06.5 数据口地址为FFE0H,状态口地址为FFE2H,当状态标志D0=1时输入数据就绪,编写查询方式进行数据传送程序,读入100个字节,写到2000H:2000H开始的内存中。解:(程序格式参见p.6364 ).CODEMOVAX, 2000HMOV DS,AX;段地址MOV BX,AX;偏移地址MOV CX,100NEXT:MOV DX,0FFE2HSTATUS:IN AL,DX;读入状态TEST AL,01HJZ STATUSDEC DXDEC DX;数据口地址IN AL,DXMOV BX,ALINC BXLOOP NEXTMOV AX, 4C00H;结束INT 21H6.6 某字符输出设备,其数据端口和状态端口的地址均为80H。在读取状态时,当标志位D7为0时表明该设备闲,可以接收一个字符。请编写采用查询方式进行数据传送的程序段,要求将存放于符号地址ADDR处的一串字符(以$为结束标志)输出给该设备,注意在程序中加上注释。解:参考答案一: mov bx, offset addragain:mov ah, bx;取一个字节的字符码 cmp ah, $ jz donestatus: in al, 80h;查询一次 test al, 80h jnz status mov al, ah out 80h, al;输出一个字节 inc bx jmp again;循环done: 参考答案二:.DATAaddrDB xxxx$.CODEMOVAX, DATAMOV DS, AXLEABX, addrStatus:INAL, 80H;读入状态,if D7=1,为负数CMPAL, 0;或ROL AL,1JSStatus;JC STATUSMOV AL, BXCMPAL, $JZendofOUT80H, ALINCBXJMP StatusEndof:MOV AX, 4C00HINT 21H6.7 以可屏蔽中断为例,说明一次完整的中断过程主要包括那些环节?8088响应可屏蔽中断请求时需要先满足那些前提条件?答: 中断过程的主要环节:( 参见p.165 )中断请求、中断响应、关中断、断点保护、中断源识别、现场保护、中断服务、恢复现场、开中断、中断返回。8088响应可屏蔽中断请求时需要先满足:中断允许IF1。当前指令执行完毕。6.8什么是中断源?为什么要设立中断优先权?什么是中断嵌套?何种情况下程序可能发生中断嵌套?答:中断源:计算机系统中引起中断的事件或原因。当多个中断源同时请求时,CPU需要利用中断优先权决定首先响应哪一个;当一个中断正在服务时,又发生了新的中断请求,CPU需要利用中断优先权确定后者是否优先权更高,以便实现中断嵌套。中断嵌套:当一个中断服务时CPU又响应新的中断请求就形成中断嵌套。CPU允许中断(开中断)、新的中断请求比正在服务的中断优先权更高,通常发生中断嵌套。A0A15锁存器INTR三态缓冲器译码 8001HD0D7中断0中断1中断2IOR6.9参见P.167流程MOV DX,8001H STATUS:IN AL,DXTEST AL,01HJZ NEXT1;D0未置1则转测下一位CALL PROC0JMP STATUSNEXT1:TEST AL,02HJZ NEXT2CALL PROC1JMP STATUSNEXT2:TEST AL,04HJZ NEXT3CALL PROC2JMP STATUSNEXT3:TEST AL,08HJZ STATUSCALL PROC3JMP STATUS6.10 DMA的意思是 直接存储器存取 ,主要用于高速外设和内存间的数据传送。进行DMA传送的一般过程是:外设先向DMA控制器提出 DMA传送请求 ,DMA控制器通过 HOLD 信号有效向CPU提出总线请求,CPU回以 HLDA 信号有效表示响应。此时CPU的三态信号线将输出 高阻 状态,即将它们交由 DMAC(DMA控制器) 进行控制,完成外设和内存间的直接数据传送。=7.7 假如某并行总线的数据宽度为32位,工作频率为100MHz,若2个时钟周期传送一次数据,其传输速率是多少?如果在时钟的前后沿各传送一次数据,其传输速率是多少?如果采用2-1-1-1的突发传送模式,其平均传输速率是多少?解答:f =100MHz ,则时钟周期T=1/f =10 ns1) 2T一次的传输速率,即频率减半:fd = (32/8) * 100/2 M = 200 MB/s或fd = (32/8) / (2*10 ns) = 200 MB/s2) 前后沿各传送一次,即频率加倍:fd = (32/8) * 200 M = 800 MB/s或即1T2次:fd = (32/8) / (10/2 ns) = 800 MB/s3) 采用2-1-1-1的突发传送模式,平均为5T4次:fd = (32/8) /(5*10 ns /4) = 320 MB/s8.1 8088CPU具有哪些中断类型?各种中断如何产生,如何得到中断向量号?参见p.191、p.1921938.2 8088中断向量表的作用是什么?(参见p.194)答:它是中断向量号到对应的中断服务程序入口地址的链接表。 通过中断向量号n,可以读取中断向量表的物理地址为 n*4 开始的单元,获取中断服务程序的入口地址(即中断向量),长度4个字节。8.3 说明程序段的功能: (程序略,见p.212 上)答:此段程序将中断服务程序intproc的入口地址写入中断向量表的80h*4开始的单元中。 (stows 是数据串传送指令,参见p.78。)(实际上可以使用指令序列: mov ax,seg intprocmov ds,axmov dx,offset intprocmov ax,2580hint 21h 来完成相同功能)8.4 8259A中IRR、IMR和ISR三个寄存器的作用是什么?答: ( 参见p.196197 ) 中断请求寄存器IRR 保存8条外界中断请求信号IR0IR7的请求状态 Di位为1表示IRi引脚有中断请求;为0表示无请求 中断服务寄存器ISR 保存正在被8259A服务着的中断状态 Di位为1表示IRi中断正在服务中;为0表示没有被服务 中断屏蔽寄存器IMR 保存对中断请求信号IR的屏蔽状态 Di位为1表示IRi中断被屏蔽(禁止);为0表示允许8.5 PC/XT对8259A的初始化程序如下:mov al,13h;0001 0011out 20h,al;ICW1mov al,08h;00001000out 21h,al;ICW2mov al,09h;00001001out 21h,al;ICW4请说明其设定的工作方式?解答: 从第一个写指令ICW1,看出是边沿触发、单片方式,有ICW4;第二个写指令ICW2为中断向量08h;第三个写指令ICW4中断方式字,表示普通全嵌套、数据线缓冲方式,从片、非自动中断结束、16位微处理器。8.6 某时刻8259A的IRR内容是08h,说明只有引脚IR3上有中断请求。 某时刻8259A的ISR内容为08h,说明只有IR3上的请求正在被CPU服务。 在两片8259A级联的中断电路中,主片的第5级IR5接从片的中断请求输入,则初始化主、从片时ICW3的控制字分别是20H和05H。(分别是0010 0000 和0000 0101 )8.7 解:在A01时读出的是IMR寄存器的内容。8.8 题略p.212。解:根据题意:SFNM=0,AEOI=0,LTIM=0,ICW1=00010011,ICW2=90H,ICW4=0000x101,初始化8086 所接的8259A中断控制器:MOVDX, 0FFDCH;对应20H端口MOVAL, 13HOUTDX, ALMOVDX, 0FFDEH;对应21H端口MOVAL, 90HOUTDX, ALMOVAL, 05HOUTDX, AL8.10 8259A的中断请求有哪两种触发方式,它们分别对请求信号有什么要求?PC系列机中采用哪种方式?答:上跳沿触发,要求克服噪音尖峰。 高电平触发,请求及时撤销请求信号。 PC系列机采用上升沿方式。 8.11 解答:0bh = 00001011 b,写OCW3,接下来要读的是ISR,中断服务寄存器。8.12解答:0bch = 10111100 b,21H写OCW1即IMR,结果是只允许IR0、IR1、IR6中断,其他中断被屏蔽。8.14 中断服务程序的人口处为什么通常要使用开中断指令?答: 因为8088在进入中断服务程序前的中断响应期内会自动关中断(令IF0),所以对于不十分重要的中断源,其中断服务程序的人口处要开中断,以便可以实现中断嵌套。-题9.3 8253每个通道有 6 种工作方式可供选择。若设定某通道为方式0后,其输出引脚为 低 电平;当 写入计数初值(并进入减1计数器) 后通道开始计数, CLK 信号端每来一个脉冲 减1计数器 就减1;当 计数器减为0 ,则输出引脚输出 高 电平,表示计数结束。8253的CLK0接1.5MHz的时钟,欲使OUT0产生频率为300KHz的方波信号,则8253的计数值应为 5(1.5MHz300KHz) ,应选用的工作方式是 3 。9.4 按要求编写8253初始化程序,对应计数器02和控制字的I/O端口地址为204H207H。(1)使计数器1工作在方式0,仅用8位二进制计数,初值为128。(2)使计数器0工作在方式1,按BCD码计数,计数值为3000。(3)使计数器2工作在方式2,计数值为02F0H。解:(1) MOV AL,01010000B ;即50HMOV DX,207HOUT DX,ALMOV AL,128 ;或80HMOV DX,205HOUT DX,AL (2) MOV AL,00100011B ;即23H,或用33H初值3000HMOV DX,207HOUT DX,ALMOV AL,30H;仅送高8位MOV DX,204HOUT DX,AL (3)MOV AL,10110100B ;即0B4HMOV DX,207HOUT DX,ALMOV DX,206HMOV AX,02F0HOUT DX,AL MOV AL,AHOUT DX,AL 9.5 设8253计数器02和控制字的I/O地址依次为F8HFBH,说明如下程序的作用。 mov al, 33 ;0011 0011out 0fbh, almov al, 80hout 0f8h, almov al, 50hout 0f8h, al解:计数器0工作在方式1,BCD码计数,计数值5080D。9.7 解: 例题9.2中CLK0实际输入101个下降沿后产生中断,还能用工作方式1、4、5。如果利用外部信号启动计数,则GATE0应从 +5v 0v +5v。若采用计数器0方式1的控制字为:00 01 001 0 B= 12H 。(初始化程序类似p.226 例9.2。)MOV AL,12H ;计数器0方式1MOV DX,203HOUT DX,ALMOV DX,200HMOV AL,100OUT DX,AL 题9.8解:先计算计数器0的初值,N=输入f /输出f =5MHz /1KHz=5000计数器0的方式控制字:00 10 010 1 N= 5000 用BCD计数计数器1的方式控制字:01 11 100 0 N=1000=3E8H 计数器0初始化程序:OUT1OUT0CLK0CLK182535MHzIRQ4MOV DX,0FFF3HMOV AL,25HOUT DX,ALMOV AL,50HMOV DX,0FFF0HOUT DX,AL(或方式控制字0011 0100,初值5000) mov dx,0fff3hmov al,34hout dx,almov dx,0fff0hmov ax,5000out dx,almov al,ah;先低后高out dx,al计数器1初始化程序:MOV DX,0FFF3HMOV AL,78H OUT DX,ALMOV AX,3E8H MOV DX,0FFF1HOUT DX,ALMOV AL,AH;先低后高OUT DX,AL(或方式控制字01 10 100 1,初值1000D,只送高字节)mov al, 69hmov dx, 0fff3hout dx, almov dx, 0fff1hmov al, 10hout dx, al补充: (此处题目不需要进行8259A的初始化)IRQ4的中断向量为0CH,若需要设置8259A的初始化如下:MOV AL,13H;ICW1OUT 20H,ALMOV AL,08H;ICW2OUT 21H,ALMOV AL,07H;ICW4OUT 21H,AL 对应中断屏蔽字为11101111,中断屏蔽位设置程序:IN AL,21H;读出IMRAND AL,0EFH;设置允许IRQ4 ,其它位不影响OUT 21H,AL;再写入IMR 即OCW19.9 扬声器控制发音程序:子程序speaker、speakon、speakoff参见p.223解:参考答案一、.DATAP1DW 1193180/524P2DW 1193180/588P3DW 1193180/660P4DW 1193180/698P5DW 1193180/784P6DW 1193180/880P7DW 1193180/998P8DW 1193180/1048.CODEMOVAX, DATAMOV DS, AXkeyin:MOVAH,1INT21H;等待按键CMP AL,1BH;是否ESCJZEXITCMPAL,31HJZPP1CMPAL,32HJZPP2CMPAL,33HJZPP3CMPAL,34HJZPP4CMPAL,35HJZPP5CMPAL,36HJZPP6CMPAL,37HJZPP7CMPAL,38HJZPP8CALLspeakoffJMPkeyinEXIT:MOVAX,4C00HINT21HPP1:MOVAX,P1CALLspeakerCALLspeakonJMPkeyin;程序段PP2PP7 略PP8:MOVAX,P8CALLspeakerCALLspeakonJMPkeyin参考答案二、 .DATAaddr DW 2277,2029,1808,1709 DW 1522,1356,1196,1139 .CODEMOVAX, DATAMOV DS, AXkeyin:MOVAH,1INT21H;等待按键CMP AL,1BH;是否ESCJZexitCMPAL,31HJLstop; 8ANDAL,0FH;截取数18DECAL;成为07SHLAL;因为DW,*2LEABX,addr;数据表起始地址MOVAH,0ADDBX,AXMOVAX,BXCALLspeakerCALLspeakonJMPkeyinstop:CALLspeakoffJMPkeyinexit:MOVAX,4C00HINT21H9.10计数器的定时长度和精度受脉冲输入信号频率和计数值影响。对于频率为f的脉冲输入,计数器输出的最小定时时间为 2/f ;此时计数初值应为 1 。16位计数器输出的最大定时时间是 65537/f ;当需要加大定时时间时,或者利用硬件方法进行多个计数器的级联;或者用软件辅助方法,使计数单元扩大计数值。=10.2 什么是8237的单字节传送方式和数据块传送方式,两者的根本区别是什么?数据块传送方式和请求传送方式对DREQ信号有效有什么要求?答:单字节传送方式:以DMA方式每传送完一个字节,8237使HRQ(总线请求)信号无效,将系统总线交还CPU,若所有数据未传完,则DREQ(外设的DMA传送请求)保持有效,所以,8237立刻向CPU申请总线,使HRQ再次有效,若CPU应答了这次请求(HLDA有效),8237就传送下一个字节,这个过程重复到所有数据传送完毕。 块传送:一旦传送开始,8237就不放弃总线,直到所有数据传送完毕。二者的区别:前者在每传送一个字节后,CPU都有一次获得总线的机会,以感知其他事件。后者不行,但速度较快。数据块传送对DREQ信号有效的要求是:传送期间始终保持。请求传送对DREQ信号有效的要求是:可以随时失效来暂停传送。10.4 8237有几种对其DMA通道屏蔽位操作的方法?答:p238。三个:单通道屏蔽字、主屏蔽字、清屏蔽寄存器命令。10.5 PC机为什么设置DMA传送的页面寄存器?答:因为PC机的内存空间大于8237的地址控制范围(64K),要在高于64K的空间进行DMA传送就必须用辅助器件产生高位(A16以上)地址,这个辅助器件就是页面寄存器。10.6 设置PC机8237通道2传送1KB数据,请给出其字节数寄存器编程。解:MOV AX,1023 ;N-1OUT 05H,ALMOV AL,AHOUT 05H,AL10.8 PC机8237A通道2传送的内存起始地址为C8020H,请给出地址寄存器编程。解:MOV AL,20HOUT 04H,ALMOV AL,80HOUT 04H,ALMOV AL,0CHOUT 81H,AL;参见p.239表10.9 XT机执行了下面两条指令后,会产生什么作用?mov al, 47h ;01 0 0 01 11out 0bh, al解:从端口地址0BH可知,这是方式寄存器;这两条指令执行后对通道3进行了方式设置,具体为:以单字节模式、地址递增、禁止自动初始化、在通道3上进行DMA写。10.10 题略,参见p.242;寄存器地址参见p.234表10-2解: MOVDX, 0CH;指向 高/地触发器MOVAL, 0OUTDX, AL;清除高/地触发器MOVDX, 09H;指向 请求寄存器OUTDX, AL;MOVAX, 01ORAX, SIMOVDX, 0BH;指向 方式寄存器 OUTDX, AL;设置工作方式MOVAX, ES;取段地址MOVCL, 04 ROLAX, CL;左移4位MOVCH, AL;暂存高位地址ANDAL, 0F0H;屏蔽掉高位,取有效的低位ADDAX, BX;加上偏移地址JNCNET1;有进位则INCCH;高位加1NET1:MOVDX, 02;指向通道1的地址寄存器OUTDX, ALMOV AL, AHOUT DX, ALMOV AL, CHANDAL, 0FHMOV DX, 83H;指向 通道1的页面寄存器OUT DX, ALMOVAX, DI;NDEC AX;N-1MOVDX, 03;指向 通道1的字节数寄存器OUTDX, AL;写入计数值低8位MOV AL, AHOUT DX, AL;写入计数值高8位 MOVDX, 0AH;指向 单通道屏蔽字MOVAL,1OUTDX, ALMOV DX,8;指向 命令寄存器MOVAL,60H;01100000OUT DX, ALMOVDX,08H;指向 状态寄存器NET2:INAL,DX;读入状态字ANDAL,02H;判通道1传送结束否,D1=1?JZNET2;没有结束继续读入状态答:若主机通过通道1发送数据,相当于进行DMA读,若采用请求模式,此时SI可以为09h;若采用单字节模式,SI为49h。若主机通过它接收数据,相当于进行DMA写,若采用请求模式,此时SI可以为05h;若采用单字节模式,SI为45h。=题11.2 8255两组都定义为方式1输入,则方式控制字是什么?方式控制字中的另外两位确定什么功能?解:方式控制字为1 01 1 X 1 1 Y,其中X、Y可取0或1,因为这两位分别确定C端口的上部和下部的工作方式;本题中X位决定PC6和PC7的输入输出功能,Y位已无意义。11.3 总结8255A端口C的使用特点。答:1、8位并行输入输出。 2、高4位、低4位可分别输入输出。 3、按规定与端口A和端口B配合,完成相应的握手信号。11.4 设定8255A的端口A为方式1输入,端口B为方式1输出,则读取口C的数据的各位是什么含义?解答:读取口C的数据各位的含义是:PC76为输入信息或输出锁存信息(根据端口C上部的输入/出定义);PC53为端口A的输入缓冲器满否、内部触发器状态、有否中断请求信息。PC20为端口B的内部触发器状态、输出缓冲器满否、有否中断请求信息。(参见下图)INTRBIOBFBINTEBINTRAINTEAIIBFAINTEAOOBFAD0D1D2D3D4D5D6D7INTRBOBFBINTEBINTRAINTEAIIBFAI/OI/O输入缓冲器满外设送入数据时的锁存信号STBa(PC4脚的输入)使其有效,CPU读走数据时(RD的上升沿)使其失效。口A中断请求输出(PC4)允许口A中断请求输出脚(PC3)状态口B中断请求输出(PC2)允许口B中断请求输出脚(PC0)状态输出缓冲器满CPU写入数据时(WR0)使其有效,外设取走数据时应答信号ACKb(PC2脚的输入)使其失效11.5 对8255A的控制寄存器写入B0H,则其端口C的PC5引脚是什么作用的信号线?解: B0H = 10110000 B,可知8255A端口A工作于方式1输入,所以PC5引脚的作用是IBFA,为1表示输入缓冲器满。11.6 11.2.2节用8255A端口A方式0与打印机连接,如果采用端口B,其他不变,请说明应该如何修改接口电路和程序。(参见p.253)解:连接图中只要把端口A改成端口B即可。程序中控制方式字可作必要的修改,“mov al,10000001B”可以修改为“mov al,10001B”,只要保持C端口上部输出、下部输入即可,因为PC7、PC2的连接没有变;端口A任意、端口B为方式0输出,程序涉及端口A的地方改为端口B的地址:“mov dx,0fff8h”必须修改数据口地址“mov dx,0fffAh”。11.7 11.2.3节用8255A端口A方式1与打印机连接,如果采用端口B,其他不变,请说明应该如何修改接口电路和程序。(参见p.254)解提示:连接图中除了把端口A改成端口B,还要用PC0、PC1、PC2分别取代PC3、PC7、PC6。程序中也要作相应的替换。控制方式字要改为端口B选通输出,即“mov al,0a0h”可以为mov al,84H,端口A任

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论