add SwapValue, SwapRegister and SwapParam