Skip to content

A translator that translates VM intermediate code for the Jack Machine into Assembly Code

Notifications You must be signed in to change notification settings

kishore-ganesh/VMTranslator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

VMTranslator

A translator that translates VM intermediate code for the Jack Machine into Assembly Code

It implements the interface described in the book Nand2Tetris. At the heart of the VM language is a stack based virtual machine that uses push and pop operations to perform all operations.

NOTE: The provided test programs are from Nand2Tetris. All credits go to the book authors. It is included only for testing purposes.

The stack provides a very elegant approach for calling functions, in which the current state of the function, as well as the return address is pushed onto the stack. Before calling a function, you push its arguments onto the stack. ANd once a function's execution is complete, all of the local variables of the function are destroyed, and the program pointer goes back to the return address pushed into the stack.

Current State: Passes all tests, but needs to be optimized to fit the 32K memory of the Hack Computer.

About

A translator that translates VM intermediate code for the Jack Machine into Assembly Code

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published