ASM algorithm source code