fix if-else bug at asm