%rdi 레지스터에 포인터가 아닌 일반 변수가 있을때

leaq (%rdi, %rdi,2), %rax 같은 형태로 사용하는게 산술 연산이 되는 원리가


movq 였으면 소괄호 식의 결과를 주소로 인식하고 참조해서 해당 주소에 위치 한 값을 rax에 넘겨주니 

일반변수*3의 값을 주소로서 참조하여 해당 주소에 위치한 값을 rax에 넣는데


leaq는 소괄호 식의 결과인 주소값 그 자체를 넘겨줘서 결국 rax에 일반변수*3의 값이 들어가는거 라고 이해했는데


내가 이해한게 맞는지 잘 모르겠어