Difference between revisions of "CSC103 Lab 2"
Line 71: | Line 71: | ||
* '''Enter''' 1 (if it isn't already there) in the '''addr:''' box, and '''HLT''' in the '''data:''' box. Press '''Enter''' to store these values in memory. | * '''Enter''' 1 (if it isn't already there) in the '''addr:''' box, and '''HLT''' in the '''data:''' box. Press '''Enter''' to store these values in memory. | ||
+ | * '''Make sure''' the ''Program Counter'' is set to '''0''', otherwise click on the special button for that purpose. | ||
+ | |||
* '''Run''' your program by clicking on the '''Cycle''' a few times. | * '''Run''' your program by clicking on the '''Cycle''' a few times. | ||
Line 93: | Line 95: | ||
<br/> | <br/> | ||
<br/> | <br/> | ||
+ | * '''Verify''' that you get the number 73 at Address 10. | ||
+ | |||
+ | =Part 4: A program that adds two numbers together= | ||
+ | |||
+ | Now that you know how to enter instructions and data in memory, enter the following program in memory: | ||
+ | |||
+ | 0 LOD 10 | ||
+ | 1 ADD 11 | ||
+ | 2 STO 12 | ||
+ | 3 HLT | ||
+ | ... | ||
+ | 10 22 | ||
+ | 11 5 | ||
+ | 12 0 |
Revision as of 15:57, 30 September 2008
<meta name="keywords" content="computer science, How Computers Work, Dominique Thiebaut, smith college" /> <meta name="description" content="Dominique Thiebaut's Web Page" /> <meta name="title" content="Dominique Thiebaut -- Computer Science" /> <meta name="abstract" content="Dominique Thiebaut's Computer Science Web pages" /> <meta name="author" content="thiebaut at cs.smith.edu" /> <meta name="distribution" content="Global" /> <meta name="revisit-after" content="10 days" /> <meta name="copyright" content="(c) D. Thiebaut 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,2008" /> <meta name="robots" content="FOLLOW,INDEX" />
Contents
In this lab you will program at the lowest level of programmation: at the assembly language level. You will write small programs in assembly, and see how the programs correspond to numbers that are stored in memory. Some numbers represent instructions, some numbers represent data. But everything in memory is a number! That's a very important concept of CSC103!
Part 1: Starting the simulator
- Go to the applet page for the class. Click on
- The processor simulator will pop up.
The purple part represents what is inside the processor, while the blue part represents the memory. Remember what they look like from the recent lab:
Processor | Memory | |
---|---|---|
|
Part 2: Loading a constant in the Accumulator
- First, make sure the top right box displays Instructions as the format of the data in memory.
- Let's write a 1-instruction program:
0 LOD-C 57 1 HLT
- Enter 0 in the addr: box, and LOD-C 57 in the data: box. Press Enter to store these values in memory.
- Enter 1 (if it isn't already there) in the addr: box, and HLT in the data: box. Press Enter to store these values in memory.
- Make sure the Program Counter is set to 0, otherwise click on the special button for that purpose.
- Run your program by clicking on the Cycle a few times.
- Verify that you get the right number in the accumulator register.
Part 3: Loading a number in a memory word
- First make sure that the top right box displays Integers as the format of the data in memory.
- In the same addr: and data: boxes, enter 10 (for the address), and 73 (for the data). Then press Enter.
- Verify that you get the number 73 at Address 10.
Part 4: A program that adds two numbers together
Now that you know how to enter instructions and data in memory, enter the following program in memory:
0 LOD 10 1 ADD 11 2 STO 12 3 HLT ... 10 22 11 5 12 0