This project demonstrates low-level data processing and memory management using 8086 Assembly Language. Developed for the Computer Organization and Architecture course, the program executes complex data tasks directly on the microprocessor level, emphasizing modular code structure and efficient use of CPU registers.
The program processes numerical data stored in memory through three primary operations:
- Even Number Filtering: Scans an array (
num1), identifies even numbers using bitwise logic, and stores them in a new memory location (even). - Statistical Averaging: Calculates the arithmetic mean of the filtered numbers using dedicated summation and division subroutines.
- Descending Sorting: Implements a sorting algorithm to arrange a second dataset (
num2) in descending order, showcasing logical comparison and memory swapping.
- Modular Subroutines: Distinct routines (
EvenNum,sum,average,DecOrder) were developed to ensure clean and reusable code. - Stack Management: Utilizes
PUSHandPOPoperations to manage local data within subroutines and preserve the state of CPU registers. - Register Manipulation: Direct use of
AX,BX,CX,DI, andBPregisters for high-speed data processing and indexing.
code: The complete source code for the 8086 microprocessor.Documentation/: Full project report (COA_Project_Report.pdf) featuring logic flow and execution screenshots.Presentation/: Slides summarizing the project's technical architecture.
Developed by Computer Science students at King Faisal University:
- Atekah Hussain Aljafar
- Fatimah Nasser Albesher
- Fatimah Hussain Alabdellah
- Supervised by: Engr. Amani Bayer
Connect with me on LinkedIn for more projects! https://www.linkedin.com/in/ateka-hussain/