あと、7ビットコピーした後
x := x and $5555
x:= x or (x shl 1)
とした方が少し短いよ