Lab 1: Programming the MIC-1

Due: Sept. 16


mic1 is a Java-based simulator which implements the Mic-1 microarchitecture described in Chapter 4 of Andrew S. Tanenbaum, Structured Computer Organization. The Mic-1 has been microcoded to implement a simplified (interger only) version of the Java Virtual Machine, IJVM.

The purpose of this lab is to familiarize the student with coding at the machine instruction level environment, and observe the operation of the underlying processor.


  1. Download the attached Mic-1 sinulator enviornment: Mic-1Kit (zip file).
  2. Set up to run based on your OS type (see readme file in download)
    • You will need the Java runtime enviornment on your computer to run Mic-1
    • Run the program in the bin directory ( Mic1MMV_hr.jar or Mic1MMV_lr.jar for high and low resolution screens)
  3. Get the ascii.jas, sum.jas, and echo.jas programs to all work. (Look in eamples/JAS-IJVM directory)
    • You will first Assemble the .jas file into machine code (a .ijvm file)
    • You will then load the resulting machine code.
    • You should then set the debug level on "Prog", and hit the blue run button (blue arrow)
  4. Write a program to read in a two digit number, and sum the even numbers from 2 to that number.
  5. Extra credit if you can print out the answer. (+10%)
  6. Write up a report, stating what you learned, and the problems you encountered
  7. Turn in screen shots of the working program, and the report, on Moodle


The Mic-1:
Topic attachments
I Attachment Action Size Date Who Comment
Pptxpptx IJVM-Intro.pptx manage 412.8 K 2012-09-05 - 19:14 JimSkon Mic-1 Slides
Pngpng Mic-1.png manage 31.0 K 2012-09-05 - 19:26 JimSkon The Mic-1
Topic revision: r2 - 2014-09-01 - JimSkon
This site is powered by the TWiki collaboration platformCopyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback