📕 subnode [[@jakeisnt/assembly]] in 📚 node [[assembly]]

Assembly languages are fascinating. We can define them as languages that are close enough to the metal for a processor to execute - distinctly, they are the low-level languages that users don't interact with directly, but that can be composed to form the minimal underpinnings of a system.

They must be resource-aware in some way.

An introduction to virtual memory - Internal Pointers

Used

You Won’t Believe This One Weird CPU Instruction! - Vaibhav Sagar Anatomy of a Binary Executable · Matt Oswalt Keystone – The Ultimate Assembler: Multi-architecture assembler framework. Wild!

LLVM

Games

Architecture of Consoles | A Practical Analysis: Rundown of the architecture of a variety of consoles and how these systems are implemented. Wild!

XXIIVV — gyo: A small register machine. XXIIVV — uxn is similar. Write your Own Virtual Machine : ProgrammingLanguages CHIP-8 in Common Lisp: The CPU / Steve Losh, via Imran Nazar: GameBoy Emulation in JavaScript: The CPU Lisp CPU famicom-cookbook: A collection of tools and examples for nesdev

JVM

Douglas Hawkins — Understanding the Tricks Behind the JIT - YouTube: How does the JVM mitigate the runtime costs of dynamic features? It "spins up" with them for the most part!

Experiments

How to write a (toy) JVM GitHub - aalhour/Assembler.hack: 16-bit machine code assembler for the Hack A… Multics Simulator GitHub - vascofazza/8bit-cpu: Schematics & code for my 74LS-based 8-bit MK1 CPU GitHub - michelhe/rustboyadvance-ng: RustBoyAdvance-NG is a Nintendo™ Game Bo… Writing a CHIP-8 emulator with Rust and WebAssembly Excamera: ??

emulator

Statically Recompiling NES Games into Native Executables with LLVM and Go - A…

Optimization

The radix 251 trick: Faster addition on modern CPUs.

📖 stoas
⥱ context