CSC103 Assembly Language Lab 2012

From dftwiki3
Revision as of 07:15, 20 February 2012 by Thiebaut (talk | contribs) (Created page with "--~~~~ ---- <bluebox> This lab deals with assembly language and the '''[http://maven.smith.edu/~thiebaut/classes/103/applets.htm computer simulator]'''. Work on this lab with a...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

--D. Thiebaut 07:15, 20 February 2012 (EST)


This lab deals with assembly language and the computer simulator. Work on this lab with a partner. It's easier to figure out some of these questions with another person.

Preparation

Start

Editing Program

  • Click on the top bar at the top of the simulator applet, which says computer
  • In the edit window that opens up, enter this simple program:


  • Enter a simple program in the window:
start: lod-c  1
		sto    var1
		hlt

@10
var1:  data

Translating/loading into RAM

  • Click on translate
  • Observe that your program has been translated, or coded into numbers. Numbers are the only thing the processor can understand.
  • If the top right button says Integer, click on it so that it shows Instructions. Observe that numbers can mean instructions as well as numbers for the processor.
  • Click on the top right button and see how the memory can be seen many different ways. The real contents of the memory is when you ask to see it in binary. That's what inside the memory of a computer at any given time. Bits. But because these bits are used in a code, they can mean different things.

Execute the Progam

Single Stepping

  • Click on the button that says "Set PC = 0" to make sure the processor will execute the program starting at 0
  • Click on the Cycle button and observe that the number 1 is going into the AC register and then into memory, at Address 10.

Running the program

  • If you want to run the program full speed, reset the PC register to 0 and click Run instead of Cycle.
  • First, change the program so that it loads a number different from 1 into AC:
        lod-c    55
  • Translate
  • set PC = 0
  • Run
  • Observe that 55 will be loaded up from memory into AC, and then stored into the variable var1, at Address 10.


You now know the basics of programming in assembly language.

Problem 1

  • Using the steps you have just gone through, write a program that initializes 3 variables called var1, var2, and var3 to the value 23.

Problem 2

  • Try this program out: