The OAMulator is a Web based resource to support the teaching of
instruction set architecture, assembly languages, memory, addressing,
high level programming, and compilation. The tool is based on a
simple, virtual CPU architecture called the One Address Machine. A
compiler allows to take programs written in a special programming
language, called OAMPL, and transform them into OAM assembly. An OAM
assembler/emulator allows to interpret and execute OAM assembly code
(produced by the compiler or written directly).
The OAMulator is targeted at students who
take introductory courses in information technology or information
systems. The OAMulator is designed to take the mystery out of
the CPU architecture and let students gain confidence with the concepts
of compilers and binary execution.
The OAM architecture and OAMPL language were introduced by
Alberto Maria Segre.
The Web based compiler and assembler/emulator were developed by
Filippo Menczer.