;控制 控制
初始化
MOV OUT MOV OUT MOV OUT MOV OUT DX, DX, AL, DX, AL, DX, AL, DX, DMA+0AH AL 01 AL 02 AL 03 AL ;单屏蔽 单屏蔽
测试:对 测试 对0-3通道的地址寄存器值 通道的地址寄存器值 进行设置
MOV MOV READ:IN MOV IN CMP JNZ INC INC LOOP HHH: HLT DX, DMA+2 CX, 0003 AL, DX AH, AL AL, DX AX, 0FFFFH HHH DX DX READ
接口 ♦ 通道
DMA控制器 控制器
♦ 内部包含 – 控制寄存器 – 状态寄存器 – 地址寄存器 当前地址寄存器 可读出 基址寄存 地址寄存器:当前地址寄存器 可读出),基址寄存 当前地址寄存器(可读出 器 – 字节计数器 当前字节计数器 可读 基本字节计 字节计数器:当前字节计数器 可读),基本字节计 当前字节计数器(可读 数器(编程写入 编程写入) 数器 编程写入 ♦ DMA的过程 的过程
♦ IOW# ♦ EOP#(DMA传输结束两种方 传输结束两种方 ♦ ♦ ♦ ♦ ♦ ♦ ♦
向) DREQ(极性编程确定 极性编程确定) 极性编程确定 DACK HRQ HLDA A3~A0(双向 双向) ~ 双向 A7~A4 ~ DB7~ DB0(从模块时对内 ~ 从模块时对内 部寄存器读出写入,主模块 部寄存器读出写入 主模块 时输出当前寄存器高8位地 时输出当前寄存器高 位地 址)
各通道的寄存器
DMA通道
基本地址寄存器 和 当前地址寄存器
基本字节计数器 和 当前字节计数寄存器
通道0 通道1 通道2 通道3