함수를 호출하기 전에 프로세서 레지스터 중 하나의 값을 수정해야하는 C로 작성한 응용 프로그램이 있습니다. 일반적으로 인라인 어셈블리를 사용하여이 작업을 수행하지만, 64 비트 응용 프로그램에서는 제거 된 것으로 알고 있습니다. 또한 특정 프로젝트 제약으로 인해 ml64로 컴파일 된 별도의 .asm 파일에서이 작업을 수행 할 수 없습니다. 그래서 기본적으로 다음 코드 인라인의 동등한를 실행해야합니다Visual Studio 2010 x64 __setReg 동등한 컴파일러 내장 함수
_asm mov r10d, 0xDEADBEEF
사람이 창조적 인 방법 또는 레지스터 인라인의 값을 수정할 수 64에 대한 고유 다른 컴파일러를 알고 있나요 ?
* 왜 * 등록을 변경해야합니까? 그리고 어떤 등록? –
그건 불가능합니다. 대안을 없앴습니다. –
여전히 기계어 코드를 배열에 넣고 기본 메모리를 실행 가능하게 만들고 실행할 수 있습니다. 창조적 인 방법에 대해 어떻습니까? –