What is VonSim?
VonSim is a tool designed for teaching and learning computer architecture and organization. It consists of an environment for developing programs in assembly language and a simulator for them.
It is based on the Intel 8088 processor and features:
- four 16-bit general-purpose registers;
- a main memory of 32 kB;
- a 16-bit address bus and an 8-bit data bus;
- software interrupts (such as keyboard input and screen output);
- hardware interrupts with a PIC (Programmable Interrupt Controller);
- multiple devices: clock, switches, LEDs, and a Centronics printer.
These devices are inspired by their counterparts specified in Intel's iAPX 88 (or 8088 family). These are a set of devices designed by Intel to work seamlessly with the 8088 processor. More details can be found in the iAPX 88 User's Manual (1981).
Simplifications
This simulator is not intended to be a faithful emulator of the 8088. On the contrary, it aims to be a tool for teaching computer architecture. Therefore, multiple simplifications have been made compared to the 8088 that would make it difficult to use in a real environment. Likewise, the instruction set is much smaller than that of the 8088, and its encoding is simpler.
Credits
This simulator was created by
with assistance from
for the courses of
among others at the Facultad de Informática of the Universidad Nacional de La Plata.
Acknowledgments
VonSim is based on the previous work of Rubén de Diego Martínez for the Universidad Politécnica de Madrid. The original simulator was called MSX88 and was developed in 1988. Some references:
- MSX88 User Manual (v3.0)
- MSX88 User Manual (v4.0)
- MSX88 Instruction Set
- MSX88 Presentation Paper
- MSX88 v3.1 (with DOSBox)
- MSX88 v4.0 (ported)
- Notes on interrupts
License
All content is licensed under the GNU Affero General Public License v3.0 and its source code is available on GitHub.
Copyright © 2017-present Facundo Quiroga, Manuel Bustos Berrondo, and Juan Martín Seery (III-LIDI, Facultad de Informática, UNLP).
This documentation is under the CC BY-SA 4.0 license, unless otherwise stated.