Parrot assembly (PASM) is an assembly language written for Parrot's virtual CPU. PASM has an interesting mix of features. Because it's an assembly language, it has many low-level features, such as flow control based on branches and jumps , and direct manipulation of values on the software registers and stacks. Basic register operations or branches are generally a single CPU instruction.  On the other hand, because it's designed to implement dynamic high-level languages, it has support for many advanced features, such as lexical and global variables , objects, garbage collection, continuations, coroutines, and much more.