Tool Comparison: Difference between revisions
Jump to navigation
Jump to search
[unchecked revision] | [unchecked revision] |
Content deleted Content added
No edit summary |
|||
Line 13: | Line 13: | ||
! [[Assembly#AT&T Syntax|AT&T]] |
! [[Assembly#AT&T Syntax|AT&T]] |
||
! [[Assembly#Intel Syntax|Intel]] |
! [[Assembly#Intel Syntax|Intel]] |
||
! |
! [[ELF]] |
||
! a.out |
! [[a.out]] |
||
! flat |
! flat |
||
! 16 bit |
! 16 bit |
||
Line 66: | Line 66: | ||
{{note|3}} You have to choose the instruction set at compile time. GAS can not assemble for more than one operating mode at a time |
{{note|3}} You have to choose the instruction set at compile time. GAS can not assemble for more than one operating mode at a time |
||
==Compilers== |
|||
{| {{wikitable}} |
|||
|- |
|||
! |
|||
! Extensions |
|||
! colspan=4 | Output format |
|||
|- |
|||
! |
|||
! Inline Assembly |
|||
! [[ELF]] |
|||
! [[a.out]] |
|||
! flat |
|||
! [[PE]] |
|||
|- |
|||
! gcc |
|||
| {{Yes}} |
|||
| {{Yes}} |
|||
| {{Yes}} |
|||
| {{Yes}} |
|||
| {{Yes}} |
|||
|- |
|||
! Visual Studio |
|||
| {{No}} |
|||
| {{No}} |
|||
| {{No}} |
|||
| {{No}} |
|||
| {{Yes}} |
|||
|} |
Revision as of 04:19, 2 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
Compilers
Extensions | Output format | ||||
---|---|---|---|---|---|
Inline Assembly | ELF | a.out | flat | PE | |
gcc | Yes | Yes | Yes | Yes | Yes |
Visual Studio | No | No | No | No | Yes |