Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/amey-thakur/8086-assembly-language-programs
- Owner: Amey-Thakur
- Created: 2022-02-17T10:34:01.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-03-13T16:17:21.000Z (8 months ago)
- Last Synced: 2024-10-12T20:42:49.802Z (about 1 month ago)
- Topics: 8086, 8086-programs, amey, ameythakur, asm, assembly-8086, assembly-language, assembly-language-programming, computer-engineering, computer-science, engineering, microprocessor, microprocessor-programming
- Language: Assembly
- Homepage: https://github.com/Amey-Thakur/MICROPROCESSOR-AND-MICROPROCESSOR-LAB
- Size: 49.8 KB
- Stars: 91
- Watchers: 2
- Forks: 14
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
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 👈🏻