CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

プリプロセッサ

ソースファイル中に含まれる浮動小数点数値を変換するプリプロセッサを作りました。入力テキストファイルを行単位で出力ファイルにコピーしますが行の中に新たに定義した「DOUBLE」(またはREAL8)か「FLOAT」(またはREAL4)の文字列が含まれていたら後続する文字列をatof()で数値として読取りIEEE754変換します

変換は仮数と指数部分を取出して再構成するのではなく、Cの処理系自体が既にIEEE754形式で数値を格納するので単精度/倍精度変数のメモリ上の収納アドレスを取得したポインタをunsigned long型整数のポインタでキャストして取り出すだけです

 

たとえばこのような実数型データを含むソースファイルは

このようにダブルワード型整数の羅列になりアセンブラにかけられるようになります