標記の件、ver.4.13.00および4.21.00で下記のようなプログラムを実行すると演算結果が0となります。
コード:
#N88BASIC
Dim a As Integer, b As Integer
a = 2
b = 2
Print a^b
どうやらどちらかの変数の型が2byte以下のもの(Char型、Byte型、Integer型、Word型)である場合に起こるようで、組み合わせによって例外処理やらアクセス違反やらエラーは無いけど結果がおかしかったりします。
当然ながら、二つの変数をLong型、DWord型、QWord型で宣言したり、演算時に型キャストした場合には正常に動きました。
確認願います。
ついでながら、Sqr関数内の変数2が型宣言されていないので#strictを記述したときに警告が出ます。
実用上は問題ないですが、宣言したほうが良いのでは。