MOD と \ の有効範囲テストを NP2 でやってみました。
結果は 32767 を超えると オーバーフローエラーになりました。
また、N88BASICでは行番号が必要で、タブは使えなかったので
以下のようにプログラムを修正しました。
0 'N88mod.bas
4 print " input ";
20 input a '
30 OPEN "mod.dat" FOR append AS#1 'ファイル出力
40 print " a MOD i ","2bytes "," Froat "," a / i"
50 for i=2 to 5
60 bb=int((a/i-int(a/i))*i+.5) ' MOD 代替式
70 print a;"mod";i,
72 if a>32767 then print "over! ", else print a mod i, '32767 over
74 print bb,a/i
80 print#1, a;"mod";i,
82 if a>32767 then print#1,"over! ", else print#1, a mod i, ' 32767 over
84 print#1, bb,a/i '
90 next i
00 print " a \ i","2bytes "," Froat "," a / i"
10 for i=2 to 5
20 cc=int(a/i) ' \ 代替式
30 print a;" \ ";i,
32 if a>32767 then print "over! ", else print a \ i, ' 32767 over
34 print cc,a/i '
40 print#1,a;" \ ";i,
42 if a>32767 then print#1,"over! ", else print#1, a \ i, ' 32767 over
44 print#1,cc,a/i '
50 next i
60 PRINT#1,""
70 CLOSE#1
80 '入力待ち
90 print " push eny key ";
200 a$=input$(1)
210 if a$="" then 180
220 end
エラーになるのと不正な結果になるのとどっちが良いかはともかく
MOD と \ の有効範囲は 普通は 32767 までのようですね。
だから素数のような桁数が多くなる計算は UBASIC などを使うのが良いのでしょうね。