Assembly 使用x86汇编语言

Assembly 使用x86汇编语言,assembly,x86,Assembly,X86,我需要一些帮助来确定这些x86汇编语言行的功能。在第二次lea之后,%eax是否始终为5,%ebx是否变为4?另外,我也不确定add和compare的作用。感谢您的帮助 mov $0x5,%eax lea -0x20(%ebp),%esi lea -0x1(%eax),%ebx add 0x4(%esi,%ebx,4),%eax cmp %eax,(%esi,%ebx,4) je

我需要一些帮助来确定这些x86汇编语言行的功能。在第二次lea之后,%eax是否始终为5,%ebx是否变为4?另外,我也不确定add和compare的作用。感谢您的帮助

       mov    $0x5,%eax
       lea    -0x20(%ebp),%esi
       lea    -0x1(%eax),%ebx
       add    0x4(%esi,%ebx,4),%eax
       cmp    %eax,(%esi,%ebx,4)
       je     0x8048dce 

隐马尔可夫模型。。。似乎相当于
leaeax、[ebp+5]
cmp[ebp-4]、eax
je…
。很有趣。
mov    $0x5,%eax             - sets eax to 5
lea    -0x20(%ebp),%esi      - loads the dword value at ebp-0x20 into esi
lea    -0x1(%eax),%ebx       - sets ebx to the value of eax-1 (i.e. 4)
add    0x4(%esi,%ebx,4),%eax - adds the dword value at esi+ebx*4+4 to eax
cmp    %eax,(%esi,%ebx,4)    - compares eax to the dword value at esi+ebx*4
je     0x8048dce             - branches if they are equal