wiki:Ex01 MIPSアセンブリの基礎2015

Version 2 (modified by nakasato, 11 years ago) (diff)

--

SPIMの使用法および例題

演習の目的

  • 命令レベルシミュレータに慣れること
  • MIPSのアセンブラ命令の使い方を理解すること
  • 今後の課題で使用するプログラムを作成すること

今回の演習ではMIPSプロセッサのアセンブラを用いて簡単なプログラミングを行います。 このプログラムを動作させるために、SPIMシミュレータを用いて、実際に正しく動作しているかどうかを確認します。 ここで作成したプログラムはあとで設計するMIPSプロセッサで実行させるテストプログラムになります。

シミュレータのドキュメント

留意点 1

以下の表に示された以外の命令は使わないこと。

これ以外の命令を使うと、後半の演習で設計するMIPSプロセッサでは動作しません。ただし、他の命令に置き換えられる疑似命令は使用できます。 例えば la 命令は ori 命令に置き換えられるので使用できます。

レジスタの指定は、$0から$31でも、$zero,$v0,$v1,...でも構いません。 指定があるもの(スタックポインタ,リターンアドレスなど)は、指定通りに使ってください。 以下の課題において、一時的にレジスタを利用する場合は、$8から$15と$24, $25(これらは$t0 - $t9としてもアクセス可能)を使用します。 $1はアセンブラが使用するので、プログラムでは使用しないでください。

留意点 2

シミュレーションはステップ実行で行うこと。方法については演習の時間に説明します。

留意点 3

後半の演習で設計するMIPSプロセッサでは、システムコールを実装しないので、exit システムコールは利用できません。 プログラムの最後で停止させたいときは、自分自身にジャンプさせ無限ループさせるようなコードを挿入します。

例:

exit: j exit

Attachments (1)

Download all attachments as: .zip