IC8 -- a Simulator for an Imaginary Computer

by Kari Laitinen

Through the link below you can activate IC8, a simulator for the imaginary computer that is presented in my programming books.

Please, study the using instructions and WARNINGS given below.


The imaginary computer is an extremely simple 8-bit computer with which it is easy to learn the basics of computer technology. The following links provide useful information:

IC8 is a simulator program which imitates the behavior of the imaginary computer on a real computer. Here are some instructions for using the IC8 simulator:

The executable programs that are built into the IC8 simulator are also available as IML programs. You can find them, for example, here. IML is a simple low level programming language that is presented in my programming books.

You may use the IC8 simulator freely, but the Java and JavaScript programs which it is made of are not public, and the program files may not be copied.

IC8 is a useful tool for self study and in courses such as Introduction to Computer Architectures or Basics of Computer Technology. The architecture of the imaginary computer simulated by IC8 is extremely simple. Thus the computer architecture should be easy to learn. Yet it is possible to perform many traditional computing tasks with this simple computer architecture. The traditional computing tasks that IC8 can do include conditional jumps, loops, subroutine calls with the help of stack, basic arithmetic and stack operations. Despite the small size of the main memory, IC8 can run rather complicated programs. For example, the simulator includes programs which perform software-based multiplication operations.

Exercises with the IC8 simulator

by Kari Laitinen

In order to do the exercises below you need to have a table of ASCII/Unicode character codes available. Such a table can be found here.

Load program hello.iml into the main memory and do the following:

Load program hello_loop.iml into the main memory and do the following:

Load program abcde.iml into the main memory and do the following:

Load program aaaabbbbcccc.iml into the main memory and do the following:


Although the simulator architecture is designed by me, Kari Laitinen, I have had clever students working in the implementation of the simulator.

Older IC8 versions

There exist earlier versions of the IC8 simulator program. If you want to try them, here are the links:



The earlier versions of the simulator are Java applets. To run an applet your computer must have a Java Runtime Environment (JRE) installed, and your browser must allow Java applets on web pages.

Because allowing the execution of Java applets in Internet pages can be dangerous, it may be better to use only the latest version of the simulator.