Tue. Dec 10th, 2019

Host your Website

Read and learn

FatCow Web Hosting $1.00/mo* Trust your web hosting to the #1 web host provider, GoDaddy!

16-Bit Virtual Machine in JavaScript 001

1 min read



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 🔗 ]=

– 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

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

  1. This is amazing ! Is your voice distorted somehow ? I hear some weird, tremolo-like artifacts in your voice. But yeah anyway, great video!

  2. > And the prospect of building something like this that is able to perform those functions sounds quite daunting
    I think I'm misunderstanding what you mean here, but isn't Brainfuck is like… close to if not the easiest to implement programming language in existence and meeting all of the requirements?

Comments are closed.

Copyright © All rights reserved. | Newsphere by AF themes.