Tool Comparison: Difference between revisions

[unchecked revision][unchecked revision]
Content deleted Content added
m use cite extension
 
(3 intermediate revisions by 3 users not shown)
Line 22:
! [[GAS]]
| {{Yes}}
| {{Yes}}{{<ref|1}} name="note1" group="Note" />
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}{{<ref|2}} name="note2" group="Note" />
| {{Yes}}
| {{Yes}}{{<ref|3}} name="note3" group="Note" />
|-
! [[NASM]]
Line 40:
| {{Yes}}
| {{Yes}}
| {{Yes}}{{<ref|4}} name="note4" group="Note" />
|-
! [[YASM]]
Line 75:
| {{Yes}}
|-
! [[MASM]]{{<ref|5}} name="note5" group="Note" />
| {{No}}
| {{Yes}}
Line 84:
| {{Yes}}
| {{Yes}}
| {{Yes}}{{<ref|6}} name="note6" group="Note" />
|-
! [[Sol_asm]]
| {{No}}
| {{Yes}}{{ref|7}}
| {{Yes}}
| {{No}}
| n/a
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
|-
! [[WASM]]
| {{No}}
| {{Yes}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{Yes}}
| {{Yes}}
Line 131 ⟶ 120:
|}
 
<references group="Note">
*<ref {{note|1}} usingname="note1">Using the <code>.intel_syntax</code> directive. Several opcodes will still use the AT&T name.</ref>
* {{note|2}}<ref name="note2">While GAS normally writes only "pure" 32-bit i386 code, it has [http://sourceware.org/binutils/docs/as/i386_002d16bit.html limited support] for writing code to run in real mode or in 16-bit protected mode code segments.</ref>
* {{note|3}}<ref name="note3">You have to choose the instruction set at compile time (of the assembler). GAS can not assemble for more than one operating mode at a time, i.e. you would need one GAS for 32bit and one GAS for 64bit if you'd want to mix those two.</ref>
* {{note|4}}<ref name="note4">64-bit support is only available in NASM 2.x.</ref>
* {{note|5}} Because of the license it may be illegal to use MASM for "non-windows development"
* {{note|6}}<ref name="note5">64-bit support is only available in a separate executable, named ml64.</ref>
* {{note|7}}<ref name="note6">Sol_Asm uses its own syntax, which looks like the Intel syntax.</ref>
</references>
 
==Compilers==
Line 183 ⟶ 173:
| {{No}}
| {{No}}
| {{No}}<ref name="note7" group="Note" />
| {{No}}{{Ref|4}}
| {{Yes}}
| {{Yes}}
Line 219 ⟶ 209:
| {{Yes}}
| {{No}}
| {{Yes}} (incl. huge & unreal mode(l)s)<ref name="note8" group="Note" />
| {{Yes}}
| {{No}}
|}
 
<references group="Note">
* {{Note|4}}<ref name="note7">Visual Studio can emit <code>.COM</code> files.</ref>
<ref name="note8">Smaller C [https://github.com/alexfru/SmallerC/pull/25#issuecomment-516694067| wasn't really designed to properly support 16-bit and 64-bit CPUs].</ref>
</references>
 
==Linkers==