2013-05-20 2 views
-2

32 비트 버전의 컴파일 된 프로그램 (어셈블리 코드를보고있는 것)에서 어떤 모습인지 알면 64 비트 버전의 프로그램에서 동일한 내용이 수행되는 64 비트 명령어를 어떻게 찾을 수 있습니까? 64 비트 인 것은) 그렇지 않으면 동일한없이 추가 된 기능입니다해당 32 비트 카운터 파트에서 64 비트 어셈블리 코드의 해당/해당 변환을 찾는 방법은 무엇입니까?

명은 어떻게 든 대답을 아래에있는 설명서를 배울 제안 : http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html

을하지만 문제는 나는 그들이 암시하는 어떤 단서가없는 것입니다, 이 예제가 어떻게 보이는지 보여줄 수있는 예제/샘플이 있습니까?

기본적으로 32 비트 버전의 프로그램에서 일련의 행을 가져 와서 64 비트 코드로 수동 변환하여 64 비트 버전에서 해당 섹션을 찾을 수 있습니까?

답변

1

"번역 한"경우에도 일대일 대응을 찾기가 쉽지 않습니다. x64에는 제한을 부과하는 추가 레지스터, 추가 주소 지정 체계, 다른 구조 및 데이터 크기 및 정렬 요구 사항이 있습니다. 컴파일러가 수행하는 최적화 작업을 추가하면 제안한 작업을 수행 할 가능성이 거의 없습니다.

call 근처의 지침을 찾고 해당 대상 또는 고유 한 (또는 희소 한) 상수로 식별하여 힌트를 얻을 수 있습니다.

모두 정확하게 말하면 무엇을 달성하려고합니까? 문제는 무엇입니까? 해결하려고합니까?

관련 문제