Matt GodboltのCompiler Explorerウェブサイトでは、さまざまなプリインストールされたコンパイラを使用してコードをコンパイルできます。 PowerPC gcc 4.8
を使用する場合、レジスタは即時と区別できません(たとえば、addi 11,31,16
)。%GCCのPowerPC GCCレジスタの印刷
ただし、-mregnames
オプションを使用すると、すべてのレジスタに%r
とそれに続くレジスタインデックスが付けられます。 %r1
の代わりにr1
を取得するには、%
記号を省略するにはどうすればよいですか?
、void nop() {}
with gcc4.8 PowerPC -O0 -mregnames
:
nop():
stwu %r1,-16(%r1)
stw %r31,12(%r1)
mr %r31,%r1
addi %r11,%r31,16
lwz %r31,-4(%r11)
mr %r1,%r11
blr
'%'を省略すると、レジスタはシンボルと混同されることがあります。なぜそれをしたいのですか?マニュアルには、これを行う方法がないようです。 – Jester
@Jester: 私はそれらを使わないでアセンブリを読むことに慣れています – BullyWiiPlaza
あなた自身の個人的な読書のためのものであれば、 '%r [0-9] +'の検索と置き換えだけでうまくいくでしょう。 – Jester