The document describes how to build a virtual machine (VM). It discusses what a VM is and why we want one. The goal is to simulate a simple computer using bytecodes. An instruction set is defined including operations like add, subtract, branch, load, store, print. The bytecode format and a sample program are shown. The VM will fetch, decode and execute instructions in a cycle, operating on a stack. Implementing functions is also discussed.