Fixed some issues with the orginal register being modified and returning strange results after shifting.