Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 装配中的cmp转换_Assembly_X86_Gdb - Fatal编程技术网

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
检查该值