Open2
x86_64機械語・JITメモ
オフィシャル
- Intel SDM: Intel® 64 and IA-32 Architectures Software Developer Manuals
- Unixの呼び出し規約:x86 psABIs / x86-64 psABI · GitLab
- Windowsの呼び出し規約:x64 ABI conventions | Microsoft Learn
チュートリアル
JIT
-
GCC:
__builtin___clear_cache
- x86ではno-opだが、memory barrierとして機能する。参考:https://stackoverflow.com/questions/35741814/how-does-builtin-clear-cache-work#comment85964322_35741869
-
FlushInstructionCache
: FlushInstructionCache function (processthreadsapi.h) - Win32 apps | Microsoft Learn
各種ツールでIntel syntaxを使う方法
- objdump:
-Mintel
オプション - lldb:
-O 'settings set target.x86-disassembly-flavor intel'
オプション(または起動後にsettings set target.x86-disassembly-flavor intel
コマンド) - assembly source:
.intel_syntax noprefix
ディレクティブ - GCC/Clang:
-masm=intel
またはClangなら--x86-asm-syntax=intel