在x86汇编中编译的每条指令有多少个字节?

Mas*_*ask 7 x86 assembly gnu-assembler instruction-set

0x004012d0 <main+0>:    push   %ebp
0x004012d1 <main+1>:    mov    %esp,%ebp
0x004012d3 <main+3>:    sub    $0x28,%esp
Run Code Online (Sandbox Code Playgroud)

如果地址不可用,我们可以自己计算吗?

我的意思是我们只有这个:

push   %ebp
mov    %esp,%ebp
sub    $0x28,%esp
Run Code Online (Sandbox Code Playgroud)

And*_*rey 6

字节数是相邻指令之间的地址差异:

0x004012d0 <main+0>:    push   %ebp ;1 byte
0x004012d1 <main+1>:    mov    %esp,%ebp ;2 bytes
0x004012d3 <main+3>:    sub    $0x28,%esp
Run Code Online (Sandbox Code Playgroud)

如果你只有文字,请访问:http://www.swansontec.com/sintel.html和这里:http://faydoc.tripod.com/cpu/conventions.htm并计算每条指令,前缀和操作数