next up previous
: [補足] 特別なレジスタ : マイクロプロセッサ演習 : スタック、スタックポインタ $sp


[SPIM] 関数 square の MIPS のアセンブリ言語による実現

本問題では、第 1 章に出て来た関数 square を MIPS のアセンブリ言語で記述することを考える。ファイルは Square.asm である。

さきほどの HelloFunc.asm との違いは「引数」と「戻り値」が あることである。引数とは、関数 square の i に相当し、 戻り値は return(i*i) で返される値のことを指す。

MIPS のアセンブリ言語では、 関数の引数として $a0 $\cdots$ $a3、 戻り値として $v0、$v1 という特別なレジスタを 用いる約束になっている。

さて、以上に注意して Square.asm を完成させよ。


平成16年11月17日