read and write works with asm, just the reading result is not true