430 9. BUILDING THE XASM ASSEMBLER
■ You’re free to do more with the file once you have it loaded; you can move blocks of code around, make small changes, perform various preprocessing tasks, and the like.■ Overall, the assembler will run faster. Because it’s making multiple passes over the source file, you avoid repetitious disk access.
Input: Structure of an XVM
Whenever approaching a difficult situation, the most important thing is to know your enemy. In this case, the enemy is clear—the source code of an XVM Assembly script. These scripts, although more than readable for pansy humans, are overflowing with fluff and other extraneous
Parsing and understanding human-readable data of any sort is always a tricky affair. Style and technique differ wildly from human to human, which means you have to make all sorts of gener-alizations and minimize your assumptions in order to properly support everyone. Whitespace and line breaks abound, huge strings of case-sensitive characters are often required for a human to express what software could express in a single byte, and above all else, errors and typos can potentially be anywhere. Indeed, above all else, compiler theory will teach you to appreciate the cold, calculated order and structure of software.
The point, however, is that the input you’ll be dealing with is complex, and the best way to ensure things go smoothly is to understand and be prepared for anything the enemy can throw at you. To this end, this section is concerned with everything a given XVM Assembly script can contain, as well as the different orders and styles these things can be presented in.
The first directive is called SetStackSize and allows the stack size for the script to be set by the script itself. It’s a rather simple directive that accepts a single numeric parameter, which is of course the stack size. For example,