add asm generator