>>662
0〜99迄の範囲で隔たりなくではなく、0〜100で隔たりなくですよね?

WORDを返すような環境だと、除算は掛算より遅いから %より
rnd*101/65536 として (rnd*101)>>16 とした方がいいでしょう。
アセンブラで int MulShr16(int n , int m); みたいなのを作っておくといい。