$30
Computer Science 230
Assignment 1
Objectives
• Practice with base conversions
• Practice with two's complement
• Introduction to assembly language
Please note that this assignment comes in two parts. Part 1 is a problem set on
conneX. You fill the answers directly on conneX (will be marked automatically).
However you need to submit a paper copy of your notes on how you arrived at the
solution.
Part I – Problem set on conneX
Complete the Assignment 1 problem set on conneX. This is available in Tests & Quizzes section.
The problem set is to be completed online and only requires you to supply the final answer. You are
required to answer these questions without electronic tools. Treat these questions as if they were
conducted during an exam.
Part II – AVR Assembly Language programming
Setting up AVR Studio 4
Create a new AVR Assembly project named “a1” in AVR Studio 4 and then download the four files:
a1q1.asm, a1q2.asm, a1q3.asm and a1q4.asm from the conneX site under:
Resources-Assignments-Assignment1
Place them in the directory where your a1 project was created. Then add the files to the project by
right clicking on the source files tree entry and selecting “Add Files to Project”:
When you've added all the files, your project pane should look like:
In this assignment we are writing four unrelated assembly language programs in the same project.
You can select which file you want to work on by right clicking on it and selecting “Set as Entry File”:
So, when you are working on question 2, you will make a1q2.asm as the entry file. When you select
“run”, it will start the program in a1q2.asm.
Writing the assembly language
Read the comments in each of the .asm files, they contain the specifications on what each of the
programs is supposed to do. Make careful note of the special markers: ;--* and ;*-- and be sure you do
not change any code between those markers. These special characters are used to facilitate marking.
You should write your code between the line starting with ;*** and the line starting with ;****
Questions
There are questions posed within these assignments. Just write your answer below in the comments
section itself.
Submission
Complete the Assignment 1 problem set on conneX.
Submit your a1q1.asm, a1q2.asm, a1q3.asm and a1q4.asm using conneX. Do NOT submit your
project file – just the .asm files.
Grading
If you submit a program that does not assemble (i.e. There are errors during the project build process)
you will receive 0 for that part of the assignment.
If you change any code between the ;--* and ;*-- markers in the code, you will receive 0 for that part
of the assignment.
Your programs will be run on different inputs than those specified in the sample files. If you hardcode your answers, you will receive 0 for that part of the assignment.
Part I Connex problem set 25 marks
Part II Question 1 4 marks
Question 2 4 marks
Question 3 8 marks
Question 4 9 marks
Total 50 marks