实验四DMA分析和总结.docxVIP

  • 10
  • 0
  • 约3.66千字
  • 约 4页
  • 2024-07-13 发布于上海
  • 举报

实验四DMA传送实验无82班王一舟981070

实验四DMA传送实验

无82班

王一舟

981070

PAGE

PAGE1

实验四 DMA传送实验

一.实验目的:

掌握DMA方式的工作原理和8237的编程使用方法。

二.实验要求:

按照实验指导第61页的实验接线图连接硬件线路

对照【例3.6.1】的程序清单键入源程序,经汇编和连接后运行程序

三.实验电路

四.实验程序:

DISPMACROVAR

MOVAH,09H

MOVDX,OFFSETVARINT21H

;宏定义

;将形参中所存的以结尾的字符串显示在屏幕上

ENDM

SCANKEYMACRO

LOCALLLL

LLL: MOVAH,01HINT16H

JZLLLMOVAH,0INT16H

;宏定义

;为标号LLL建立唯一的从??0001H到??FFFFH的符号

;等待是否有键按下

;无则继续等待

;否则读出键值

ENDM

DATASEGMENT

TEXTDB

THEQUICK

BROWN

FOX

JUMPS

OVER

LAZY

DOG

DB

0DH,0AH

DB

THEQUICK

BROWN

FOX

JUMPS

OVER

LAZY

DOG

DB

0DH,0AH

DB

THEQUICK

BROWN

FOX

JUMPS

OVER

LAZY

DOG

DB

0DH,0AH,$

COUNTEQU$-TEXTBUFDBCOUNTDUP(?)

MESGDB TOMAKEADMAREQUEST!

DB THENSTRIKEANYKEY!,0DH,0AH,$DATAENDS

STACKSEGMENTSTACKSTACKDB256DUP(?)

STACKENDSCODESEGMENT

ASSUMECS:CODE,DS:DATA,SS:STACKBEG: MOVAX,DATA

MOVDS,AXCALLI8237RDISPMESGSCANKEY

LAST1: INAL,08H

ANDAL,02HJZLAST1CALLI8237WDISPMESGSCANKEY

LAST2: INAL,08H

ANDAL,02HJZLAST2DISPBUFMOVAH,4CHINT21H

I8237RPROC

MOVAL,05HOUT0AH,AL

MOVALOUT0BH,AL

MOVAL,0OUT0CH,ALMOVAX,DATA

MOVBX,OFFSETTEXTCALLADDRMOV

RET

;TEXT的总长度

;主程序部分

;装入数据段

;DMA通道1读出初始化

;显示操作提示

;等待直到有键按下,读出键值

;读DMA状态寄存器

;传送是否结束

;否则继续等待传送结束

;DMA通道1写入初始化

;显示操作提示

;等待直到有键按下,读出键值

;读DMA状态寄存器

;传送是否结束

;否则继续等待传送结束

;显示BUF中DMA读写传送的最后结果

;结束程序并返回DOS

;DMA通道1读出初始化

;通道1屏蔽触发器置1

;通道1方式字,单字节写传送

;自动加1变址,不自动预置

;先/后触发器置0

;AX为TEXT的段基址

;BX为TEXT的有效地址

;计算输出TEXT单元的20位物理地址

I8237R

ENDP

I8237W

PROC

;DMA通道1写入初始化

MOV

AL,05H

OUT

0AH,AL

;通道1屏蔽触发器置1

MOV

AL

;通道1方式字,单字节写传送

OUT

0BH,AL

;自动加1变址,不自动预置

MOV

AL,0

OUT

0CH,AL

;先/后触发器置0

MOV

AX,DATA

;AX为BUF的段基址

MOV

BX,OFFSETBUF

;BX为BUF的有效地址

CALL

ADDRMOV

;计算并输出BUF单元的20位物理地址

RET

I8237W

ENDP

ADDRMOV

PROC

;计算并输出某地址

MOV

CX,0004H

;计算用AX:BX表示的物理地址

LL:

SAL

AX,1

RCL

CH,1

;将移位时的溢出计入CH

DEC

CL

JNZ

LL

ADD

AX,BX

;AX=AX*4+BX

JNC

NEXT11

INC

CH

NEXT11:

OUT

02H,AL

;低8位存入通道1基本地址寄存器

MOV

AL,AH

OUT

02H,AL

;中8位存入通道1基本地址寄存器

MOV

AL,CH

OUT

83H,AL

;高4位存入通道1页面寄存器

MOV

AX,COUNT-1

;要传送的字节数减1传给基本字节寄存器

OUT

03

文档评论(0)

1亿VIP精品文档

相关文档