a kernel  use asm&c