2

テイラー級数またはルックアップテーブルのいずれかを使用して正弦の値を計算するための68HC11のアセンブリコードは何でしょうか?

表示値は整数のみとなります。この場合、ルックアップテーブルはどのように機能しますか?テイラー級数を使用してどのように実装できますか?

4

3 に答える 3

4

浮動小数点ソリューションを探している場合は、最初に浮動小数点演算を実装する必要があります。その部分は、32ビット演算もサポートしていない68HC11では重要です。その後、sinの計算は簡単ですが、非常に遅くなります。;-)

ルックアップテーブルを使用します。

于 2009-12-24T18:48:55.433 に答える
3

テイラー級数は使用しないでください。

Googleはこれを見つけまし

于 2009-12-24T18:46:19.027 に答える
2

私は長い間68HC11プログラミングを行っていないので、正確な指示を与えることはできませんが、多かれ少なかれ次のことをしたいと思います。

  1. [0-Pi / 2]の範囲で、1つの象限にわたってSin(x)の値が256(またはいくつでも)あるメモリ内のテーブルを定義します。
  2. 入力を範囲[0-Pi/2]に変換し、元々どの象限にあったかを追跡します。たとえば、Q2の場合、値(Pi / 2-x)が必要です。
  3. 表で調整値を調べ、元の角度が第3象限または第4象限にあった場合は結果を否定します。

詳細はもちろん入力範囲と出力範囲によって異なりますが、一般的には、インデックスレジスタがテーブルを指すインデックス付きアドレッシングモードを使用するか、オペコードを変更してオフセットを設定した拡張アドレッシングを使用します。

于 2009-12-24T19:58:04.140 に答える