# MI_CpuSend*

## C Specification

  `#include <nitro/mi.h>`
  `void MI_CpuSend32( const void* src, volatile void* dest, u32 size );`
  `void MI_CpuSend16( const void* src, volatile void* dest, u32 size );`

## Description

Uses the CPU to transfer data to the same address. The function does not change the address of the transfer destination. It increments only the transfer origin address, and repeatedly transfers contiguous region data to the same address.

`MI_CpuCopy16()` transfers in 16-bit units. Both the transfer source address and the transfer destination address must be 2-byte aligned.
`MI_CpuCopy32()` transfers in 32-bit units. Both the transfer source address and the transfer destination address must be 4-byte aligned.

## Internal Operation

This does not use the DMA controller, but only uses the CPU to process.

## Arguments

`src` | The address of the transfer source
`dest` | The address of the transfer destination
`size` | The size that will be transferred

## Return Values

None

## See Also

`MI_CpuCopy*, MI_CPUFill*, MI_CpuClear*, MI_DmaSend*`

## Revision History

03/29/2004 Changed internal operation description.
12/01/2003 Initial Version.