AS86

From OSDev.wiki
Jump to navigation Jump to search
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