0

関数で番号が渡された専用レジスタに mtspr 命令を使用したいと考えています。

__MTSPR(unsigned int spr, long long val)

私はsprにvalを入れなければなりません。

これが私が無駄に試したことです。

    __asm__(
    "mtspr     %[a], %[b] "
    : : [a]"I"(spr), [b]"r"(val)
);  

私はこのエラーが発生します:

ppc_gnu.c: 関数 '__MTSPR' 内: ppc_gnu.c:69:2: 警告: asm オペランド 0 は制約と一致しない可能性があります [デフォルトで有効化] ppc_gnu.c:69:2: エラー: 'asm' に制約がありません

この問題を解決する方法と、MACRO を使用しないでください。この関数の使用方法または宣言を変更することはできません。

4

0 に答える 0