Assembler
An assembler is a computer program for translating assembly language -
essentially, a mnemonic representation of machine language - into object
code. A cross assembler (see cross compiler) produces code for one
processor, but runs on another.
As well as translating instruction mnemonics into opcodes, assemblers
provide the ability to provide symbolic names for memory locations (saving
tedious calculations and manually updating addresses when a program is
slightly modified), and macro facilities for performing textual substitution
- typically use to encode common short sequences of instructions to run
inline instead of in a subroutine.
Assemblers are far simpler to write than compilers for high-level languages,
and have been available since the 1950s. Modern assemblers, especially for
RISC based architectures, such as MIPS, SPARC and HP Precision optimize
instruction scheduling to exploit the CPU pipeline efficiently. Most
assemblers are 'macro assemblers', which allow complex macro constructs.
High-level assemblers provide high-level-language abstractions such as
advanced control structures, high-level procedure/function declarations and
invocations, and high-level abstract data types including
structures/records, unions, classes, and sets.
Hundreds of assemblers have been written; some notable ones include:
* A56 - for Motorola DSP56000 and DSP56001
* FAP - for IBM 700/7000 series
* FASM - open source IA-32 assembler
* GNU Assembler (GAS) - open source, available for many architectures
* MASM - x86 assembler from Microsoft
* NASM - open source x86 assembler
* TASM - x86 assembler from Borland
----------------------------------------------------------------------------
In nanotechnology, an assembler is a construction machine that manipulates
and builds with individual atoms or molecules. One of the prime goals of
long-term nanotech research is the production of a programmable
self-replicating assembler. This is a device which can make a complete copy
of itself given raw materials and energy. After sufficient quantities of
assemblers are available, they are then re-programmed to produce something
useful.
Nature abounds with self-replicating assemblers called bacteria, however
they are not easily programmable. Some progress has been made in this area,
where researchers have inserted genes for a particular protein into a
bacteria. One of the first examples of this is the immune-system hormone
interferon.
This content from Wikipedia is licensed under the GNU Free Documentation License.
|
|