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