2011-09-25 11 views
8

Tôi không chắc chắn chính xác những gì hướng dẫn add này được thực hiện:Tôi không chắc chắn chính xác những gì x86 này Thêm hướng dẫn đang làm

add 0x0(%rbp,%rbx,4),%eax 

Nếu nó là:

add %rbx,%eax 

Tôi biết nó sẽ thêm nội dung của rbx và nội dung trong eax và lưu trữ chúng trở lại vào eax. Tuy nhiên, 0x0(%rbp,%rbx,4) đang ném tôi đi.

+0

Để tham khảo: [Cú pháp toán hạng địa chỉ] (http://en.wikibooks.org/wiki/X86_Assembly/GAS_Syntax#Address_operand_syntax). – outis

Trả lời

15

Đó là bởi vì nó ngu ngốc & gây nhầm lẫn AT & T cú pháp.
Trong cú pháp thông thường của Intel, nó là add eax,dword ptr[rbp+4*rbx+0] tức là thêm dword tại rbp + 4 * rbx vào eax.

+7

+1 Cú pháp AT & T hút, tránh nó giống như bệnh dịch hạch. – Johan