私は仕様に従って、 "コンピュータアーキテクチャの定量的アプローチ"を守ろうとしている大学コースに参加しています。Mipsの最初のステップ - スピム:構文エラー
私たちの仕事は、MIPSでの挿入の並べ替えを書くことでしたが、私は自分のコードをデバッグする方法やそれをコンパイルする方法を知らないです。スクールのウェブページは、本のgcc-mips-elfとMipsItを指しています。
問題gcc-mips-elfが利用できないので、MipsItにエミュレータが必要なので、私はarchデータベースで見つけたネイティブシミュレータQtSpimを使うことにしました。私はコースのWebページからテンプレートを実行しようとすると、
しかし、スピムはエラーをスロー:syntax error on line 17 ... .word 5, 3, 4, 1, 2
#define t0 $8
#define t1 $9
#define t2 $10
#define t3 $11
#define t4 $12
#define s0 $16
#define s1 $17
#define s2 $18
#define s3 $19
.globl field
.data
.align 2
field:
.word 5,3,4,1,2
.text
.globl start
.ent start
start:
// your code goes here
nop
.end start
コードはGNUアセンブラで組み立てられるように書かれているように見えること。 SPIMとの互換性はありません。 '.word'ディレクティブは問題ではなく、WindowsのQtSpimで文法エラーを引き起こすことはありません。しかし、これらの '#define'行はすべてSPIMのコメントとみなされ、' .end'と '.ent'は私が知る限りSPIMにとって意味がなく、SPIMプログラムには' main'ラベルが必要です。 – Michael
MIPSアセンブリ(x86ではなく)を使用する場合は、MARS(http://courses.missouristate.edu/KenVollmar/mars/)を見てください。SPIMよりもはるかに使いやすくなっています。 – Zack
ツールを使いこなすのではなく、コンピュータアーキテクチャを学びたい場合は、推奨されているツールを推奨された方法で実行してください。 – markgz