Tool Comparison: Difference between revisions

From OSDev.wiki
Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content deleted Content added
GNU Assembler supports 16bit instructions.
cleaned up table
Line 1: Line 1:
This is a comparison of various osdev tools
This is a comparison of various osdev tools


==Assemblers==
==x86 Assemblers==
<!--I'll fix this later, this is just an example-->
<!--I'll fix this later, this is just an example-->
{| {{wikitable}}
{| {{wikitable}}
|-
|-
!
!
! colspan="2" | Syntax
! AT&T syntax
! colspan="3" | Output Format
! Intel syntax
! colspan="3" | Instruction Set
|-
!
! AT&T
! Intel
! elf
! elf
! a.out
! a.out
! flat
! flat
! 16 bit instructions
! 16 bit
! 32 bit instructions
! 32 bit
! 64 bit instructions
! 64 bit
|-
|-
! [[gas]]
! [[gas]]

Revision as of 06:34, 1 December 2006

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