/* Perform a non-blocking write of 16 words of data to the SHA/MD5 module. */
bool SHAMD5DataWriteNonBlocking(uint32_t ui32Base, uint32_t *pui32Src)
/* Perform a non-blocking write of 16 words of data to the SHA/MD5 module. */
bool SHAMD5DataWriteNonBlocking(uint32_t ui32Base, uint32_t *pui32Src)
{
    uint32_t ui32Counter;
    ASSERT(ui32Base == SHAMD5_BASE);
    if((HWREG(ui32Base + SHAMD5_O_IRQSTATUS) & SHAMD5_INT_INPUT_READY) == 0)
    {
        return(false);
    }
    for(ui32Counter = 0; ui32Counter < 64; ui32Counter += 4)
    {
        HWREG(ui32Base + SHAMD5_O_DATA_0_IN + ui32Counter) = *pui32Src++;
    }
    return(true);
}