これは(AFAIK)この一般的なトピック内の特定の質問です。
状況は次のとおりです。
32ビットRISCマイクロコントローラー(NECのV810のバリアント)に基づく組み込みシステム(ビデオゲームコンソール)があります。固定小数点数学ライブラリを書きたいです。この記事を読みましたが、付属のソースコードは386アセンブリで記述されているため、直接使用することも、簡単に変更することもできません。
V810には整数の乗算/除算が組み込まれていますが、上記の記事で説明した18.14形式を使用したいと思います。これには、64ビット整数を32ビット整数で除算する必要があり、V810は(符号付きまたは符号なし)32ビット/ 32ビット除算のみを実行します(32ビット整数と32ビット余りを生成します)。
だから、私の質問は、64ビット/32ビットの除算を32ビット/32ビットの除算でシミュレートするにはどうすればよいですか(配当の事前シフトを可能にするため)?または、別の方法で問題を調べるために、標準の32ビット算術/論理演算を使用して18.14固定小数点を別の固定小数点で除算するための最良の方法は何ですか?(「最良」とは、最速、最小、またはその両方を意味します)。
代数、(V810)アセンブリ、および擬似コードはすべて問題ありません。Cからコードを呼び出します。
前もって感謝します!
編集:どういうわけか私はこの質問を逃しました...しかし、それでも超効率的にするためにいくつかの変更が必要です(それはすでにあるかもしれませんが、v810によって提供される浮動小数点divよりも高速でなければなりません...)、ですから、評判ポイントと引き換えに私のために自由に仕事をしてください;)(そしてもちろん私の図書館のドキュメントのクレジット)。