使用objdump来理解二进制文件,我意识到我在ASM语法中不够流利。以下概念是什么意思?在objdump输出中“-0x1(%edx,%ecx,1)”是什么意思?
xor %al,-0x1(%edx,%ecx,1)
虽然你在它 - 我应该为了找到这样的观念,文档搜索?
使用objdump来理解二进制文件,我意识到我在ASM语法中不够流利。以下概念是什么意思?在objdump输出中“-0x1(%edx,%ecx,1)”是什么意思?
xor %al,-0x1(%edx,%ecx,1)
虽然你在它 - 我应该为了找到这样的观念,文档搜索?
链接已损坏。 – gsingh2011 2013-01-06 06:21:22
下面是[** Intel和AT&T语法**]的并排视图(http://www.imada.sdu.dk/Courses/DM18/Litteratur/IntelnATT.htm)。 – 2014-02-12 04:27:28
这是“a”寄存器的低位字节(%a1)的独占内容或地址处的存储器内容,它是32位宽寄存器'd'(%edx ),'c'乘以1(%ecx,1)和-1。结果写回%al。在C
al ^= (char*)(edx+ecx*1 - 1);
您可以在sandpile或英特尔/ AMD文档中查找这样的东西。
请注意,我知道xor的含义;),我只是不理解括号表达式。 – BjoernD 2009-12-09 20:55:26