AS86: Difference between revisions

From OSDev.wiki
Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content added Content deleted
m (Nothing suggests this has anything to do with GNU)
m (fixed a typo)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
{{Stub}}
{{Stub}}


AS86 is a lesser-known assembler, which uses the Intel syntax rather than the AT&T syntax more common amongst Unix-based assemblers. Despite being less well known, it is very similar to the more common assemblers in terms of its functionality. It differs in that there is little requirement for so-called "red tape" at the start of a source file, although there is limited support for macros (most notably jmp $ fails).
AS86 is a legacy assembler, once used to build ancient versions of Linux until [[GAS]] took over. It's based on Intel syntax rather than the AT&T syntax more common amongst Unix-based assemblers. Despite being less well known, it is very similar to the more common assemblers in terms of its functionality. It differs in that there is little requirement for so-called "red tape" at the start of a source file, although there is limited support for macros (most notably jmp $ fails).

The assembler often comes bundled with the rest of the bin86 toolchain, but as it is unmaintained and slowly disappearing it is recommended to use one of the more current Intel assemblers for new projects. Common alternatives are [[YASM]], [[NASM]] or [[FASM]].


== Usage ==
== Usage ==
AS86 allows the user to limit the available instructions to those available on a specific processor generation (e.g. 286, 386, etc.). One can also choose the assemble the standard input, which can be useful for automated build scripts.
AS86 allows the user to limit the available instructions to those available on a specific processor generation (e.g. 286, 386, etc.). One can also choose to assemble the standard input, which can be useful for automated build scripts.


It is very easy to prepare a flat binary using AS86 with the help of [[LD]], as one can simply run "ld86 -d" against the produced object file. Using this method it is also possible to link object files in various formats.
It is very easy to prepare a flat binary using AS86 with the help of [[LD]], as one can simply run "ld86 -d" against the produced object file. Using this method it is also possible to link object files in various formats.

Latest revision as of 15:46, 17 September 2016

This page is a stub.
You can help the wiki by accurately adding more contents to it.

AS86 is a legacy assembler, once used to build ancient versions of Linux until GAS took over. It's based on Intel syntax rather than the AT&T syntax more common amongst Unix-based assemblers. Despite being less well known, it is very similar to the more common assemblers in terms of its functionality. It differs in that there is little requirement for so-called "red tape" at the start of a source file, although there is limited support for macros (most notably jmp $ fails).

The assembler often comes bundled with the rest of the bin86 toolchain, but as it is unmaintained and slowly disappearing it is recommended to use one of the more current Intel assemblers for new projects. Common alternatives are YASM, NASM or FASM.

Usage

AS86 allows the user to limit the available instructions to those available on a specific processor generation (e.g. 286, 386, etc.). One can also choose to assemble the standard input, which can be useful for automated build scripts.

It is very easy to prepare a flat binary using AS86 with the help of LD, as one can simply run "ld86 -d" against the produced object file. Using this method it is also possible to link object files in various formats.

See Also

Articles