Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A just-in-time compiler for MIT 6.004's "Beta" processor.
C++ C Assembly Perl Shell Makefile
tree: ca8deb7682

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
tests
uasm
.gitignore
COPYING
Makefile
README
SConstruct
TODO
bclock.cpp
bclock.h
bconsole.cpp
bconsole.h
bcpu.cpp
bcpu.h
bdecode.cpp
bdecode.h
bemu.cpp
bemu.h
bt.cpp
bt.h
bt_helper.S
insts.pl
run-tests.sh
x86.h

README

This code implements a working Just-In-Time binary translator from the
Beta [1] processor to the i386. It supports clock and keyboard
interrupts, and correctly executes lab6.uasm, bench[1-4].uasm, and
litmus.uasm, as well as Lab 8's operating system [2].

This source is canonically available from github at
<http://github.com/nelhage/bemu/>.

It should work on just about any modern Linux or Intel OS X system,
although it's better tested on Linux. I've tested it on Athena and it
works fine there.

To run the self-tests, `make test'; To run the lab8 OS, `make
run-lab8'.

It alsos includes a somewhat hacked version of `uasm' from
http://web.mit.edu/6.004/src/posix-src/uasm/, modified to deal with
relative includes slightly better, and to support arbitrary-sized
ROMs.

[1] http://6004.csail.mit.edu/currentsemester/handouts/beta.pdf
[2] http://web.mit.edu/6.004/bsim/lab8.uasm
Something went wrong with that request. Please try again.