0
私は非常に単純なプログラムを実行しようとしていますが、私はエラーを取得しておいてください。Invalid language element
アセンブリ無効な言語要素のMIPS
lw $t0, 0($a0) #load integer from $a0->$t0
beq $t0, 1, 1dimensional #branch if $t0=1
1dimensional:
do something
私はエラーを取得していますなぜ私は理解して傾けます。
http://www.mrc.uidaho.edu/mrc/people/jff/digital/MIPSir.html BEQには、2つのレジスタオペランドとラベルがあり、即時ではありません。 –
@PeterCordes 2番目の引数としてimmediateを使うのは_valid_です。なぜなら、 'beq'は擬似op [アセンブラがそれをサポートしていれば、' mars'がする]ためです。 'addi $ at、$ zero、1' /' beq $ at、$ t0,1dimensional'を生成します。 –
ああ、それでは、http://stackoverflow.com/questions/16760255/why-we-cant-compare-bne-beq-a-register-with-an-immediate-assembly-mipsの複製ではありません。あなたが$ r1を破壊するアセンブラを使用しているときに、beqを擬似命令として拡張しているならば。それは私にとっては本当に奇妙なことですが、アーキテクチャレジスタが31個あるときは、OSが非同期にクラウドすることが許される2つのような、それらのいくつかを無駄にするのは「大丈夫」と思います。 –