나는 2 가지 간단하지만 어쩌면 까다로운 질문이 있습니다. 내가 어셈블러 명령어를 가지고 있다고 가정 해 봅시다 : MOV EAX, [ebx + 6 * 7] - 내가 궁금한 점은이 명령어가 실제로 opcode로 변환되어 괄호 안의 코드 계산이 opcode로 인코딩된다는 것입니다. 아니면 컴파일러에 대한 그냥 의사 intruction, 그래서 컴파일러 전에 괄호에있는 값을 계산하여 추가 곱슬을 사용하여 일부 reg에 결과를 저장하고 MOV EAX, 계산 값을 사용 reg보다? 그냥 분명히하기 위해 출력이 동일 할 것입니다. 나는 사형 집행에 관심이있다.x86 어셈블러 질문
두 번째는 LEA 명령어에 관한 것입니다. 나는 그것이 무엇을하는지 알지만, 실제 명령을 더 많이 신경 써야합니다. 그래서 컴파일은 더 이상 그것을 변경하지 않고 단지 opcode로 만듭니다. 아니면 컴파일러를위한 의사 코드로 다시 컴파일하고 다시 컴파일합니다. .
내 책에 47-2 = 47 –