03.01.2015 Views

80C186EC/80C188EC Microprocessor User's Manual

80C186EC/80C188EC Microprocessor User's Manual

80C186EC/80C188EC Microprocessor User's Manual

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

DIRECT MEMORY ACCESS UNIT<br />

XOR AX, AX ; HIGH ADDRESS=0<br />

MOV DX, D3SRCH<br />

OUT DX, AX<br />

; THE POINTER ADDRESSES HAVE BEEN SET UP. NOW WE SET UP THE TRANSFER COUNT.<br />

MOV AX, 128 ; INTERRUPT AFTER 128 BYTES<br />

MOV DX, D3TC ; ARE RECEIVED.<br />

OUT DX, AX<br />

; NOW WE NEED TO SET THE PARAMETERS FOR THE CHANNEL AS FOLLOWS:<br />

;<br />

; DESTINATION SOURCE<br />

; ----------- ------<br />

; MEMORY SPACE I/O SPACE<br />

; INCREMENT PTR CONSTANT PTR<br />

;<br />

; TERMINATE ON TC, INTERRUPT, SOURCE-SYNCHRONIZED, HIGH PRIORITY<br />

; RELATIVE TO CHANNEL 1, BYTE XFERS. INTERNAL DRQ. ARM CHANNEL.<br />

MOV<br />

MOV<br />

OUT<br />

AX, 1010001101110110B<br />

DX, D3CON<br />

DX, AX<br />

; AT THIS POINT THE DMA UNIT WILL HANDLE SERIAL RECEPTIONS,<br />

; AS LONG AS THE SERIAL PORT HAS BEEN INITIALIZED.<br />

; NOW START THE BURST TRANSMIT ("PRIME THE PUMP")<br />

MOV AL, XMIT_BUFF ; GET FIRST BYTE<br />

XOR AH, AH ; CLEAR RESERVED BITS<br />

MOV DX, S1TBUF ; TRANSMIT IT<br />

OUT DX, AX<br />

; BURST TRANSMIT HAS BEGUN.<br />

CODE<br />

ENDS<br />

END<br />

Example 10-2. DMA-Driven Serial Transfers (Continued)<br />

10-36

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!