[an error occurred while processing the directive]
RSS
Логотип
Баннер в шапке 1
Баннер в шапке 2
2010/05/19 13:39:58

Assembler

The assembler (from assembler  — the worker-collector)  — the computer program, the compiler of a source text of the program written in assembler language in the program on machine code.

Content


As well as language (assembler), assemblers are, as a rule, specific to specific architecture, the operating system and option of a language syntax. At the same time exist, multiplatform or at all universal (more precisely, limited and universal because in language of the low level it is impossible to write hardware-independent programs) assemblers which can work at different platforms and operating systems. Among the last it is also possible to select group of the cross-assemblers capable to collect machine code and the performed modules (files) for other architecture and OS.

Assembling can be neither the first, nor the last stage on the way of receiving the performed program module. So many compilers from programming languages of the high level issue result in the form of the assembly language program which in dalsheyshy is processed by the assembler. Also, the object module containing the pieces of machine code separated and not attached to each other and data of the program from which (or from several object modules) the performed module, using the program binder can be grouped further (or "linker") can be result of assembling not performed, and.

Architecture of x86

Assemblers for DOS

The most known assemblers for the DOS operating system were Borland of the Turbo Assembler (TASM), Microsoft Macro Assembler (MASM), and Watcom Assembler (WASM). Also in due time simple A86 assembler was popular.

Microsoft Windows

At emergence of the Microsoft Windows operating system there was a TASM expansion which is referred to as TASM32, allowed to create programs for accomplishment in the environment of Windows. The last known version of Tasm  — 5.3, supporting instructions MMX, is at the moment included in the Turbo C ++ by Explorer. But officially development of the program is completely stopped.

Microsoft supports the product under the name Microsoft Macro Assembler. It continues to develop to this day, the latests version are included in the DDK sets. But the version of the program directed to creation of programs for DOS does not develop. Besides, Stephen Hatchesson created a packet for programming on MASM under the name "MASM32".

GNU and GNU/Linux

GNU Is a part of the operating system compiler gcc, the including assembler gas (GNU Assembler) using AT&T syntax unlike the majority of other popular assemblers which use Intel syntax.

Transferable assemblers

Also there is an open project of the assembler which versions are available under different operating systems and which allows to receive object files for these systems. This NASM assembler (Netwide Assembler) is called.

YASM is the version of NASM rewritten from scratch under the license BSD (with some isklyuchenyam).

FASM (Flat Assembler)  is the young assembler under modified for relicensing prohibition (including under GNU GPL) Bsdlitsenziyey. There are versions for KolibriOS, GNU/Linux, MS-DOS and Microsoft Windows, uses Intel syntax and supports instructions AMD64.

Architecture of RISC

MCS-51

8051  — classical architecture of the microcontroller. For it there is an ASM51 cross-assembler released by MetaLink corporation.

AVR

At the moment there are 2 compilers of production of Atmel (AVRStudio 3 and AVRStudio4). The second version  — attempt to correct not really successful the first. Also the assembler is as a part of WinAVR.

ARM

AVR32

MSP430

PowerPC

Architecture of MISC

SeaForth

Assembling and compilation

It is accepted to call process of broadcast of the assembly language program in the object code assembling. Unlike compilation, assembling  — more or less unambiguous and reversible process. In assembler language to each mnemonic one machine instruction while a large number of different instructions can disappear in programming languages of the high level behind each expression sootvetvetstvut. In principle, this division is rather conditional therefore sometimes broadcast of assembly programs is also called compilation.

See Also

Literature

  • Vostrikova Z. P. Programming is always on the lips the assembler of the EU of a computer, M.: Science, 1985.
  • Galiseev G.  V.  The assembler for Win 32. Self-instruction manual.  — M.: "Dialectics", 2007.  — Page 368.  — ISBN 978-5-8459-1197-1
  •  Zubkov S. V.  The assembler for DOS, Windows and UNIX.
  • Earvin Yazyk's kip of the assembler for Intel processors = Assembly Language for Intel-Based Computers.  — M.: Williams, 2005.  — Page 912.  — ISBN 0-13-091013-9
  • Magda Yu. S. Assembler. Development and optimization of Windows applications, SPb.: BHV-St. Petersburg, 2003.
  • Norton P., Soukhe D. Yazyk of the assembler for IBM PC, M.: Computer, 1992.
  • Singer M. PDP-11 mini computer: Programming is always on the lips the assembler and the organization of the machine, M.: World, 1984.
  • Scanlon L. Personal computers of IBM PC and XT. Programming is always on the lips the assembler, M.: Radio and communication, 1989.
  • Yurov V., Horoshenko S. Assembler: training course.  — SPb.: St. Petersburg, 2000.  — Page 672.  — ISBN 5-314-00047-4
  • Yurov V.I. Assembler, Prod. 2, the textbook for universities, SPb.: St. Petersburg, 2004.
  • Yurov V.I. Assembler. Practical work, Prod. 2, the textbook for universities, SPb.: St. Petersburg, 2004.
  • Yurov V.I. Assembler. Special reference book, SPb.: St. Petersburg, 2000.

Links