%espおよび%ebpのgcc-inlineアセンブリの文字は何ですか?という事は承知しています:
a = eax
b =ebx
c = ecx
d = edx
S = esi
D = edi
I = constant value (0 to 31).
マニュアルには、 gccマシンの制約に関するリストがあります(「Intel386」セクションを参照)。厄介な詳細(通常はマニュアルよりも最新のもの)は、i386/constraints.mdファイルにあります。
ただし、正当な理由、つまりスタックの一貫性の%ebp
ため%esp
、制約として使用することはできません。拡張asm構文で入力または出力として指定することはできません。%ebx
これは、場合によっては、特に(i386 SysV)ELFABIを使用して位置に依存しないコードを生成する場合に も拡張される可能性があります。
もちろん、asmブロック内のこれらのレジスタを明示的に操作することもできます。