1

レジスタ名を使用すると、次のようになります。

Error: illegal operands `add $t0,$zero,$zero'

$8(の代わりに)レジスタ番号を使用する$t0と、機能します。(私はbinutils 2.17を使用しています)。$0$zero

4

1 に答える 1

2

GNUアセンブラは、シンボリックレジスタ名を直接サポートしていません。gccを使用してアセンブラを駆動する場合の一般的なアプローチは、アセンブラソースファイルに「.S」拡張子を使用し(gccにアセンブラの前にCプリプロセッサを介してソースを渡すように指示します)、定義を含むヘッダーファイルを#includeすることです。お気に入り:

#define zero $0
#define v0   $2
#define v1   $3

次に、アセンブラソースは次のようなステートメントを持つことができます

add v0, zero, zero
于 2009-04-17T00:56:17.487 に答える