change r7 to sp
fixed SAVE_STACK_POINTER, RESTORE_STACK macro.