User`s manual
Using the DMA
Servicing a Peripheral
MOTOROLA Optimizing DSP56300/DSP56600 Applications 4-11
movep #0,x:M_DOR2 ;offset register 2,
;added every word
;(DCOL) to destination address.
movep #-2,x:M_DOR3 ;offset register 3,
;added every 3 words
;(DCOM) to destination address
;DMA ch.0 control word:% 0 1 001 10 0 01111 1 111 0 00 01 00
;DE 0 channel not armed (yet)
;DIE 1 DMA interrupts enabled
;DTM 001 word transfer triggered by request source,
; DE disarmed at end of count.
;DPR 10 chann. priority (lower than channel 1 - receive)
;DCON 0 continuous mode disabled
;DRS 01111 DMA request source - SCI transmit
;D3D 1 3 dimensional mode enabled
;DAM[5:3]111 dest. addressing - 3D, with offsets DOR2:DOR3
;DAM[2] 0 source address 3D (DOR0:DOR1).
;DAM[1:0]00 3D counter mode: DCOH 12 bits, DCOM 6 bits,
; DCOL 6 bits.
;DS[3:2]01 transfer destination: y memory.
;DS[1:0]00 transfer source: x memory.
movep #$4c7f84,x:M_DCR0;load control register,
;not triggered.
;============== initialize SCI
movep #$8200,x:M_SCR ;8 bits sync. mode, transmit
;enable, clock invert.
movep #$1,x:M_SCCR ;max freq/2, int. clock for TRx.
movep #$7,x:M_PCRE ;enable SCI pins
;============== initialize the core
bset #13,x:M_IPRC ;DMA channel 0 interrupt
;priority 1.
andi #$fc,mr ;enable interrupts
bset #23,x:M_DCR0 ;activate Tx DMA transfer.
...
;============== interrupt vectors and routines
org p:I_DMA0
jsr <_FILL_TX_BUF
...