CS 2700: Assembly Language and Computer Architecture

Spring 2015 - Lab 3

Due 5/1 by 5pm

  1. Log in with your CS lab user name and password so that you will be able to save any files you work on for later use. (On Windows, you will need to save your files to the T: drive to be able to use them later.)

  2. "java -jar /Applications/MarieSim/marieSim.jar" is the command to run MARIE from the command line in the Mac OS; double-clicking on MarieSim.jar in a Mac Finder window will also start it. In Windows, open the Windows Explorer, go to "Computer", then the "Bootcamp" drive, then "Program Files", then "MarieSim" and double-click on marieSim.jar.

  3. "java -jar /Applications/MarieSim/marieDP1.jar" is the command to run the MARIE data path simulator from the command line in the Mac OS; double-clicking on marieDP1.jar in a Mac Finder window will also start it. In Windows, open the Windows Explorer, go to "Computer", then the "Bootcamp" drive, then "Program Files", then "MarieSim" and double-click on marieDP1.jar.

  4. Assemble and load into the data path simulator Ex4_1.mas (the same program you looked at as part of Lab 1).

  5. Set the stepping speed (using the Set Speed button) to a rate at which you can closely examine register values and RTL instructions change with the movement of data. (10,000 is a good value to start with.)

  6. Step through several assembly language statements in example 4_1. Take your time. Figure out how the displayed RTL commands correspond to changes in register contents. Examine which parts of the process are common to all instructions and which parts are specific to particular assembly language commands. (Spend at least 10 minutes on this activity.)

  7. MARIE DP simulator questions:

    1. Why does the simulator use 3-numeral hex values to specify the contents of the PC and MAR (bottom right) when all the other registers use 4 numerals?

    2. Which part(s) of the diagram turn pink, when does it/they and what does the color change indicate? (What is the part doing?) If you don't see anything turning pink, set your step speed to a bigger number and try again.

    3. What is stored in the IR when the AC is first set to 000E? Where does the 000E go (into which register) on the next instruction? (The instruction after the one when 000E arrived in the AC.) Or was the 000E the result of a calculation? If so, which?

      Question edited at 10:46 am on 4/24: What is stored in the IR when the AC is set to 000A for the second time? What does the IR change to 3 clock cycles (lines in the bottom right window) later? Where does 12 bits of the IR data go a few clock cycles after the instruction (the second IR contents you identified) starts?

    4. What does it mean when the blue lines at the bottom of the diagram (above the RTL instructions) turn red? What does it mean when some of the blue lines at the bottom turn red and some stay blue? (Looking closely at the RTL instructions and which instructions correspond to which color changes may help you figure this out.)

    5. What does it mean when the red line between the MAR and main memory turns red? What RTL instruction(s) are visible at times when the line between MAR and main memory is red?

  8. Upload a plain text (.txt) or MS Word document containing your answers to the questions above (and your name) to the CSHomework system by the assignment deadline.

Last updated 4/24/2015