4

%espおよび%ebpのgcc-inlineアセンブリの文字は何ですか?という事は承知しています:

a = eax 
b =ebx 
c = ecx 
d = edx 
S = esi 
D = edi 
I = constant value (0 to 31). 
4

1 に答える 1

6

マニュアルには、 gccマシンの制約に関するリストがあります(「Intel386」セクションを参照)。厄介な詳細(通常はマニュアルよりも最新のもの)は、i386/constraints.mdファイルにあります。

ただし、正当な理由、つまりスタックの一貫性の%ebpため%esp、制約として使用することはできません。拡張asm構文で入力または出力として指定することはできません。%ebxこれは、場合によっては、特に(i386 SysV)ELFABIを使用して位置に依存しないコードを生成する場合に も拡張される可能性があります。

もちろん、asmブロック内のこれらのレジスタを明示的に操作することもできます。

于 2013-02-13T14:51:01.963 に答える