A list of 8086 assembly projects solutions for Microprocessors course (CC421N) at Faculty of Engineering, Alexandria University.
- Project List
- Project #0: Classroom grading
- Project #1: Car waiting meter
- Project #2: Packet transmission control
- Project #3: Security Lock
- Project #4: Monoalphabetic Substitution Encryption:
- Project #5: Marathon results:
- Project #6: Traffic light control
- Project #7: Heater Alarm
- Project #8: ATM Machine
- Project #9: Mononumeric substitution encryption:
- Remarks
- Contribute With your Code!
- Contributors
A classroom has 25 students. It is required to rearrange them in descending order according to their grades in the microprocessor course.
The inputs are two tables. The first table contains the student number and the second one contains their grades.
The outputs are two tables. The first one contains the student number arranged according to their grades and the second table shows these grades.
In the car parking, a car waiting meter is used. The driver puts a certain amount of money and this meter will allow him to park his car for a specific time.
The price list is as follows:
1 pound → 5 sec, 5 pound → 30 sec, 10 pound → 60 sec.
If the time is expired, a red led will turn on.
The input is the amount of money.
The output is LED turned red if time is expired.
Consider the maximum capacity of a network is 128 packets. The user starts his packets transmission by 1 packet. Then he/she increases the number of packets according to the following rules:
If the number of transmitted packets < 64 packets, the number will be doubled.
If the number of transmitted packets ≥ 64 packets, the number will be increased by 1.
If the number of transmitted packets = 128 packets, the user will start over and transmit 1 packets and repeat the previous rules.
The input is the size of the transmitted file.
The output is the number of Transmissions used to transmit this file.
In the bank, a security lock is used to access some rooms. This lock accepts two inputs: the employee identification number (16 bits) and his/her password (4 bits). If the bank has 20 employees, construct their database and store it in the memory. Then write a program to access these rooms.
The inputs of the program are the employee identification and the password.
The output is one bit (0/1) that means (denied/allowed).
In the monoalphabetic substitution encryption, each alphabetic letter is substituted by another letter according to the following table:
Plain Text
a b c d e f g h i j k l m n o p q r s t u v w x y z
Cipher Text
q w e r t y u i o p a s d f g h j k l z x c v b n m
Construct this table and store it in the memory.
Write a program that allowed you to enter a plain text message, encrypt this message using the stored table, then decrypt the cipher text to obtain the original text message.
Omit any space between words in your message.
25 players are participated in a marathon. Their numbers and time in which they completed the marathon are stored in the memory. It is required to rearrange them in ascending order to find the winner.
The inputs are two tables. The first table contains the player number and the second one contains their recorded time.
The outputs are two tables. The first one contains the player number arranged according to their times and the second table shows these times.
Write a program to control the time of the traffic lights. The red and green signals should be on for 3 minutes. The yellow signal should be on for 1 minute.
Consider a boiler in a petrochemical factory. Its temperature is measured every 3 minutes. If the temperature <= 200ºC, a green led will turn on.
If the 200 < temperature < 500ºC, a yellow led will turn on.
If the temperature >= 500ºC, a red led will turn on.
Write a program that reads the temperature every 3 minutes and shows the LED condition.
In ATM machine, an electronic lock circuit is used to authorize the card. This circuit has two input codes: The card number that consists of 16 bits and the password that consists of 4 bits. If the bank has 20 customers only uses the cards.
Construct their database and store it in the memory. Then write a program for card authorization. The inputs of the program are the card number and the password.
The output is one bit (0/1) that means (denied/allowed).
In the monoalphabetic substitution encryption, each alphabetic letter is substituted by another letter according to the following table:
Plain text
a b c d e f g h i j k l m Cipher text
1 2 3 4 5 6 7 8 9 10 11 12 13
Plain text
n O p q r s t u v w x y z
Cipher text
14 15 16 17 18 19 20 21 22 23 24 25 26
Construct this table and store it in the memory.
Write a program that allowed you to enter a text message, encrypt this message using the stored table, then decrypt the cipher text to obtain the original text message.
Omit any space between words in your message.
- These assembly programs were run and tested on the x86 emulator emu8086.
- You can find a README file for every project describing it in further detail
- Make sure to checkout the amazing contributors down in the contributors section :)
Please make sure to do the following upon submitting a PR:
- Follow the same file naming format. ie: Project #(Number) - (Project Name)
- Add a README with at least an explanation of the implemented concept. ( the more info you add the more helpful it is :) )
- If the project already exists in the repo specify that this is another implementation in the file name. ie: Project #(number) [Another Implementation] - (Project Name)
- Most importantly, make sure to have tested the code thoroughly before submitting the PR.
-
Yousef Kotp (Project 0,2,5)
-
Adham Mohamed (Project 4)
-
Mohammed Battawy (Project 6)
-
Ahmed Hany (Project 8)
-
Abdelrahman ElAttar (Project 1)
-
Ahmad Hazem (Project 3)
-
Farah Nawar (Project 9)
-
Yousef Walid (Project 7)