Assembly - Introduction 2
Assembly - Introduction 2
Assembly - Introduction
Each family of processors has its own set of instructions for handling various
operations such as getting input from keyboard, displaying information on screen
and performing various other jobs. These set of instructions are called 'machine
language instructions'.
A processor understands only machine language instructions, which are strings of 1's
and 0's. However, machine language is too obscure and complex for using in
software development. So, the low-level assembly language is designed for a specific
family of processors that represents various instructions in symbolic code and a
more understandable form.
https://www.tutorialspoint.com/assembly_programming/assembly_introduction.htm 1/6
6/15/24, 3:46 PM Assembly - Introduction
The fundamental unit of computer storage is a bit; it could be ON (1) or OFF (0) and
a group of 8 related bits makes a byte on most of the modern computers.
So, the parity bit is used to make the number of bits in a byte odd. If the parity is
even, the system assumes that there had been a parity error (though rare), which
might have been caused due to hardware fault or electrical disturbance.
The following table shows the positional values for an 8-bit binary number, where all
bits are set ON.
Bit value 1 1 1 1 1 1 1 1
Position value as a
128 64 32 16 8 4 2 1
power of base 2
Bit number 7 6 5 4 3 2 1 0
The value of a binary number is based on the presence of 1 bits and their positional
value. So, the value of a given binary number is −
https://www.tutorialspoint.com/assembly_programming/assembly_introduction.htm 2/6
6/15/24, 3:46 PM Assembly - Introduction
which is same as 28 - 1.
0 0 0
1 1 1
2 10 2
3 11 3
4 100 4
5 101 5
6 110 6
7 111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
https://www.tutorialspoint.com/assembly_programming/assembly_introduction.htm 3/6
6/15/24, 3:46 PM Assembly - Introduction
15 1111 F
To convert a hexadecimal number to binary, just write each hexadecimal digit into its
4-digit binary equivalent.
Binary Arithmetic
The following table illustrates four simple rules for binary addition −
0 1 1 1
+0 +0 +1 +1
=0 =1 =10 =11
Rules (iii) and (iv) show a carry of a 1-bit into the next left position.
Example
Decimal Binary
60 00111100
+42 00101010
102 01100110
https://www.tutorialspoint.com/assembly_programming/assembly_introduction.htm 4/6
6/15/24, 3:46 PM Assembly - Introduction
Example
Number 53 00110101
Add 1 00000001
To subtract one value from another, convert the number being subtracted to two's
complement format and add the numbers.
Example
Subtract 42 from 53
Number 53 00110101
Number 42 00101010
Add 1 00000001
53 - 42 = 11 00001011
The processor may access one or more bytes of memory at a time. Let us consider a
hexadecimal number 0725H. This number will require two bytes of memory. The
high-order byte or most significant byte is 07 and the low-order byte is 25.
https://www.tutorialspoint.com/assembly_programming/assembly_introduction.htm 5/6
6/15/24, 3:46 PM Assembly - Introduction
The processor stores data in reverse-byte sequence, i.e., a low-order byte is stored
in a low memory address and a high-order byte in high memory address. So, if the
processor brings the value 0725H from register to memory, it will transfer 25 first to
the lower memory address and 07 to the next memory address.
x: memory address
When the processor gets the numeric data from memory to register, it again
reverses the bytes. There are two kinds of memory addresses −
https://www.tutorialspoint.com/assembly_programming/assembly_introduction.htm 6/6