hra1129 / msx_basic_compiler

MSX-BASICコンパイラ
MIT License
22 stars 2 forks source link

累乗の計算が正しくない #7

Closed NasubiKT closed 7 months ago

NasubiKT commented 7 months ago

下記サンプルコードにおいて、計算結果が128(2の7乗)と計算されるところ、49(7の2乗)と計算される。

10 PRINT 2^7
hra1129 commented 7 months ago

整数・浮動小数いずれも正常に計算出来なくなっていたのを確認しました。修正しました。

NasubiKT commented 7 months ago

ありがとうございます。 整数・浮動小数ともに累乗の計算結果を確認いたしました。 このISSUEはCLOSEいたします。

NasubiKT commented 7 months ago

申し訳ありません。再OPENします。 以下のサンプルコードで、20行目は128となるのですが、50行目が49となります。

10 DEFINTA-Z
20 PRINT 2^7
30 BM=0:IV=0
40 BM=2^(7-(IV MOD 8))
50 PRINT BM
hra1129 commented 7 months ago

失礼しました。 演算命令は、HL 演算子 DE な演算が殆どなのに、INTEXP は DE ^ HL なのが抜け落ちてました。 最適化バグの修正と称して DE:HL入れ替えミスして上手くいっていたのもこれ。 修正しました。今度こそ大丈夫だとおもいます。

NasubiKT commented 7 months ago

ありがとうございます。 2つ目のサンプルコードでの動作を確認いたしました。 このISSUEはCLOSEさせて頂きます。