シフトレジスタの使い方がイマイチよくわからん

例えば、Whileループで振幅1で綺麗なsin波を発生させて、ループ毎にそれを加算させようと
シフトレジスタを用いてプログラム組んでみたんだけど上手く動かない

加算した波形の最大最小値は、それぞれループ回数に符号+とーをつけたものになるはずなのだが、
常に0もしくは空データしか返してこない

わかりにくかもしれんが、図で書くと下みたいなプログラム(ループ枠は書いてない)

■は信号ジェネレータ。▲▼はシフトレジスタ。
+は和の計算させるやつ(xを▼に配線、yを■からのダイナミックデータを1Dスカラ配列に変換して配線

▼-------          
       +--------▲
■-------    |
          グラフ表示機


なぜだかわかる人いる?