Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/amey-thakur/8086-assembly-language-programs

Assembly Language Programming on 8086
https://github.com/amey-thakur/8086-assembly-language-programs

8086 8086-programs amey ameythakur asm assembly-8086 assembly-language assembly-language-programming computer-engineering computer-science engineering microprocessor microprocessor-programming

Last synced: about 1 month ago
JSON representation

Assembly Language Programming on 8086

Awesome Lists containing this project

README

        

# 8086-ASSEMBLY-LANGUAGE-PROGRAMS

👍🏻 Assembly Language Programming on 8086

- [X] **CSL501: [MICROPROCESSOR LAB](https://github.com/Amey-Thakur/MICROPROCESSOR-AND-MICROPROCESSOR-LAB)**

---

## Arithmetic

- [Addition of two 8-bit numbers](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Arithmetic/add_8b_2.asm)

- [Subtraction of two 8-bit numbers](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Arithmetic/sub_8b.asm)

- [Multiplication of two 8-bit numbers](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Arithmetic/multiply_8b.asm)

- [Division of 16-bit with 8-bit number](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Arithmetic/divide_16b_by_8b.asm)

- [Addition of two 16-bit numbers](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Arithmetic/add_8b_16b.asm)

- [Multiplication of two 32-bit numbers](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Arithmetic/multiply_2_32b.asm)

- [Sum of n 8-bit numbers](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Arithmetic/Sum_of_n_8b.asm)

- [Print Array](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Arithmetic/print_array.asm)

- [Load Effective Address](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Arithmetic/lea.asm)

- [Offset](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Arithmetic/offset.asm)

- [Count number of 1s in a Binary number](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Arithmetic/count_1s.asm)

- [Find the largest number among 5 grades](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Arithmetic/find_largest.asm)

- [Add 16-bit with carry](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Arithmetic/add_16b_carry.asm)

- [Add 16-bit BCD](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Arithmetic/add_16b_bcd.asm)

- [Decimal Adjust after addition](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Arithmetic/daa.asm)

- [Add a series of 10 bytes stores in the memory from locations 20,000H to 20,009](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Arithmetic/add_in_memory.asm)

- [Multiply two 16-bit unsigned numbers stored at Memory locations 45,000H and 45,002H](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Arithmetic/multiply_in_memory.asm)

## Conversion

- [ALP for conversion of 16-bit HEX number into its equivalent BCD number](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Conversion/hex_bcd.asm)

- [ALP for conversion of 16-bit BCD number into its equivalent HEX number](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Conversion/bcd_hex.asm)

- [ALP for conversion BCD number 7-Segment String](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Conversion/seven_segment.asm)

- ALP to copy the string of successive memory locations from one memory to other - [Using string instructions](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Conversion/copy_string_instruction.asm) & [Without using string instruction](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Conversion/copy_without_string_instruction.asm)

- [Compare two strings](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Conversion/compare_strings.asm)

- [Reverse a number](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Conversion/reverse_number.asm)

- [Decimal to binary](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Conversion/decimal_to_binary.asm)

- [Decimal to octal](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Conversion/decimal_to_octal.asm)

- [Hexadecimal to decimal](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Conversion/hex_to_decimal.asm)

## Expression

- [ALP to find the Greatest Common Divisor of two unsigned integer](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Expression/gcd_two.asm)

- [ALP to find the Sum and Average of unsigned integer](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Expression/sum_average_unsigned.asm)

- [Develop and Execute an ALP to Compute Factorial of a positive integer number using recursive procedure](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Expression/fact.asm)

- [Transfer string from one memory location to another](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Expression/copy_string_memory_location.asm)

- [Count vowels in a word](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Expression/count_vowels.asm)

- [Calculate power(a,b) i.e a^b](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Expression/power.asm)

- [Average of values stored in an array](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Expression/average_sum_array.asm)

- [Find Reverse of an array](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Expression/reverse_array.asm)

- [Prompts the user to enter an array and displays it](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Expression/prompt_user_array%2Bdisplay.asm)

- [Find largest number in memory location](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Expression/finding_largest_number_memory.asm)

- [Check if number is even or odd](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Expression/check_number_even_odd.asm)

- [Check if given number is prime](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Expression/given_number_prime.asm)

- Fibonacci Sequence - [Fibonacci I](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Expression/fibonacci.asm) | [Fibonacci II](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Expression/fibonacci2.asm) |[Fibonacci III](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Expression/fibonacci3.asm)

- [Concatenation of strings](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Expression/concatenation_string.asm)

- [Check if string contains substring](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Expression/substring_in_string.asm)

- [Count number of words](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Expression/count_words.asm)

## External Add-on Devices

>**Note: All the given programs must be emulated using emu8086 only.**

- Traffic Lights - [Traffic Light I](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/External%20Devices/traffic_lights.asm) | [Traffic Light II](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/External%20Devices/traffic_lights2.asm)

- [LED Display](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/External%20Devices/LED_display_test.asm)

- [Stepper Motor](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/External%20Devices/stepper_motor.asm)

- [Thermometer](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/External%20Devices/thermometer.asm)

- [Robot](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/External%20Devices/robot.asm)

- [Timer](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/External%20Devices/timer.asm)

- [Keyboard](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/External%20Devices/keyboard.asm)

- [Mouse](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/External%20Devices/mouse.asm)

## Introduction

- [Hello World VGA](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Introduction/1_hello_world_VGA.asm)

- [Program to print Hello world using DOS interrupt function](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Introduction/2_hello_world_dos.asm)

- [Hello World String](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Introduction/3_hello_world_string.asm)

- [Display Characters](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Introduction/4_display_characters.asm)

- [Display String](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Introduction/5_display_string.asm)

- [Keyboard Wait](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Introduction/6_keyboard_wait.asm)

- [Mov Instruction](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Introduction/7_mov_instruction.asm)

- [Define Byte](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Introduction/8_define_byte.asm)

- [Program to print Hello World using a procedure](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Introduction/9_hello_world_proc.asm)

- [Procedure](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Introduction/10_proc.asm)

- [Procedure Multiply](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Introduction/11_proc_multiply.asm)

- [Procedure Hello World](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Introduction/12_proc_hello_world.asm)

- [Interrupt Hello World](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Introduction/13_interrupt_hello_world.asm)

- [Display Time](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Introduction/14_display_time.asm)


## Procedures

- [program to create a simple multiplication procedure](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Procedures/myfirstproc.asm)

## Searching

- [Develop and execute ALP that implements Binary search algorithm](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Searching/binary_search.asm)

- [Develop and execute ALP that implements Linear search algorithm](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Searching/linear_search.asm)

- [An Assembly Language Program to search for a character in a given string and calculate the number of occurrences of the character in the given string](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Searching/occurences_character_count.asm)

- [Search Element in an Array](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Searching/search_element_array.asm)

## Simulation

- Emulate a fire monitoring system on emu8086 for the following specifications: [SOURCE CODE](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Simulation/fire_monitoring_system.asm)
* Define the threshold for the temperature of two rooms
* Generate the temperature value in 8b resolution
* Switch on the alarm and display an alarm message when the threshold of either of the room is reached
* Remove the alarm and bring the temperature below the threshold

- Design and Emulate a smart automation system for a garment manufacturing unit with the following requirements: [SOURCE CODE](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Simulation/garment_defect.asm)
* To detect all possible defects
* To remove the defective pieces
* To provide comprehensive inventory report

- Emulate water level controller on emu8086 for the following Specifications: [SOURCE CODE](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Simulation/water_level_controller.asm)
* No. of water levels in the overhead tank is 8
* Display the current level of water with a buzzer
* Switch on the motor if the water level is 1
* Switch off the motor if the water level is 8
* Switch on the buzzer on water overflow

## Sorting

- [An Assembly Language Program sort a given series in ascending order in Assembly Language](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Sorting/array_ascending.asm)

- [An Assembly Language Program sort a given series in descending order in Assembly Language](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Sorting/array_descending.asm)

- [ALP to Sort a set of unsigned integer numbers in ascending/descending order using Bubble sort algorithm](https://github.com/Amey-Thakur/8086-ASSEMBLY-LANGUAGE-PROGRAMS/blob/main/Sorting/bubble_sort.asm)

---

👉🏻 Created to Learn Assembly Language Programming on 8086 👈🏻



✌🏻 Back To Engineering ✌🏻