使用objdump的理解二进制,我意识到我不是ASM语法不够流畅。什么是以下概念是什么意思?

xor    %al,-0x1(%edx,%ecx,1)

和当你在吗? - 我应该怎么寻找,以便找到有关这些概念的文档

有帮助吗?

解决方案

括号是存储器偏移量:

-0x1(%edx,%ecx,1)(AT&T的语法)等于[edx+ecx*1-1](英特尔语法)

AT&T的汇编语法快速指南(按您的请求)。

其他提示

这是排他性的或与低字节(%人)中的内容的“A”寄存器和该地址处的存储器的内容也就是32位宽的寄存器“d”的总和(%EDX) , 'C' 乘以1(%ECX,1)和-1。结果回写到%人。在C

al ^= (char*)(edx+ecx*1 - 1);

可以在沙堆或英特尔/ AMD文档中查找这样的东西。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top