3.16 Directives .X64 and .X64p

Asmc Macro Assembler

3.16 Directives .X64 and .X64p

These directives select a 64-bit (x86-64) cpu. In contrast to .X64, .X64p will allow to use privileged instructions.

The .X64 directive isn't needed usually, because for output formats WIN64 (see -win64) and ELF64 (see -elf64), .X64 is the default.

The .X64p directive is useful for mixed-model binaries or system software (see example DOS64 ).

When the cpu is set to 64-bit, the SEGMENT directive accepts a new 'size' value: USE64. It tells the assembler that this segment's offset is 64-bit wide and uses 64-bit instructions.

The SYSCALL calling convention is renamed to SYSCALL_ when 64-bit is on, because there exists a SYSCALL instruction mnemonic in this mode.