間違っている部分がわからないので教えてほしいです。
#include "hspmath.as" shift=0 ;シフト回数 seed=654514674 seed_1=0 *main shift=13 gosub *leftshift mes seed shift=17 gosub *rightshift mes seed shift=15 gosub *leftshift mes seed wait 1 goto *main *leftshift seed_1=seed<<shift ;左に算術シフト a=(seed>>(32-shift))&(%01111111111111111111111111111111>>(32-shift-1)) ;はみ出たビットを抽出して右に寄せる seed_1=seed_1^a ;算術シフト結果とはみ出たビットを合成 seed=seed^seed_1 ;xorで合成 return *rightshift seed_1=seed>>shift ;右に算術シフト(符号のコピーが発生) seed_1=seed_1&(%01111111111111111111111111111111>>(shift-1)) ;余分な符号のコピーを消去 seed_1=seed_1^(seed<<(32-shift)) ;はみ出したビットを補完 seed=seed^seed_1 ;xorで合成 return