Scenario:
A course module "Computer System" has been created to teach 200 enrolled students between the ages of 18 and 48 the basics of a computer system. The students are from both the undergraduate and postgraduate cohorts. 64 of the students are postgraduate with 12 inactive members and 31% female students. The undergraduate cohort has 42 inactive members and 37% female students.
The course has progressed to a point where students were paired in groups (A, B, & C) in order to complete the seminar and lab exercises. Students are still allowed to join any groups within the next 7 days. 21 more students joined groups A, B, & C before the deadline.
Write assembly language programs using NASM to perform the following functions:
1. Create an introductory message to introduce yourself to your cohort. In your statement, include three more pieces of information explaining your computing skill level, expectations, and the kind of colleagues you would like to work with throughout the term.
2. Create three groups: "SIMTech", "Smartstart", and "ProSystem", for students whose current age is an odd number, an even number, and for inactive students respectively.
3. Check if an enrolled student's age is divisible by 3 and 12. The program could print numbers in a loop.
Hint: You can prompt a user to input their age, then check if it is even or odd, or use the names of your group members or generate a random dataset.
4. Write a program to subtract the postgraduate cohort from the total number of students taking computer system courses and determine how many females are in their cohort.
5. Write a program that will assign groups to the 21 ungrouped students equally, if there are 3 functional groups with 12 students already in each. Then show the new numbers of the groups.
Note: A flowchart or state machine representation is required for questions 2, 3, and 5 programs.
Your assembly code must use NASM as an assembler. Not doing so will result in a mark of 0.