It has been suggested that this article be merged into Parrot virtual machine. (Discuss) Proposed since February 2024.
This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: "Parrot assembly language" – news · newspapers · books · scholar · JSTOR (January 2021) (Learn how and when to remove this template message)

The Parrot assembly language (PASM) is the basic assembly language used by the Parrot virtual machine.[citation needed]

PASM is the lowest level assembly language in the Parrot stack. The Parrot intermediate representation (PIR) is PASM extended to simplify development of compilers.

The hello world program in PASM is simply:

print "Hello world!\n"
end

Although it appears similar to source code in some high-level programming languages, more complex PASM programs will resemble other assembly languages. The main exceptions to this low level programming in PASM are string handling and, as shown above, input and output. Additionally, PASM has automatic garbage collection from the virtual machine, and it does not allow pointer arithmetic.

Parrot assembly language has more instructions than hardware assembly languages, even CISC processors. This is because the marginal cost of creating a new instruction in Parrot is low compared to the marginal cost of doing so in hardware, and the creators of Parrot had no particular goal of minimalism.

External sources

References