Assembly 装配中的cmp转换
我是装配新手,并通过以下方式运行:Assembly 装配中的cmp转换,assembly,x86,gdb,Assembly,X86,Gdb,我是装配新手,并通过以下方式运行: cmp 0x2c(%esp),%esi 很明显,它试图进行比较,但我不知道0x2c(%esp)是什么。我使用的是GDB,因此访问该值的命令将非常有用。下一行查看这两个值是否相等。我不熟悉汇编程序的语法,但我想它是在比较寄存器ESI的内容与(堆栈指针+2C十六进制)的内存位置的内容。这是at&t语法。您可以使用设置反汇编风格英特尔将gdb切换到英特尔语法,以获得更可读的代码。您可以使用例如x/d$esp+0x2c检查该值
cmp 0x2c(%esp),%esi
很明显,它试图进行比较,但我不知道0x2c(%esp)是什么。我使用的是GDB,因此访问该值的命令将非常有用。下一行查看这两个值是否相等。我不熟悉汇编程序的语法,但我想它是在比较寄存器
ESI
的内容与(堆栈指针+2C十六进制)的内存位置的内容。这是at&t语法。您可以使用设置反汇编风格英特尔
将gdb切换到英特尔语法,以获得更可读的代码。您可以使用例如x/d$esp+0x2c
检查该值