📄 t8237.asm
字号:
;T8237.ASM
;8237DMA传输实验
;***************根据CHECK配置信息修改下列符号值*******************
IOY0 EQU 9C00H ;IOY0起始地址
;*****************************************************************
MY8237_0 EQU IOY0+00H*4 ;通道0当前地址寄存器
MY8237_1 EQU IOY0+01H*4 ;通道0当前字节计数寄存器
MY8237_2 EQU IOY0+02H*4 ;通道1当前地址寄存器
MY8237_3 EQU IOY0+03H*4 ;通道1当前字节计数寄存器
MY8237_8 EQU IOY0+08H*4 ;写命令寄存器/读状态寄存器
MY8237_9 EQU IOY0+09H*4 ;请求寄存器
MY8237_B EQU IOY0+0BH*4 ;工作方式寄存器
MY8237_D EQU IOY0+0DH*4 ;写总清命令/读暂存寄存器
MY8237_F EQU IOY0+0FH*4 ;屏蔽位寄存器
STACK1 SEGMENT STACK
DW 256 DUP(?)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE
START: MOV DX,MY8237_D ;写总清命令
OUT DX,AL
MOV DX,MY8237_0 ;写通道0当前地址寄存器
MOV AL,00H
OUT DX,AL
MOV AL,00H
OUT DX,AL
MOV DX,MY8237_2 ;写通道1当前地址寄存器
MOV AL,08H
OUT DX,AL
MOV AL,00H
OUT DX,AL
MOV DX,MY8237_1 ;写通道0当前字节计数寄存器
MOV AL,07H
OUT DX,AL
MOV AL,00H
OUT DX,AL
MOV DX,MY8237_3 ;写通道1当前字节计数寄存器
MOV AL,07H
OUT DX,AL
MOV AL,00H
OUT DX,AL
MOV DX,MY8237_B ;写通道0工作方式寄存器
MOV AL,88H
OUT DX,AL
MOV AL,85H ;写通道1工作方式寄存器
OUT DX,AL
MOV DX,MY8237_8 ;写命令寄存器
MOV AL,81H
OUT DX,AL
MOV DX,MY8237_F ;写屏蔽位寄存器
MOV AL,00H
OUT DX,AL
MOV DX,MY8237_9 ;写请求寄存器
MOV AL,04H
OUT DX,AL
QUIT: MOV AX,4C00H ;结束程序退出
INT 21H
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -