Assembler



         

- 3


0000 CODE SEGMENT
ASSUME CS:CODE
0000 DMA_SET PROC FAR
0000 1E PUSH DS ;
0001 2B C0 SUB AX, AX
0003 50 PUSH AX
 
0004 B0 46 MOV AL, 46H ; DMA
0006 E6 0B OUT DMA+11, AL ;
0008 E6 0C OUT DMA+12, AL
000A 8C C8 MOV AX, CS ;
000C B1 04 MOV CL, 4
000E D3 C0 ROL AX, CL ; 16
0010 8A E8 MOV CH, AL ; 4 CH
0012 24 F0 AND AL, 0F0H ;
0014 05 0032 R ADD AX, offset BUFFER ;
0017 80 D5 00 ADC CH, 0
001A E6 04 OUT DMA+4, AL ;
001C 8A C4 MOV AL, AH
001E E6 04 OUT DMA+4, AL ;
0020 8A C5 MOV AL, CH
0022 E6 81 OUT 081H, AL ;
 
0024 B8 01FF MOV AX, 511 ;
0027 E6 05 OUT DMA+5, AL ;
0029 8A C4 MOV AL, AH
002B E6 05 OUT DMA+5, AL ;
002D B0 02 MOV AL, 2 ; 2