それはGAS(GNUアセンブラ)とMIPSレジスタ名を使用することは可能ですか?

StackOverflow https://stackoverflow.com/questions/721192

  •  05-09-2019
  •  | 
  •  

質問

私はレジスタ名を使用している場合は、私が取得ます:

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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top