Assembly Language

From Citizendium
Revision as of 19:08, 11 March 2007 by imported>Markus Baumeister (linkified and some improvements)
Jump to navigation Jump to search

Assembly Language is a method of abstracting machine code instructions for a computer into commands recognizable by a human. Instead of dealing directly with bit sequences, programmers write programs in assembly by generating blocks of code using a small set of keywords (which are mapped to machine instructions by an assembler).

An example Hello World program written in pseudo-assembly for a MSDOS-based system is listed below. Original source: Assembly Language for the IBM-PC.


.data hello_message db 'Hello, World!',0dh,0ah,'$'

.code main proc

 mov ax,@data
 mov ds,ax
 mov ah,9
 mov dx,offset hello_message
 int 21h
 mov ax,4C00h
 int 21h

main endp end main


Assembly programs are much easier to understand than their corresponding machine code instruction streams, which are just numbers, but they are much more difficult to comprehend than, higher-level programming languages like, for example, PHP.