CPU実験室

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

浮動小数点処理

ここまでくればハードの心配はほぼ無くなりました。
あとはCで好きにプログラミングしても実行は大丈夫そうです。

のっけから少し重いですがLSIC-86の浮動小数点ライブラリをリンクして
キャラクタでサインウェイブを書いてみます。

char buf[]=":                    +                    :";
char str[64];

void main(void)
{
  int i,x;
  double s;
  char out[64];

  for(i=0;i<=360;i+=10){
    s=sin(i*PI/180);           /*sin(x)*/
    x=floor((s+1.0)*20+0.5)+1;      /*四捨五入*/
    strcpy(str,buf);
    str[x]='*';              /* *マークを置く */
    sprintf(out,"%3d%s%+5f\n\r",i,str,s); /* 行データ整形 */
    putstr(out);             /* 行出力*/
  }
  putstr("END\n\r");
  while(1){               /* リセット待ち */
  }
}

出来上がったバイナリファイルは約8600バイトでした。

実行して見たところです。
昔、8ビットPCのBASICで良くこんなのやりました。
ターミナルの設定をレトロなグリーンモニタ風にしています。


イメージ 1