これは奇妙な要求ですが、可能性があります。 GCCのレジスタアロケータがでなく、であるように、コードの一部(C言語で書かれた部分)にプラグマやディレクティブを挿入することをお勧めします。この変数GCC:いくつかのレジスタの使用を禁止
register int var1 asm ("EBX") = 1984;
register int var2 asm ("r9") = 101;
のための問題は、私が直接(ハードウェアシミュレータ用)新しい命令を挿入してるということです私ははさておき、このレジスタを設定しているかもしれませんが、このような何かを行うことができますことを理解
とGCCとGASはまだこれらを認識していません。私の新しい命令は、既存の汎用レジスタを使用することができ、私はそれらのいくつか(r12 - > r15)が予約されていることを確認したい。
現在、モックアップ環境で作業しています。私はすぐに実験を行いたいと思います。将来はGASを追加し、GCCに組み込み関数を追加しますが、今すぐに修正を探しています。
ありがとうございます!
いつも予約する必要がありますか、または特定のインラインasmブロックの一部を予約する必要がありますか? – bdonlan
はい、これを指定したはずです。私は小さな機能の文脈で予約されているだけです。私はそれらをグローバルに予約することによって、パフォーマンスに悪影響を与える可能性があることを恐れています。 – hayesti