Tool Comparison: Difference between revisions

From OSDev.wiki
Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content deleted Content added
m fasm does not support the aout format..
Combuster (talk | contribs)
No edit summary
Line 11: Line 11:
! a.out
! a.out
! flat
! flat
! 16 bit instructions
! 32 bit instructions
! 64 bit instructions
|-
|-
! [[gas]]
! [[gas]]
Line 18: Line 21:
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| ?
| {{Yes}}
| {{Yes}}{{ref|2}}
|-
|-
! [[NASM]]
! [[NASM]]
Line 25: Line 31:
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{No}}
|-
|-
! [[Yasm]]
! [[Yasm]]
Line 32: Line 41:
| {{No}}
| {{No}}
| {{Yes}}
| {{Yes}}
| ?
| ?
| ?
|-
|-
! [[fasm]]
! [[fasm]]
Line 38: Line 50:
| {{Yes}}
| {{Yes}}
| {{No}}
| {{No}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
|}
|}


{{note|1}} using .intel_syntax directive
{{note|1}} using .intel_syntax directive

{{note|2}} You have to choose the instruction set at compile time. GAS can not assemble for more than one operating mode at a time

Revision as of 13:43, 30 November 2006

This is a comparison of various osdev tools

Assemblers

AT&T syntax Intel syntax elf a.out flat 16 bit instructions 32 bit instructions 64 bit instructions
gas Yes YesTemplate:Ref Yes Yes Yes ? Yes YesTemplate:Ref
NASM No Yes Yes Yes Yes Yes Yes No
Yasm Yes Yes Yes No Yes ? ? ?
fasm No Yes Yes No Yes Yes Yes Yes

Template:Note using .intel_syntax directive

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