# Microprocessor Tutorials

A **microprocessor** is a multipurpose, programmable, clock-driven, register-based electronic device that reads binary instructions from a storage device called memory, accepts binary data as input and processes data according to those instructions and provide results as output.

These are some assembly level programs for various problems in 8085 and 8086 microprocessors:

#### 8085 Basic –

- Pin diagram of 8085 microprocessor
- Registers of 8085 microprocessor
- Flag register in 8085 microprocessor
- Addressing modes in 8085 microprocessor
- Arithmetic instructions in 8085 microprocessor
- Logical instructions in 8085 microprocessor
- Data transfer instructions in 8085 microprocessor
- Branching instructions in 8085 microprocessor
- Reset Accumulator (8085 & 8086 microprocessor)
- Difference between CALL and JUMP instructions

#### 8085 Mathematical –

- 8085 program to add two 8 bit numbers
- 8085 program to add two 16 bit numbers
- 8085 program to add three 16 bit numbers stored in registers
- 8085 program to add 2-BCD numbers
- 8085 program to subtract two 8-bit numbers with or without borrow
- 8085 program to multiply two 8 bit numbers
- 8085 program to multiply two 8 bit numbers using logical instructions
- 8085 program to find sum of digits of 8 bit number
- 8085 program to find the sum of a series
- 8085 program to find the sum of first n natural numbers
- 8085 program to find the factorial of a number
- 8085 program to count number of once in the given 8-bit number
- 8085 program to count the number of ones in contents of register B
- 8085 program to count total even numbers in series of 10 numbers
- 8085 program to find square root of a number
- 8085 program to find 1’s and 2’s complement of 8-bit number
- 8085 program to find 1’s and 2’s complement of 16-bit number
- 8085 program to find 2’s complement of the contents of Flag Register
- 8085 program to find nth power of a number
- 8085 program to check whether the given number is even or odd
- 8085 program to find square of a 8 bit number
- 8085 program to find minimum value of digit in the 8 bit number
- 8085 program to find maximum and minimum of 10 numbers
- 8085 program to find larger of two 8 bit numbers
- 8085 program to find smallest number between two numbers
- 8085 program to find maximum of two 8 bit numbers
- 8085 program to reverse 8 bit number
- 8085 program to reverse 16 bit number

#### 8085 Misc –

- 8085 program to convert an 8 bit number into Grey number
- 8085 program to convert binary numbers to gray
- 8085 program to convert gray to binary
- 8085 program to convert 8 bit BCD number into ASCII Code
- 8085 code to convert binary number to ASCII code
- 8085 program to search a number in an array of n numbers
- Assembly language program to find largest number in an array
- 8085 program for bubble sort
- 8085 program to swap two 8-bit numbers
- 8085 program to swap two 8 bit numbers using Direct addressing mode
- 8085 program to swap two 16 bit numbers using Direct addressing mode
- 8085 program to exchange a block of bytes in memory
- 8085 program to access and exchange the content of Flag register with register B
- 8085 program to exchange content of HL register pair with DE register pair
- 8085 program to move blocks of bits from source location to a destination location
- 8085 program to generate Fibonacci series
- 8085 program to show masking of lower and higher nibbles of 8 bit number
- 8085 program to check whether the given 16 bit number is palindrome or not
- Assembly program to transfer the status of switches
- Differences between 8085 and 8086 microprocessor
- Interface 8255 with 8085 microprocessor for addition

#### 8086 Basic –

- Pin diagram of 8086 microprocessor
- General purpose registers in 8086 microprocessor
- Flag register of 8086 microprocessor
- Addressing modes in 8086 microprocessor
- Arithmetic instructions in 8086 microprocessor
- Logical instructions in 8086 microprocessor
- Data transfer instructions in 8086 microprocessor
- Process control instructions in 8086 microprocessor
- String manipulation instructions in 8086 microprocessor
- Program execution transfer instructions in 8086 microprocessor
- Reset Accumulator (8085 & 8086 microprocessor)
- Difference between CALL and JUMP instructions

#### 8086 Mathematical –

- 8086 program to add two 8 bit BCD numbers
- 8086 program to add two 16-bit numbers with or without carry
- 8086 program to add two 16 bit BCD numbers with carry
- 8086 program to add the content of one segment to another segment
- 8086 program to subtract two 8 bit BCD numbers
- 8086 program to subtract two 16 bit BCD numbers
- 8086 program to subtract two 16-bit numbers with or without borrow
- 8086 program to multiply two 8 bit numbers
- 8086 program to multiply two 16-bit numbers
- 8086 program to divide a 16 bit number by an 8 bit number
- 8086 program to find sum of Even numbers in a given series
- 8086 program to find sum of odd numbers in a given series
- 8086 program to find average of n numbers
- 8086 program to find the factorial of a number
- 8086 program to find Square Root of a number
- 8086 program to find the square root of a perfect square root number | Set-2

#### 8086 Misc –

- 8086 program to convert binary to Grey code
- 8086 program to convert an 8 bit BCD number into hexadecimal number
- 8086 program to convert ASCII to BCD number
- 8086 program to determine largest number in an array of n numbers
- 8086 program to find the min value in a given array
- 8086 program to sort an integer array in ascending order
- 8086 program for selection sort
- 8086 program to transfer a block of 4 bytes by using string instructions
- 8086 program to transfer a block of bytes by using string instruction
- Differences between 8085 and 8086 microprocessor
- Differences between 8086 and 8088 microprocessors
- 8255 microprocessor operating modes
- 8086 program to search a number in a string

If you like GeeksforGeeks and would like to contribute, you can also write an article and mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above