实 验 报 告
课 程:汇编语言与接口技术
实验项目: 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 执行过程图