Skip to content

Amoolaa/virtual-stack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

virtual-stack

This project emulates a simple virtual machine by storing and referencing variables (in stack frame contexts) and then reading in a set of pseudo-assembly instructions which dictate what operations should be performed on the stack.

We emulate an 8-bit architecture. That is, our RAM contains 28 addresses of 1 byte each and the register bank contains 8 registers of 1 byte each. No information about the program's execution state is stored outside of the RAM and register bank.

The virtual machine operates on a pseudo-assembly language called x2017. The virtual machine runs on binaries in this language. There are two executables: objdump_x2017 takes a x2017 binary and produces it in human readable assembly format, and vm_x2017 takes a x2017 binary and performs its operations. The work done by objdump_x2017 in producing the binary in a human readable form is used in vm_x2017.

Information on x2017, the operations it supports and the implementation of the stack within the RAM can be found in the code comments.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published