|
Tools
|
The Hack Student's Suite will be the main
tool
in this course. The suite is made out of a zip file whom you can easily open
using unzip on Unix or WinZip on windows.
After opening, don't change the directory structure. If you are running the
suite at home, make sure you have the Java runtime installed (you can download
it from the Java website).
The suite contains the following parts:
- Hardware
- In the first part of the course you will work on several hardware projects,
leading to a complete computer system. The following tool set is necessary
(and sufficient) to complete this construction:
Tool |
Description |
Files |
Hardware Simulator |
Used to simulate and test chips. Operates on chip descriptions written in
HDL (Hardware Description Language). |
Tutorial: PowerPoint,
HTML |
Assembler |
Implements the Hack assembly language. Translates assembly code into
machine language. The latter can be tested on the CPU emulator. |
Tutorial: PowerPoint,
HTML |
CPU Emulator |
Emulates the Hack computer architecture, using a interactive GUI interface.
Used to test and run low-level programs written in machine language and
assembler. |
Tutorial: PowerPoint,
HTML |
- Software
- In the second part of the course you will work on software projects in which
you will develop the systems listed below. Before you set out to develop a
particular system, it is convenient to experiment with a working version of what
you have to build. This can be done by playing with the executables below.
Tool |
Description |
Files |
Compiler |
Implements the Jack programming language on the Hack platform. Jack
is simple Java-like object-base language. The compiler translates Jack
programs to VM code. The VM code can be executed on the VM emulator.
Also, the VM code can be translated into the Hack assembler. |
User Guide |
VM Emulator |
Emulates a typical stack-based virtual machine. Used to test and run
low-level programs written in the VM language. |
tutorial |
- Operating System
- In the last part of the course you will write a simple operating system
for the Hack platform. Before you will write the OS, other projects (e.g.
the compiler) will need some of its services. You will also need the OS
in order to run Jack programs. Therefore, we provide an executable
("binary") version of the OS below.
Tool |
Description |
Files |
Operating System |
A simple OS, similar to early versions of DOS. Extends programming languages
with math and string functionality and provides basic memory and I/O devices
management services. Written in Jack and implemented as a collection of VM
functions. |
OS.zip
Error codes |
- Miscellaneous
-
Tool |
Description |
Files |
Text Comparer |
A program that determines if two input text files are identical, ignoring
white space (in each line). |
Part of the Hack Student Suite |
|
|