Tool Comparison

From OSDev.wiki
Revision as of 02:46, 5 December 2006 by osdev>Jhawthorn
Jump to navigation Jump to search

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

Compilers

Extensions Output format
Inline Assembly ELF a.out flat PE
gcc Yes Yes Yes Yes Yes
Visual Studio Yes No No NoTemplate:Ref Yes

Template:Note Visual Studio can emit .COM files