sin(x) を計算するための 68HC11 のアセンブリ コード
質問
テイラー級数またはルックアップ テーブルを使用して正弦値を計算する 68HC11 のアセンブリ コードは何でしょうか?
表示値は整数のみとなります。ルックアップ テーブルはどのように機能しますか この場合?を使用してどのように実装できますか テイラーシリーズ?
解決
何もしていない 68HC11 久しぶりのプログラミングなので正確な手順は説明できませんが、多かれ少なかれ次のことを実行したいとします。
- [0-Pi/2] の範囲で、1 象限にわたって Sin(x) の 256 (または任意の数) の値を持つテーブルをメモリ内に定義します。
- 入力を範囲 [0-Pi/2] に変換し、元の象限を追跡します。たとえば、Q2 の場合は、値 (Pi/2-x) が必要です。
- テーブル内の調整された値を検索し、元の角度が第 3 象限または第 4 象限にある場合は結果を無効にします。
もちろん、詳細は入力範囲と出力範囲によって異なりますが、一般的には、インデックス レジスタがテーブルを指すインデックス付きアドレッシング モードを使用するか、オペコードを変更してオフセットを設定する拡張アドレッシング モードを使用します。
他のヒント
あなたは浮動小数点ソリューションを探している場合は、
は、最初の浮動小数点演算を実装する必要があります。その部分はあっても32ビット演算をサポートしていない68HC11に非自明であろう。その後、罪を計算することは簡単ですが非常に遅いです。 ; - )
を使用するルックアップテーブルます。
テイラー級数を使用しないでください。
Googleが見つかっこのにます。
所属していません StackOverflow