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