Assembler Hacking: Inline Data And Constants (16-Bit VM in JavaScript 014) @LowByteProductions
Assembler Hacking: Inline Data And Constants (16-Bit VM in JavaScript 014)  @LowByteProductions
Uploaded September 2020 | Updated September 2026, 2 weeks ago
In this episode, we're going to implement 2 new features in the assembly language and assembler of the machine. The first is the ability to specify named, arbitrary data inline with the assembly code. And the second is the ability to specify named constants - whose values can be used meaningfully in the assembly code.



00:00 - Intro
01:23 - Parsing data directives
04:54 - Parsing constant directives
05:33 - Updating the main parser
06:03 - Writing a test program in assembly
07:03 - Refactoring the assembler
08:02 - Extracting constant and semantics in the assembler
08:58 - Encoding data blocks in the generated binary
10:17 - Testing the new assembler features



 =[ ℹ 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 extend it to create a sort of fantasy console - an emulator for a machine that never existed


=[ 🔗 Links 🔗 ]=



- 💌 Updates to your inbox: tinyletter.com/lowleveljavascript
- ⭐️ Patreon: patreon.com/lowleveljavascript



- Assembly language tour (16-Bit VM ep 7) : youtu.be/ai63l4OUxSs
- Data directives: en.wikipedia.org/wiki/Assembly_language#Data_directives



- Series Playlist: youtube.com/playlist?list=PLP29wDx6QmW5DdwpdwHCRJsEubS5NrQ9b&playnext=1&index=1
- Github Repo: github.com/LowLevelJavaScript/16-Bit-Virtual-Machine
Assembler Hacking: Inline Data And Constants (16-Bit VM in JavaScript 014)Unsigned Numbers! [The Bits And Bytes Of Binary ep. 3]Announcement: The Low Level Jam!Fantasy Console Emulator: System IntegrationFrogger In Assembly: Fantasy Console Part 3Addition In Digital Logic [The Bits And Bytes Of Binary ep. 4]Hardware RISC-V CPU in TypeScript: First StepsCryptographically Signed Firmware :: Bare Metal Programming Series 14Designing A Packet Protocol :: Bare Metal Programming Series 7.1Ints, Uints, and Parsing an IP Packet Header [Parser Combinators From Scratch] Episode 7A parser for every instruction? (16-Bit VM in JavaScript 010)What is a spinlock? //Source Dive// 002
Low Byte Productions |

Assembler Hacking: Inline Data And Constants (16-Bit VM in JavaScript 014)

SHARE TO X SHARE TO REDDIT SHARE TO FACEBOOK WALLPAPER