objdump의 출력에 대한 문서를 찾지 못했습니다. objdump를 -D 출력에서 , 나는 ASM 아래를 참조하지만 난 그것을 이해하지 않는다 : 레아를 0x0 (%의 ESI는, 1), % ESI https://en.wikibooks.org/wiki/X86_Assembly/GAS_Syntax에서AT & T x86 어셈블리 "lea 0x0 (% esi, 1), % esi"
나는 "포인터"4 개 매개 변수가 있습니다 볼 수 있습니다 : 세그먼트 : displacement (기본 레지스터, 오프셋 레지스터, 스칼라 승수)
하지만이 0x0 (% esi, 1)은 무엇을 의미합니까? 스칼라는 0으로 생략됩니까? 그리고 & T asm의 설명서 위치를 안내해 줄 수 있습니까?
감사 스티븐
글쎄, 괄호 밖의 숫자는 변위 일 수 있습니다. 괄호 안의 숫자는 소수 일 수 있습니다. 그래서 ... :) 그냥 objdump가 pedantic입니다. –
단일 레지스터에 스칼라 값 1 (및 변위 0)을 사용하면 지정된 레지스터가 기본이라고 가정합니다. 사실'lea 0x0 (% esi, 1), % esi'는 lea (% esi), % esi와 같은 의미입니다. 'objdump '명령을 사용하여 익숙한 인텔 구문으로 지시 사항을 출력 할 수도 있습니다. '-Mintel '옵션을 추가하면됩니다. –
3 바이트 NOP 인 IIRC입니다. – ninjalj