それはGAS(GNUアセンブラ)とMIPSレジスタ名を使用することは可能ですか?
質問
私はレジスタ名を使用している場合は、私が取得ます:
Error: illegal operands `add $t0,$zero,$zero'
私はレジスタ番号(代わりに$8
の代わりに$t0
と$0
の$zero
)を使用している場合は、それが動作します。 (私は、binutilsの2.17を使用しています)。
解決
GNUアセンブラは直接シンボリックレジスタ名をサポートしていません。一般的なアプローチは、アセンブラを駆動するために、GCCを使用している場合、(アセンブラの前にCプリプロセッサを介してソースを渡すGCCに指示)アセンブラ・ソース・ファイルの「.S」拡張子を使用して、定義を含むヘッダファイルを#includeすることです同様ます:
#define zero $0
#define v0 $2
#define v1 $3
そして、アセンブラソースのようなステートメントを持つことができます。
add v0, zero, zero
所属していません StackOverflow