寰満鍘熺悊 璇惧悗棰?鏍囧噯绛旀 - 鐧惧害鏂囧簱 联系客服

发布时间 : 星期日 文章寰満鍘熺悊 璇惧悗棰?鏍囧噯绛旀 - 鐧惧害鏂囧簱更新完毕开始阅读fdb47fd7fbd6195f312b3169a45177232e60e45c

自动重新取得新值,从而又可以进入下一个数据传输过程。

2.如IBM PC/XT中,8237A的通道0用于对动态RAM进行刷新,就设置为自动预置功能。从头到尾进行一遍刷新后,就又可以自动重新再来若干遍刷新,保持数据不从动态RAM中丢失。用于同一内存地址的数据块重复传输中。

7.21 用DMA控制器进行内存到内存的传输时,有什么特点?

答:固定用通道0的地址寄存器存放源地址,而用通道1的地址寄存器和字节计数器存放目的地址和计数值。传输时,目的地址和计数值象通常一样进行加1减1操作,源地址的值可通过控制寄存器的D1位设置,若为1则不变。另外用暂存器作为数据传输时DMA的数据暂存用。另外,DMA控制器进行内存到内存的传输是通过设置控制寄存器的D0=1来设置的。

7.22 DMA控制器8237A是怎样进行优先级管理的?

答:8237A有两种优先级管理方式:固定优先级管理方式,优先级高低固定为:通道0、1、2、3。循环优先级管理方式,通道的优先级依次循环,当某通道进行一次传输后,其优先级变为最低,而其相邻的高一号通道的优先级变为最高。

7.23 设计8237A的初始化程序。8237A的端口地址为0000~000FH,

设通道0工作在块传输模式,地址加1变化,自动预置功能;通道1工作于单字节读传输,地址减1变化,无自动预置功能;通道2、通道3和通道1工作于相同方式。然后对8237A设控制命令,使DACK为高电平有效,DREQ为低电平有效,用固定优先级方式,并启动8237工作。

答: MOV AL,04H MOV DX,DMA+8 ;DMA为端口首地址0000H,DMA+8为控制寄 ;存器端口号 OUT DX,AL ;输出控制命令,关闭8237A MOV AL,00

MOV DX,DMA+0DH ;DMA+0DH为总清命令端口号 OUT DX,AL ;发总清命令(即复位命令)

MOV DX,DMA+0BH ;DMA+0BH为模式寄存器的端口号 MOV AL,98H OUT DX,AL ;对通道0选择模式,模式字为98H:块读传输模

;式,地址加1变化,自动预置功能 MOV AL,69H OUT DX,AL ;对通道1选择模式,模式字为69H:单字节读传

;输,地址减1变化,无自动预置功能 MOV AL,6AH OUT DX,AL ;对通道2选择模式,模式字为6AH:功能同通道1 MOV AL,6BH OUT DX,AL ;对通道3选择模式,模式字为6BH:功能同通道1 MOV DX,DMA+8 MOV AL,0C0H ;控制字格式为C0H: DACK高电平有效,DREQ ;低电平有效,固定优先级,启动工作 OUT DX,AL

MOV DX,DMA+0FH ;DMA+0FH为综合屏蔽命令端口号 MOV AL,0 OUT DX,AL ;去除四个通道的屏蔽 ┆

7.24 概述怎样用软件方法和硬件方法来进行定时。

答:① 软件方法就是根据所需要的时间常数来设计一个延迟子程序。当延迟子程序执行完后,可直接执行下面的操作,也可用输出指令输出一个信号作为定时输出。

② 硬件方法使用计数器/定时器。根据需要的定时时间,用指令对计数器/定时器设置定时常数,并用指令启动计数器/定时器,于是计数器/定时器开始计数,计到确定值时,便自动产生一个定时输出。

7.25 8253计数器/定时器中,时钟信号CLK、门脉冲信号GATE分

别起什么作用?

答:时钟信号CLK决定了计数的速率,是计数减1的依据。而门脉冲信号GATE是作为对时钟的控制信号,以控制计数的启停。

7.26 说明8253在6种工作方式下的特点,并举例说明使用场合。

答:① 模式0、模式1、模式4、模式5为软件启动或硬件启动的不自动重复的计数方式;模式2、模式3为即可软件启动也可硬件启动的自动重复的定时器方式。

② 作为计数器时,8253在GATE控制下进行减1计数,减到终值时,输出一个信号,至此计数过程便结束。作为定时器工作时,8253在门控GATE控制下进行减1计数,减到终值时,又自动装入初值,重新作减1计数,于是输出端会不间断地产生为时钟周期整数倍的定时间隔。

③ 定时方式一般用于实时控制及周期性操作中,如日时钟定时、扬声器发声、波特率发生器等场合。计数方式则用于外部事件的计数,如生产线上的产品计数等场合。

7.27 8253工作于模式4和模式5时有什么不同?

答:模式4是用软件触发启动,GATE为低电平时停止计数;而模式5则用门控GATE的上升沿触发即硬件触发启动,GATE为低电平时不影响计数。

7.28 编程将8253计数器0设置为模式1,计数初值为3000H;计数

器1设置为模式2,计数初值为2010H;计数器2设置为模式4,计数初值为4030H;地址设为0070H、0072H、0074H、0076H。

答: MOV AL,32H ;设置计数器0为模式1 OUT 76H,AL

MOV AX,3000H ;写计数初值 OUT 70H,AL MOV AL,AH OUT 70H,AL

MOV AL,74H ;设置计数器1为模式2 OUT 76H,AL

MOV AX,2010H ;写计数初值 OUT 72H,AL MOV AL,AH

OUT MOV OUT MOV OUT MOV OUT

72H,AL

AL,0B8H ;设置计数器2为模式4 76H,AL

AX,4030H ;写计数初值 74H,AL AL,AH 74H,AL

7.29 CPU对应DMA控制器的总线请求响应要比中断请求响应快,

请分析其原因。

答:当CPU检测到总线请求信号后在当前总线周期的T4状态或TI状态的下降沿就可响应而出让总线,并发总线响应信号HLDA。而当CPU检测到INTR请求时,则必须要等到当前指令执行完后才能发第一个INTA负脉冲,而且中断响应需两个INTA负脉冲才可组成一个完整的中断响应信号。因此总线请求响应要比中断请求响应快。

7.30 设8259A工作于优先级循环方式,当前最高优先级为IR4,现

在要使优先级最低的为IR1,则应该再设置哪个操作命令字?具体的值是多少?

答:1.再设置OCW2操作命令字。

2.OCW2的具体的值是C1H(=11000001B),写入偶地址端口。

7.31 下面是一个对8259A进行初始化的程序段,请为下面程序段加

上注释,并具体说明各初始化命令字的含义。

PORT0 EQU 40H ;8259A的偶地址端口号 PORT1 EQU 41H ;8259A的奇地址端口号 ┆

MOV AL,13H ;控制初始化命令字ICW1设为13H,中断请求为边沿触 ;发方式,单片8259A,需写入ICW4

MOV DX,PORT0 ;取8259A的偶地址端口 OUT DX,AL ;设置ICW1 INC DX ;取8259A的奇地址端口

MOV AL,08H ;中断类型码初始化命令字ICW2设为08H,对应于 ;IR0~IR7的中断类型码为08H~0FH OUT DX,AL ;设置ICW2

MOV AL,06H ;方式控制初始化命令字ICW4设为06H,非特殊全嵌套 ;方式,非缓冲方式,中断自动结束方式,工作于8080/8085 ;系统中 OUT DX,AL ;设置ICW4 答:初始化命令字的含义见注释。

7.32 下面是一个对主从式8259A系统进行初始化的程序段,请对以

下程序段加详细注释,并具体说明各初始化命令字的含义。

;主片初始化程序 M82590 EQU 40H ;主片8259A的偶地址端口号 M82591 EQU 41H ;主片8259A的奇地址端口号 ┆

MOV AL,11H ;控制初始化命令字ICW1设为11H,中断请求为边沿触

;发方式,多片8259A,需设置ICW4

MOV DX,M82590 ;取主片8259A的偶地址端口 OUT DX,AL ;设置ICW1

MOV AL,08H ;中断类型码初始化命令字ICW2设为08H,对应于 ;IR0~IR7的中断类型码为08H~0FH INC DX ;取主片8259A的奇地址端口 OUT DX,AL ;设置ICW2

MOV AL,04H ;ICW3设为04H,只有IR2连有从片8259A OUT DX,AL ;设置ICW3

MOV AL,01H ;方式控制初始化命令字ICW4设为01H,非特殊全嵌套 ;方式,非缓冲方式,非中断自动结束方式,工作于 ;8086/8088系统中

OUT DX,AL ;设置ICW4 ;从片初始化程序 S82590 EQU 90H ;从片8259A的偶地址端口号 S82591 EQU 91H ;从片8259A的奇地址端口号 ┆

MOV DX,S82590 ;取从片8259A的偶地址端口 MOV AL,11H ;控制初始化命令字ICW1设为11H,功能同上 OUT DX,AL ;设置ICW1

MOV AL,70H ;中断类型码初始化命令字ICW2设为70H,对应于 ;IR0~IR7的中断类型码为70H~77H INC DX ;取从片8259A的奇地址端口 OUT DX,AL ;设置ICW2

MOV AL,02H ; ICW3设为02H,表示本从片与主片的IR2相连 OUT DX,AL ;设置ICW3

MOV AL,01H ;方式控制初始化命令字ICW4设为01H,非特殊全嵌套 ;方式,非缓冲方式,非中断自动结束方式,工作于 ;8086/8088系统中 OUT DX,AL ;设置ICW4 答:各初始化命令字的含义见注释。

7.33 8237A在进行单字节方式DMA传输和块方式DMA传输时,有

什么区别?

答:区别在于:单字节方式时DMA每完成一个字节传输后,便释放系统总线,CPU至少可占用一个总线周期。块传输方式时,只有当字节计数器减为0,从而在EOP端输出一个负脉冲或者外部I/O接口往DMA控制器的EOP端送一个低电平信号时,8237A才释放总线而结束传输。

7.34 下面是一个常驻内存的中断服务程序框架和它的装配程序,请

对此程序的注释进行补充,以便得到一个完整的注释清单。

STACK SEGMENT ;设置堆栈段 DW 256 DUP (?) STACK ENDS DATA SEGMENT ;设置数据段 8259P0 EQU 40H ;8259A的偶地址端口号