Table 46. Directives
Directive | Example | Description |
---|---|---|
* | *=$1000 | Sets the memory position to a given value. |
.align | .align $100 | Aligns the memory position with the given value. Ex. '.align $100' at memory position $1234 will set the position to $1300. |
.assert | .assert "Test 1",2+2,4 | Asserts that two expressions or codeblocks are equal. |
.asserterror | .asserterror "Test 2", List().get(27) | Asserts that a given expression or codeblock generates an error. |
.break | .break | Puts a breakpoint on the next generated bytes. |
.by | .by $01,$02,$03 | An alias for '.byte'. |
.byte | .byte $01,$02,$03 | Outputs bytes. |
.const | .const DELAY=7 | Defines a constant. |
.cpu | .cpu _65c02 | Changes the instruction set to a different cpu. |
.define | .define width, height {...} | Executes a block of directives in 'functionmode' (faster) to define values. |
.disk | .disk [..disk pararamters..] {..fileparameters..} | Creates a d64 image file. |
.dw | .dw $12341234 | An alias for '.dword'. |
.dword | .dword $12341234 | Outputs doublewords (4 byte values). |
.encoding | .encoding "screencode_upper" | Sets the character encoding. |
.enum | .enum {on, off} | Defines a series of constants. |
.error | .error "not good!" | Creates an user raised error. |
.errorif | .errorif x>10 "not good!" | Creates an user raised error if condition is evaluated to true. |
.eval | .eval x=x+y/2 | Evaluates a script expression. |
.file | .file [name="myfile.prg" segments="Code, Data"] | Creates a prg or bin file from the given segments. |
.filemodify | .filemodify Encrypt(33) | Modify the output of the current source file with the given modifier. |
.filenamespace | .filenamespace myspace | Creates a namespace for all the following directives in the current source file. |
.fill | .fill 10, i*2 | Fills a number of bytes with the value of a given expression. |
.fillword | .fillword 10, i*$102 | Fills a number of words with the value of a given expression. |
.for | .for(var i;i<10;i++) {...} | Creates a for loop. |
.function | .function area(h,w) {..} | Defines a function. |
.if | .if(x>10) {...} | Executes code if the given condition is true. |
.import binary | .import binary "Music.bin" | Imports a binary file. |
.import c64 | .import c64 "Music.c64" | Imports a c64 files. Same as '.import binary', but ignores the two address bytes at the start of the file. |
.import source | .import source "MyLib.asm" | Imports another source file. (Depricated, use #import instead) |
.import text | .import text "scroll.txt" | Imports a text file. |
.importonce | .importonce | Make the assembler skip the current file if it has already been imported. (Depricated, use #importonce instead) |
.label | .label color=$d020 | Assigns a given expression to a label. |
.lohifill | .lohifill $100, i*40 | Fills two table with hi and lo byte of the given expression. Address of the tables can be read by connecting a label. |
.macro | .macro BasicUpstart() {...} | Defines a macro. |
.memblock | .memblock "New block" | Defines a new memoryblock at the current memoryposition. |
.modify | .modify Encrypt(27) {...} | Modifies the output of a codeblock using the given modifier. |
.namespace | .namespace myspace {..} | Creates a local namespace. |
.pc | .pc=$1000 | Same as '*=' |
.plugin | .plugin "plugins.macros.MyMacro" | Tells the assembler to look for a plugin at the given java-package path. |
.print "Hello" | Prints a message to the console in the last pass. | |
.printnow | .printnow "Hello now" | Prints a message to the console immediately. |
.pseudocommand | .pseudocommand mov src:tar {...} | Defines a pseudocommand. |
.pseudopc | .pseudopc $2000 {...} | Sets the program counter to something else than the actual memory position. |
.return | .return 27 | Used inside functions to return a value. |
.segment | .segment Data "My Data" | Switches to another segment. |
.segmentdef | .segmentdef Data [start=$1000] | Defines a segment. |
.segmentout | .segmentout [segments="DRIVE_CODE"] | Output the bytes of an intermediate segment to the current memoryblock. |
.struct | .struct Point {x,y} | Creates a user defined structure. |
.te | .te "hello" | An alias for '.text'. |
.text | .text "hello" | Dumps text bytes to memory. |
.var | .var x=27 | Defines a variable. |
.while | .while(i<10) {...} | Creates a while loop. |
.wo | .wo $1000,$1012 | An alias for '.word'. |
.word | .word $1000,$1012 | Outputs words (two bytes values), |
.zp | .zp { label: .byte 0 ... } | Marks unresolved labels as being in the zeropage. |