![](http://datasheet.mmic.net.cn/30000/M30956FKTGP_datasheet_2359453/M30956FKTGP_147.png)
12. DMAC
Figure 12.3
DMA0 to DMA3 Registers, DSA0 to DSA3 Registers
b23
Symbol
DMA0(2)
DMA1(2)
DMA2 (bank1:A0)(3)
DMA3 (bank1:A1)(4)
Address
(CPU internal register)
After Reset
XXXXXXh
000000h
b0
Function
RW
DMAi Memory Address Register (i = 0 to 3)
RW
Set a incremented source address or incremented destination
address(1)
NOTES:
1. When the RWk bit (k = 0 to 3) in the DMDj register (j = 0, 1) is set to 0 (fixed address to incremented address), a destination
address is selected. When the RWk bit is set to 1 (incremented address to fixed address), a source address is selected.
2. Use the LDC instruction to set registers DMA0 and DMA1.
3. To set the DMA2 register, set the B flag in the FLG register to 1 (register bank 1) and write to the A0 register using the MOV
instruction.
4. To set the DMA3 register, set the B flag to 1 and write to the A1 register using the MOV instruction.
Setting Range
000000h to FFFFFFh
(16 Mbytes)
b16 b15
b8 b7
b23
Symbol
DSA0(2)
DSA1(2)
DSA2 (bank1:SB)(3)
DSA3 (bank1:FB)(4)
Address
(CPU internal register)
After Reset
XXXXXXh
000000h
b0
Function
RW
DMAi SFR Address Register (i = 0 to 3)
RW
Set a fixed source address or fixed destination address(1)
NOTES:
1. When the RWk bit (k = 0 to 3) in the DMDj register (j = 0, 1) is set to 0 (fixed address to incremented address), a source address
is selected. When the RWk bit is set to 1 (incremented address to fixed address), a destination address is selected.
2. Use the LDC instruction to set registers DSA0 and DSA1.
3. To set the DSA2 register, set the B flag in the FLG register to 1 (register bank 1) and write to the SB register using the LDC
instruction.
4. To set the DSA3 register, set the B flag to 1 and write to the FB register using the LDC instruction.
Setting Range
000000h to FFFFFFh
(16 Mbytes)
b16 b15
b8 b7