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 - 💌 Updates to your inbox: https://tinyletter.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