How about this.
About this don't help for me. But not a big problem, because with ASerge very usable code, I can use the TMemoryStream as const array. And it's better, because Stream is more flexible than const array... (etc: variable parameter).
The asm code under development (partially working yet), because if the "key array" is shorter than 16, and not divisible, then as I see, I need create an array table... but it will only tomorrow...
for example if 16 mod KeyArray.Size > 0, it's a problem...
sample keyarray:
$EA $FA $AA $22 $11
then I need a hash table for 16 byte operation, similar of this:
$EA $FA $AA $22 $11 $EA $FA $AA $22 $11 $EA $FA $AA $22 $11 $EA
$FA $AA $22 $11 $EA $FA $AA $22 $11 $EA $FA $AA $22 $11 $EA $FA
$AA $22 $11 $EA $FA $AA $22 $11 $EA $FA $AA $22 $11 $EA $FA $AA
$22 .. and so on.