2011-09-25 5 views
8

내가이 add 명령이 무엇을하고 있는지 정확히 모르겠어요하고있는 명령 추가 정확히 모르겠어요 :나는이 86이

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

가 있다면 :

add %rbx,%eax 

나는 그것을 알고를 rbx의 내용과 내용을 eax에 추가하고 eax에 다시 저장하십시오. 그러나 0x0(%rbp,%rbx,4)이 나를 퇴장시키고 있습니다.

+0

참조 : [주소 피연산자 구문] (http://en.wikibooks.org/wiki/X86_Assembly/GAS_Syntax#Address_operand_syntax). – outis

답변

15

바보 같기 때문에 &은 AT & T 구문을 혼동합니다.
정상적인 인텔 구문에서는 add eax,dword ptr[rbp+4*rbx+0]입니다. 즉, eax에 rbp + 4 * rbx에서 dword를 추가하십시오.

+7

+1 AT & T 문법이 싫어서 전염병처럼 피해야합니다. – Johan