Tool Comparison
This is a comparison of various osdev tools
x86 Assemblers
Syntax | Output Format | Instruction Set | ||||||
---|---|---|---|---|---|---|---|---|
AT&T | Intel | elf | a.out | flat | 16 bit | 32 bit | 64 bit | |
gas | Yes | YesTemplate:Ref | Yes | Yes | Yes | YesTemplate:Ref | Yes | YesTemplate:Ref |
NASM | No | Yes | Yes | Yes | Yes | Yes | Yes | No |
Yasm | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes |
fasm | No | Yes | Yes | No | Yes | Yes | Yes | Yes |
Template:Note using .intel_syntax directive
Template:Note While GAS normally writes only "pure" 32-bit i386 code, it has limited support for writing code to run in real mode or in 16-bit protected mode code segments. See [Here]
Template:Note You have to choose the instruction set at compile time. GAS can not assemble for more than one operating mode at a time