Practice8 - 2024年度 システムプログラミング
課題内容
これまでにアセンブリ言語で作成した print_string
や read_string
を利用して,
printf
や scanf
を C言語で 作成してみましょう.
Practice8-1: 可変引数関数
printf など,一部の関数は,任意の数の引数を取ることができる. これらの関数を可変引数関数と呼ぶ. MIPSのCコンパイラにおいて可変引数関数の実現方法について考察し,解説せよ.
Practice8-2: printfの作成
printf
のサブセットをC言語で実装し,
SPIM上でその動作を確認する応用プログラム(自由なデモプログラム)を作成せよ.
フルセットにどれだけ近いか,あるいは,よく使う重要な仕様だけをうまく切り出して,
実用的なサブセットを実装しているかについて評価する.
ただし,浮動小数は対応しなくてもよい(SPIM自体がうまく対応していない).
加えて,この printf
を利用した応用プログラムの出来も評価の対象とする.