>>8
viの実行を止めて、再実行すると前の値が残っているって事?
だとしたら、
      ┌────────────────┐
      │                        │
    0-□---------(処理)-----------------□
      │                        │
      └────────────────┘
このように、ループに入る前に初期値をシフトレジスタに渡してあげれば良い。