WDE環境では、拡張子".fxp"ファイルにて固定小数点演算ツールが機能します。
このファイルの書式については次節に解説します。
記述 | 説明 |
---|---|
#tcount U16.-21 0.003 | #コマンドは変数を定義するコマンドです。上の例では、符号無し16ビット長、小数点位置2-21の変数tcountを定義しています。 0.003はテスト値で、これは出力エリアにて、そのデシマル値"int"、固定小数点化した値"fixed"、真値"real"として、演算過程が表示され、固定小数点化による誤差を評価できるようになっています。 |
#omega S24.-11 -2000 | 変数が負値をとる場合はフォーマットを符号付(S24.-11)として定義します。 |
<tcount | 変数tcountの内容を演算レジスタにロードします。 |
*pole | 演算レジスタ*=poleとします。 乗算ではビット巾は拡張されるので誤差は発生しません。ビット巾を縮小するには、後で">コマンド"を使って行います。 |
*omega S16.-3 | 演算レジスタ*=omegaとします。 通常、加減乗除コマンドにはフォーマット指定(S16.-3)はしません。つまり先に定義されたフォーマットを適用します。 フォーマット指定は、先の定義のMSB側から取ることが指定された場合のみ有効です。それ以外では演算エラーになるので注意ください。 |
> S24.-16 | 演算レジスタの値を指定フォーマット(符号付24ビット長小数点位置2-16)に変換します。 >のみ記述した場合は、一切の変換を行いません。この記述はデバッグのため現時点の演算レジスタを出力エリアに表示するために用いられます。 |
-pi2 | 演算レジスタ-=pi2とします。 |
>err S16.-8 | 演算レジスタを指定フォーマットで変換した後、変数errにストアします。 以後の式にてerrを参照した場合は、一番間近にストアされた値とフォーマットが適用されます。 |
@<< | 演算レジスタを左シフトします。 @で始まるコマンドは演算レジスタの操作命令です。@に続く文字列が操作を表します。操作としては、左シフト(<<)、右シフト(>>)、符号反転(-)があります。 |