Chapter 6. Parrot Assembly Language
Owner: Sorry squire, I've had a
look 'round the back of the shop, and uh,
we're right out of parrots. Customer: I see. I see, I get the picture. Owner: <pause> I got a slug. —Monty Python's Flying Circus, "Parrot Sketch"
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.
|