change to use caller register, because use callee register occur error