NEW
  AUTO 3,1
*/--------------------------------------
* ## MD5
* Return MD5 Hash for input String
* # C
* `void md5 (const char* str, char* digest);`
* # ASM
* `>PUSHW str`
* `>PUSHW digest`
* `>SYSCALL md5`
* ## RETURN VALUE
* CC
*\--------------------------------------
K.MD5			>PULLW FORPNT
				>PULLW TXTPTR
*/--------------------------------------
* ## MD5Init
* Initialize a MD5 computation
* # C
* `hMD5 md5init ();`
* # ASM
* `>SYSCALL MD5Init`
* ## RETURN VALUE
* A = hMem To S.MD5
*\--------------------------------------
K.MD5Init		jmp K.SYSCALL.JMPX
*/--------------------------------------
* ## MD5Update
* Add Data to MD5 computation
* # C
* `void md5update (short int md5, char* data, int len);`
* # ASM
* `>PUSHB md5`
* `>PUSHW data`
* `>PUSHW len`
* `>SYSCALL MD5Update`
* ## RETURN VALUE
*\--------------------------------------
K.MD5Update		>PULLW ZPDataLen		get LEN
				>PULLW TXTPTR			get DATA
				>PULLA

				jmp K.SYSCALL.JMPX
*/--------------------------------------
* ## MD5Finalize
* # C
* `void md5finalize (short int md5, char* digest);`
* # ASM
* `>PUSHB md5`
* `>PUSHW digest`
* `>SYSCALL MD5Finalize`
* ## RETURN VALUE
*\--------------------------------------
K.MD5Finalize	>PULLW FORPNT
				>PULLA

				jmp K.SYSCALL.JMPX
*--------------------------------------
MAN
SAVE USR/SRC/SYS/KERNEL.S.MD5
LOAD USR/SRC/SYS/KERNEL.S
ASM
