MCD4700 Diploma of Information
Technology
1
MCD4700 Introduction to Computer Systems,
Networks and Security – T1 2024
Assignment 2 – Processes and MARIE Programming_Instruction
Purpose Processes and programs are what makes computers do what we
want them to do. In the first part of this assignment, students will
investigate the processes running on their computers. The second
part is about programming in MARIE assembly language. This will
allow students to demonstrate their comprehension of the
fundamental way a processor works.
The assignment relates to Unit Learning Outcomes 2, 3 and 4.
Your task For part 1, you will write a short report describing the processes that
are running on your computer.
For part 2, you will implement a simple game in the MARIE assembly
language.
Value 20% of your total marks for the unit
The assignment is marked out of 100 marks.
Word Limit See individual instructions
Due Date 11:55 pm Friday 12 April 2024 (Week7)
Submission ● Via Moodle Assignment Submission.
● Turnitin will be used for similarity checking of all submissions.
● This is an individual assignment (group work is not permitted).
● Handwritten work is not accepted. docx for the written tasks.
● MARIE files for the second part
● DRAFT submission is not assessed.
● You will need to explain your code in an interview.
Assessment
Criteria
Part 1 is assessed based on correctness and completeness of the
descriptions. Part 2 is assessed based on correctness of the code,
documentation/comments, and test cases.
See instructions for details.
Late Penalties By submitting a Special Consideration Form or visit this link:
https://lms.monashcollege.edu.au/course/view.php?id=1331
● Without special consideration, 10% deduction per calendar day or
part thereof for up to one week
MCD4700 Diploma of Information
Technology
2
● Assessment items will not be accepted after more than 7 calendar
days unless a Special Consideration application has been approved.
This 7-day time frame does not apply to assessments due in Week
12.
Support
Resources
See Moodle Assessment page
Feedback Feedback will be provided on student work via:
● general cohort performance
● specific student feedback ten working days post submission
INSTRUCTIONS ● This assignment has two parts. Make sure you read the
instructions carefully.
● You need to submit one zip file includes five files through the
Moodle Assignment activity:
Plagiarism Plagiarism: It is an academic requirement that the work you submit be
original. If there is any evidence of copying (including from online sources
without proper attribution), collaboration, pasting from websites or textbooks,
Zero marks may be awarded for the whole assignment, the unit or you may
be suspended or excluded from your course. Monash Colleges policies on
plagiarism, collusion, and cheating are available here or see this link:
https://www.monashcollege.edu.au/__data/assets/pdf_file/0010/17101/dipassessment-policy.pdf
Further Note: When you are asked to use Internet resources to answer a
question, this does not mean copy-pasting text from websites. Write
answers in your own words such that your understanding of the answer is
evident. Acknowledge any sources by citing them.
The generative AI is not allowed to be used to generate any solutions for this
assessment.
MCD4700 Diploma of Information
Technology
3
1. Processes (15 marks)
Calculate the turnaround time for the following processes and subsequently calculate their
average turnaround time
Process Processing Time
P1 1
P2 5
P3 3
P4 2
P5 7
P6 4
P7 1
a- In FCFS first-come first-served
b- In SJF shortest job first
c- In Round Robin with slice time=2
MCD4700 Diploma of Information
Technology
4
2. MARIE (65 marks)
In this task you will develop a MARIE application that performs some manipulation of characters,
strings and numbers. We will break it down into small steps for you. Most of the tasks require
you to write code and test cases. The code must contain proper comments and well indented.
You submit it as .mas files together with the rest of your assignment. The test cases should also
be working, self-contained MARIE assembly files (without requiring much input from the user).
In-Class interviews: You will be required to demonstrate your code to your tutor after the
submission deadline. Failure to demonstrate will lead to “zero marks” being awarded to the
entire programming part of this assignment.
Background - Lists of data
This section introduces the concepts you need for the rest of the assignment. A string is a
sequence of characters. It’s the basic data structure for storing text in a computer. There are
several different ways of representing a string in memory and how to deal with strings of arbitrary
length.
For this assignment, we will use the following string representation:
● A string is represented in contiguous memory locations, with each address containing one
character.
● The characters are encoded using the ASCII encoding.
● End of a string is marked by the ASCII character ‘.’ (i.e. dot or full-stop).
● A string can be of any arbitrary length, and will be terminated by a ’.’, and it may contain
any of the following: alphabets (A-Z, a-z), numbers (0-9), ASCII Space Character (Hex
020) and New Line (Hex 00A).
Here is an example. A string “Dong Satria.” will be represented in memory (written as
hexadecimal numbers):
044 06F 06E 067 020 053 061 074 072 069 061 02E
D o n g S a t r i a .
Note that, in the above example, for a string with 10 characters, we need (10+2) words of MARIE
memory in order to store all the characters belonging to that string (including a space and a ‘.’
characters).
In MARIE assembly language programming, we can make use of the ADR command, the HEX
keyword and a label “myString” to put this string into memory:
MCD4700 Diploma of Information
Technology
5
myStringAddr, ADR myString
myString, HEX 044 /’D’
HEX 06F /’o’
HEX 06E /’n’
HEX 067 /’g’
HEX 020 /Space
HEX 053 /’S’
HEX 061 /’a’
HEX 074 /’t’
HEX 072 /’r’
HEX 069 /’i’
HEX 061 /’a’
HEX 02E /’.’
2.1. Your name as a MARIE string (5 marks)
The following example of a MARIE string “myString” encodes a name and an ID using ASCII
characters. The “name” is separated from the ID by an ASCII character “Hex 00A” (New Line).
Different parts of a name are separated by another ASCII character “Hex 020” (Space). And the
entire string, consisting of a name and an ID, is terminated by a dot ‘.’ character.
Please see the example below. The label “myStringAddr” holds the address of the first character
of the string. You need to follow this MARIE string while solving the task given below.
myStringAddr, ADR myString
myString, HEX 044 /’D’
HEX 06F /’o’
HEX 06E /’n’
HEX 067 /’g’
HEX 020 /Space
HEX 053 /’S’
HEX 061 /’a’
HEX 074 /’t’
HEX 072 /’r’
HEX 069 /’i’
HEX 061 /’a’
HEX 00A /NL(New Line)
HEX 032 /’2’
HEX 031 /’1’
HEX 038 /’8’
HEX 033 /’3’
HEX 039 /’9’
HEX 039 /’9’
HEX 030 /’0’
HEX 030 /’0’
HEX 02E /’.’
MCD4700 Diploma of Information
Technology
6
Prepare a MARIE program to encode a string that includes your full name (first name and last
name) and your student ID using ASCII characters. Following the above example, you need to
use two labels, one label (e.g. “myString”) to store the first character of the string, and another
label (e.g. “myStringAddr”) to store the address of the first character of the same string.
You need to submit a MARIE file that contains codes, using the ADR command and HEX
keywords (like the above example), so that after assembling, your name, ID and the address
(of the first character of the string) is stored in MARIE memory. The codes must be accompanied
by appropriate comments (as a paragraph before any block of code or subroutine or as inline
comments wherever appropriate).
2.2. Printing string (10 marks)
Prepare a MARIE program that can print the ASCII ‘.’ terminated string of your name and your
student ID that you have implemented in task 2.1. You may use the “Output” instruction to print
characters in the MARIE output space. The program should be able to print any string that
terminated with ‘.’.
Hint: In your program, you need to use a label “myString” that holds the start address of the
string (like, myStringAddr) that you want to print. Then, you should load a character from the
address “myString”, print the character, then increment the address by one, and keep doing that
up to the character loaded from the address is a ‘.’ (which signals the end of the string). The
output may look similar to the output below. The codes must be accompanied by appropriate
comments (as a paragraph before any block of code or subroutine or as inline comments
wherever appropriate).
Inside the Memory
Dong Satria
21839900
Figure 1: Print your name and ID
MCD4700 Diploma of Information
Technology
7
2.3 Subroutines to print a string and Calculate a Numerology (Expression Number)
(25 marks)
Numerology is a belief system that suggests the numerical value of a name can influence
various aspects of personality and professional development. The number associated with a
name is often referred to as the 'Expression number'. To calculate this number, each letter in
the name is assigned a unique number from 1 to 26, following this key:
A=1, B=2, C=3, D=4, E=5, F=6, G=7, H=8, I=9, J=10,
K=11, L=12, M=13, N=14, O=15, P=16, Q=17, R=18,
S=19, T=20, U=21, V=22, W=23, X=24, Y=25, Z=26.
This method can be implemented with any name, assuming that all the letters are capital
letters, and there are no special characters except spaces.
To find your Numerology or Expression number, follow these steps:
1. Write out the string (usually a name) for which you want to determine the Numerology
or Expression number.
2. Match each letter in the string to its corresponding number using the key.
3. Add together all of the numbers associated with the letters in the string.
4. Reduce the sum of the string numbers:
a. If the sum is two digits, repeatedly add together the two digits until you get a single
digit.
b. If the sum is greater than 2 digits, reduce the number to two digits by adding
together the digits repeatedly until you get either one digit or two digits
Example1:
M O N A S H
13 15 14 1 19 8
13 + 15 + 14 + 1 + 19 + 8 = 70
70 = 7 + 0 = 7
The Expression number = 7
Example2:
M O N A S H space C O L L E G E
13 15 14 1 19 8 3 15 12 12 5 7 5
13 + 15 + 14 + 1 + 19 + 8 + 3 + 15 + 12 + 12 + 5 + 7 + 5 = 129
129 = 1 + 2 + 9 = 12
The Expression number = 12
MCD4700 Diploma of Information
Technology
8
Create two MARIE subroutines: one named "subPrintString" to print a string terminated
with a period ('.'), and another named "subCountNumerology" to calculate the Expression
Number for the given string. These subroutines should follow these guidelines:
The subroutines should:
1. Print the string
2. On the second line, print the sum of the (Expression Number) before reducing it.
3. On the third line, print the Expression Number after the reduction.
Figure 2.a: Using subroutines to Display a string and find an Expression number
Figure 2.b: Using subroutines to Display a string and find an Expression number
Note: MONASH COLLEGE is just an example
(Expression Number) before reducing it
(Expression Number) after reducing it
MCD4700 Diploma of Information
Technology
9
2.4 Assembly Language and Machine Language (15 marks)
This task is for HD students
To get HD in this assignment you have to think again before ignoring this task
a. Write at least four differences between (at most 200 words):
i. Assembly Language
ii. Machine Language
b. Prepare a MARIE program that initialised with three values (X, Y and Z) then find and
print the result of (X+Y-Z) in:
i. Assembly Language
ii. Machine Language
Note: Assuming that the result is always between -9 and 9.
The codes must be accompanied by appropriate comments (as a paragraph before any block
of code or subroutine or as inline comments wherever appropriate). The code of the assemble
and the machine should be in one MARIE file called (AssemblyANDMachine).
Example1:
Figure 3.a: Assembly and Machine Language
The result of 10+9-21 in
assembly
The result of 10+9-21 in
Machine language
Note: The result should
be converted from
decimal to Unicode
(ASCII) to be displayed
like this.
MCD4700 Diploma of Information
Technology
10
Example2:
Figure 3.b: Assembly and Machine Language
Marks (for each representation):
• Correct explaining: 6 marks
• Correct code in assembly and machine: 6 marks
• Correctly convert the decimal to Unicode and display the result as above: 3 marks
Code Documentation and Development (5 marks)
All the variables/labels should have a meaningful naming convention. The code should include
proper comments.
Code Readability (5 marks)
Before you submit, be sure your code is well organised and very easy to follow included code
indentation, effective use of whitespace etc.
The result of 10+9-13 in
assembly
The result of 10+9-13 in
Machine language
Note: The result should
be converted from
decimal to Unicode
(ASCII) to be displayed
like this.
MCD4700 Diploma of Information
Technology
11
Report Structure and Correct files (5 marks)
Files to be submitted:
One folder named “YourFirstNameLastNameStudentID” containing the following files:
1. Report for the written tasks (One Word file called YourFirstNameLastName
StudentID.doc / docx). The report should include your Full name, your student ID, your
class number and your tutor’s name.
2. MARIE files for tasks 2.1 to 2.4 name them as below:
● 2.1_NameID.mas
● 2.2_PrintNameID.mas
● 2.3_SubroutinesToPrint&countNumerology.mas
● 2.4_ AssemblyANDMachine.mas
Zip the folder under the same name and submit it to Moodle. You need to make sure there are
no spaces in any of the filenames.
3. In-class oral/coding assessment (15 marks)
In addition, you will be asked some questions related to MARIE to assess your level of
understanding. Your tutor will ask a couple of questions about the MARIE programming
language and/or you are required to code a task using MARIE.
NOTE! Your submitted files must be correctly identified (as described above).
Any submission that does not comply will receive an automatic 10 marks
penalty (applied after marking).
版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。