CSC 103: How Computers Work
Lab 3: Assembly Language
To be turned in on Moodle as part of Homework 3.
In this lab you'll gain experience with assembly programming,
which is the layer just above hardware. So all the
instructions you are writing are telling these circuits what
to do! You are welcome to work with a partner.
To set up, open the Assembly
Simulator in a new tab. Then erase all the starter code and switch
the "View" to Decimal so it's easier to understand what is going
on. You also might want to open the Instruction Set in a new tab.
Program 1: A loop that can stop
On Monday we saw how to program a loop. However, we had no way of
stopping that loop or controlling its behavior. For this question,
write a loop that starts with 0 at register A, and goes up to 22 (the
number of students in the class), and then stops. Save your program
into a txt file, then use it as the basis for the next program.
Program 2: Manipulating memory
Write a loop that stores the number 55 in the memory locations between
15 and 20, inclusive.
Program 3: Adding a series
Now we'll see how to define variables, that might change later on for
a new problem. Write a program (with a loop) that computes the sum of all the numbers
from variable x to variable y, inclusive. Test your program with:
- x=1 and y=5 (result should be 15)
- x=3 and y=10 (result should be 52)
If you have more time
Analyze the "Hello World!" starter program and figure out all the
- Choose a topic for your final project and okay it with me.
- Start to find a research paper for your final project.
To finish up
After you're done, make sure to save each program in a txt file so
that you don't lose your work. Turn this in on Moodle as part of
Homework 3 by Monday before class.