8237DMA 下载本文

内容发布更新时间 : 2024/5/2 7:16:14星期一 下面是文章的全部内容请认真阅读。

实 验 报 告

课 程:汇编语言与接口技术

实验项目: 8237计数器实验 姓 名:

学 号: 班 级: 专 业: 学 院:

指导教师:

2019 年 4月 23日

实验报告正文:

一、实验目的:8237DMA控制器实验 二、实验环境:masm集成开发环境 三、实验内容:

使用DMA通道进行RAM——RAM的通道传送。实验代码如下: CODE SEGMENT ASSUME

;在 0000:8000H——0000:80FFH间循环存储A——Z,以便验证结果 START:MOV AX,0000H MOV ES,AX MOV BX,8000H MOV CX,100H MOV DL,40H REP1: INC DL

MOV ES:[BX],DL INC BX CMP DL,5AH JNZ SS1 MOV DL,40H SS1:

LOOP REP1 ;DMA配置部分 MOV AL,04H

OUT 28H,AL ;禁止8237A工作

OUT 2DH,AL ;复位命令,使先后触发器清0

MOV AL,0CH ;送屏蔽字——00001100充许通道0,1 OUT 2AH,AL

MOV AL,00H ;通道0起始地址——8000H,先送低8位后送高8位 OUT 20H,AL

MOV AL,80H OUT 20H,AL

MOV AX,0FFH ;通道0计数——00FFH,同样先送低8位后送高8位 OUT 21H,AL MOV AL,00H OUT 21H,AL

MOV AL,88H ;通道0工作方式——10001000,数据块读传送

OUT 2BH,AL MOV AL,00H 位

OUT 22H,AL MOV AL,82H OUT 22H,AL MOV AX,0FFH OUT 23H,AL MOV AL,00H OUT 23H,AL MOV AL,85H OUT 2BH,AL MOV AL,01H mem-to-mem OUT 28H,AL MOV AL,100B OUT 29H,AL CODE ENDS END START 四、实验结果:

;通道1起始地址8200H——依然先送低8位后送高8

;通道1计数——00FFH,先送低8位后送高8位

;通道1工作方式——10000101,数据块写操作 ;写命令字——00000001,允许DMA控制,,允许

;写请求字,启动通道0

实验结果如图1所示:在执行结束后,相应的单元写入了A-z,因为自己的执行次数问题,并没有全部写入,如果直接全部执行,一定可以写进全部字母。

图1 执行过程图