The user defined methods section allows you to define your own methods for commonly used bits of functionality. I call them user defined methods to distinguish them from the predefined methods on the built-in objects. These methods are all compiled inline as there is no subroutine mechanism in the cpuxa. These methods can not contain if statements since that might result in nested if's which are not currently aloowed. I could have worked around this, but it's not clear that it's worth the effort.
Methods can have parameters.
Constants and literals are passed by value. Everything you do to a variable that is passed into a subroutine happens to the original variable. Since I can't copy the value of one variable into another, this is the only reasonable behavior I could implement. Think of these as macros. The main body of your program is given in the run method.