16-Bit Virtual Machine in JavaScript 001



In this episode we begin implementing a 16-bit virtual machine from scratch in JavaScript. The concepts of computation are introduced, along with the basics of assembly language and machine code.

=[ ā„¹ About ā„¹ ]=

This series is all about building a powerful virtual machine in JavaScript with the following features:

– A flexible, extensible, register-based virtual machine
– Support for signed, unsigned and floating point operations
– A call stack
– Interrupt capabilities
– Ability to do memory mapping for IO
– An assembly language with macro and module support
– A higher level, C like language. We’ll use and expand the library from the parser combinators from scratch series
– And finally, to be able to take the whole thing into the browser and exend it to create a sort of fantasy console – an emulator for a machine that never existed

=[ šŸ”— Links šŸ”— ]=

– ā­ļø Patreon: https://www.patreon.com/lowleveljavascript

– Playlist: https://www.youtube.com/playlist?list=PLP29wDx6QmW5DdwpdwHCRJsEubS5NrQ9b&playnext=1&index=1
– Github Repo: https://github.com/LowLevelJavaScript/16-Bit-Virtual-Machine

– 16BitJS: https://github.com/francisrstokes/16bitjs
– VMFC: https://github.com/francisrstokes/vmfc
– Turing Machine: https://en.wikipedia.org/wiki/Turing_machine
– Von Neumann architecture: https://en.wikipedia.org/wiki/Von_Neumann_architecture
– CPU: https://en.wikipedia.org/wiki/Central_processing_unit
– Stack Machine: https://en.wikipedia.org/wiki/Stack_machine
– Register Machine: https://en.wikipedia.org/wiki/Register_machine
– Instruction set architecture: https://en.wikipedia.org/wiki/Instruction_set_architecture

Original source

34 thoughts on “16-Bit Virtual Machine in JavaScript 001

Leave a Reply