Tuesday, 6 November 2007

Assembly language

An assembly language is a low-level language for programming computers. Assembly language is difficult and time consuming compared to high level language.

Typically a modern assembler creates object code . Assemblers are generally simpler to write than compilers for high-level languages. Understanding assembly language is intimately tied up with addressing modes, these are related to physical attributes.
If data is transferred from a source register to a destination register this is an example of register addressing. Immediate adddressing - where the data appears immediately. Direct Addressing refer directly to an address location
Indirect addressing - uses a number inside a registr to point out a memory location of interest.
Indexed addressing - a number contained in one register and can be used in combination

typical instructions

Instructions are made up of logical operations like OR AND or NOT shift left and right instructions.

Arithmetic operations

Typical arithmetic operations would be ADD, SUBTRACT,MULTIPLIACTION AND DIVISION.
The logical operation include and, or ,not and xor etc . These instructions operate in what is called a bitewise mode. The 'and' function is useful for masking.

Masking

When using the logical t and and or functions we can creeate a mask which either lets a pattern of bits through or blocks them.
Xor function is very similar to the or function.

shift functions
Logical shifts

No comments: