What is Assembly Language? (original) (raw)

Last Updated : 23 Jul, 2025

When we talk about programming languages the first thing that comes to our mind is languages like C, C++, Java, Python, etc. But those languages hide the actual working i.e., that abstracts many things from users. But there is a language that really lies on basic concepts behind the programming or interaction between computer hardware.

What is Assembly Language?

Assembly language is a low-level language that helps to communicate directly with computer hardware. It uses mnemonics to represent the operations that a processor has to do. Which is an intermediate language between high-level languages like C++ and the binary language. It uses hexadecimal and binary values, and it is readable by humans.

Evolution of Assembly Language?

Assembly language has evolved hand in hand with advancements in computer hardware and the evolving needs of programmers. Here's a closer look at each generation:

**First Generation (1940-1950) :

**Second Generation (1950-1960) :

**Third Generation (1960-1970) :

**Fourth Generation (1970-1980) :

**Fifth Generation (1980-present) :

How Assembly Language Works?

Assembly languages contain mnemonic codes that specify what the processor should do. The mnemonic code that was written by the programmer was converted into machine language (binary language) for execution. An assembler is used to convert assembly code into machine language. That machine code is stored in an executable file for the sake of execution.

It enables the programmer to communicate directly with the hardware such as registers, memory locations, input/output devices or any other hardware components. Which could help the programmer to directly control hardware components and to manage the resources in an efficient manner.

How to execute Assembly Language?

Components of Assembly Language

Binary Number System

There are generally various types of number systems and among them the four major ones are,

Number-System

Number System

Binary Number System is a number system that is used to represent various numbers using only two symbols “0” and “1”. The word binary is start with prefix "bi" which means two so only two number that is 0 and 1 is used to represent any decimal number. Hence, this number system is called Binary Number System. Thus, the binary number system is a system that has only two symbols.

In a binary number system, we represent the number as,

28 27 26 25 24 23 22 21 20
256 128 64 32 16 8 4 2 1

Decimal to Binary:

For writing binary number of any decimal number then follow above table if number is less than 511.

**Example: Write binary number of 45.

Solution:

Step 1: Break decimal number in nearest smallest number into power of 2.

45=32+8+4+1

Step 2: From Highest number (i.e. 32) to end (i.e. 1) write 1 in table if number is present otherwise write 0.

So binary number of 45 is-101101

Hexadecimal Number System

**Hexadecimal Number System is a number system that is used to represent various numbers using 16 symbols that is from0 to 9 digits and A to F alphabet and itis a base-16 numeral system. 0 to 9 in decimal and Hexadecimal is same.

Decimal To Hexadecimal Table

Decimal Hex Decimal Hex Decimal Hex Decimal Hex
0 0 10 A 20 14 30 1E
1 1 11 B 21 15 31 1F
2 2 12 C 22 16 32 20
3 3 13 D 23 17 33 21
4 4 14 E 24 18 34 22
5 5 15 F 25 19 35 23
6 6 16 10 26 1A 36 24
7 7 17 11 27 1B 37 25
8 8 18 12 28 1C 38 26
9 9 19 13 29 1D 39 27

Hexadecimal numbers can easily converted to another form like Binary number system, Decimal number System, Octal number System and vice-versa. In this article we only focus to convert Hexadecimal to decimal and vice-versa.

Decimal to Hexadecimal Conversion:

Step 1: Take a input decimal value N.

Step 2: Devide N with 16 and store remainder.

Step 3: Again divide quotient with 16 obtain in Step 2 and store remainder.

Step 3: repeat Step 3 until Quotient become 0.

step 4: Write remainder in reverse order and this is the hexadecimal value of the number.

**Example : Convert 450 Decimal value into Hexadecimal.

step 1: N = 450.

Step 2: 450/16 gives Q = 28, R = 2.

Step 3: 28/16 gives Q = 1, R = 12 = C.

Step 4: 1/16 gives Q = 0, R = 1.

Step 5 : hexadecimal of 450 is 1C2.

Hexadecimal to Decimal Conversion

To convert Hexadecimal to Decimal multiply each digit by 16 to the power of its position starting from the right and the position of rightmost digit is 0 then add the result.

**Example: **Convert (A7B) 16 to decimal.

(A7B)16 = A × 162 + 7 × 161 + B × 160

⇒ (A7B)16 = 10 × 256 + 7 × 16 + 11 × 1 (convert symbols A and B to their decimal equivalents; A = 10, B = 11)

⇒ (A7B)16 = 2560 + 112 + 11

⇒ (A7B)16 = 2683

Therefore, the decimal equivalent of (A7B)16 is (2683)10.

Advantages of Assembly Language

Disadvantages of Assembly Language