使用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