@pixelsearch It's good that you are practicing. I usually use FASM, a well maintained compiler, available as DLL also (110 kb) so it can be loaded from memory and can produce binary code very fast and without any other dependecies. Ahh and there is an UDF for inline FASM which is also available with an OOP like syntax.
Here is a simple example, I think from ward's UDF:
Func Demo2()
; Demo 2: Read Time-Stamp Counter
$F.Reset()
$F.Add("use32")
$F.Add("push ebp")
$F.Add("mov ebp, esp")
$F.Add("rdtsc")
$F.Add("mov ecx, [ebp + 08]")
$F.Add("mov [ecx], edx")
$F.Add("pop ebp")
$F.Add("ret 4")
ConsoleWrite(String($F.GetBinary()) & @CRLF)
Local $Ret = MemoryFuncCall("uint", $F.GetFuncPtr(), "uint*", 0)
MsgBox(0, "Demo 2: Read Time-Stamp Counter", "RDTSC = " & Hex($Ret[1]) & Hex($Ret[0], 8))
Return Hex($Ret[1]) & Hex($Ret[0], 8)
EndFunc
Isn't nice to write asm directly in AutoIt without external dependencies?