go back languages indexgo to home pagesearch this site
click on home button to open mainpage

Assembler

1952, USA/UK/DE


creator(s)


papers & manuals
n.a.

software
.

keywords

Description

ASSEMBLER

Assembler is the oldest programming language. It was developed because programmers soon grew tired of entering endless columns of 1's and 0's. This diminished the high risk of making one tiny mistake of misplacing a 1 for a 0. Assembler uses MNEMONICS: a sort of abbreviations for commands. These mnemonics are better to understand and to read for a human than a bit string. (e.g. "0101011100011111" what stands for "MOV AX 1111"; move into register AX the value of 1111).
The mnemonics are later translated into the appropriate machine commands. With this language the programmer is very close to the machine's very nature, no other language is that close to the raw core of a processor. For each processor family there is its own Assembler. For PC's (the 80x86 family) is the best known assembler is MASM (Macro Assembler) of Microsoft. The code size as well as the run time speed of a programme are only to optimize in machine code itself. An empty programme generates no code because Assemblers contrary to the high level languages are not dependant of a run time library. The degree of programme optimalization depends highly on the programmer's skill and knowledge. Todays powerful compilers make that there are a few areas to which Assemblers are confined: System programming; Time critical applications; Code Optimizing; TSR (Terminate Stay Resident) programming. Learning Assembler is not easy because the full responsibility stays with the programmer and the system accordingly crashes if the programmer makes any mistake. The basic command set is depending on the chip family in use and comprises for the 80x86 family about 100+ commands. For each next generation there are more commands added and older commands expanded or improved. With it there are various addressing modes which will confuse the beginning programmer. It is specifically for this language that the greater freedom in programming must be bought at the cost of more complexity and responsibility for the programmer.

Assembler is a language that lends itself very well to complement the higher programming languages for those that want to extract more power out of their machine. To apply Assembler one must be familiar with system calls, the BIOS (Basic Input Output System) and use the specific possibilities in order to be able to run the same programmes on other machines with the same operating system. One of the disadvantages is the diminished portability to other computer systems. This is beginning with the dependability on the operating systems (when used) via the BIOS up to the processor. Within a certain family of processors (e.g. INTEL 80XXX) those problems do not exist.

Specifications

see above

 

Chronology

1952 first issue

 

 

 

bar

Go Back Updated on January 16, 2006 For suggestions please mail the editors 


Footnotes & References