The x86inc.asm assembly language uses NASM/YASM syntax combined with a large number of macros to provide easy abstraction between different x86 calling conventions.