AS86

From OSDev Wiki
Jump to: navigation, search

This article is a stub! This page or section is a stub. You can help the wiki by accurately contributing 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

Personal tools
Namespaces
Variants
Actions
Navigation
About
Toolbox