Tool Comparison: Difference between revisions
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 |
|||
⚫ | |||
! colspan="3" | Output Format |
|||
⚫ | |||
! colspan="3" | Instruction Set |
|||
|- |
|||
! |
|||
⚫ | |||
⚫ | |||
! elf |
! elf |
||
! a.out |
! a.out |
||
! flat |
! flat |
||
! 16 bit |
! 16 bit |
||
! 32 bit |
! 32 bit |
||
! 64 bit |
! 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