Pali Assembler

Input (Unu Format)
Output (Assembled Words)
Assembled output will appear here...

Pali Assembly Syntax Guide

Code blocks start and end with a ~~~ sequence. They contain a series of lines, each of which consists of a single character directive, a space, and any parameters the directive requires.

Directive Description
i Process parameter as instruction bundle
o Set origin/offset in memory space
* Reserve parameter cells of data in memory
r Parameter is a named item, assemble a pointer to it
R Parameter is a named immediate item, assemble a pointer to it
- Alias for `r`
d Parameter is a decimal value, assemble it inline
c Parameter is a comment to be ignored
: Parameter is a label name
s Parameter is a string, assemble as length prefixed
z Parameter is a string, assemble as null-terminated

Example:

~~~
i liju....
r main

: $hello
s hello, world

: putc
i liiore..
d 0

: puts
c s-na
i dufepu..
i liad....
d 1
: puts.next
i dufelica
r putc
i liadpoli
d 1
d 1
i sudulieq
d 0
i licj....
r puts.done
i puliju..
r puts.next
: puts.done
i drdrre..

: main
i lilica..
r $hello
r puts
i lilica..
d 10
r putc
i liio....
d 6
~~~