저는 x86/x64 CPU 명령에 대한 컴파일러를 작성하고 있는데 사람들이 '변위'주소로 의미하는 바를 파악할 수 없습니다. 예를 들어, Add 명령어는 여기에 자세히 나와 있습니다. http://www.c-jump.com/CIS77/CPU/x86/X77_0150_encoding_add_edx_displacement.htmx86/x64 변위 주소 지정 추가
난 그냥 일반 메모리 주소에 레지스터가 추가되는 add 명령어를 구현하려고합니다. 문제는 주소가 '변위 주소'라는 것입니다. 즉, 주소가 명령어 위치에서 오프셋 된 부호있는 값을 의미합니까?
어셈블리 코드를 생성합니까? C 코드를 생성 할 수 없습니까, 아니면 LLVM을 사용할 수 있습니까? 또는 http://code.google.com/p/asmjit/ 또는 다른 라이브러리로 기계 코드를 내 보냅니 까? x86/64 명령어 세트를 잘 이해하고 있습니까? 혹시 http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html –