Technical Details

In Kick Assembler 3 some rather advanced techniques have been implemented to make the assembling more flexible and correct. I'll describe some of the main points here. YOU DON'T NEED TO KNOW THIS, but if you are curious about technical details then read on.

1. The flexible Parse Algorithm

Kick Assembler 3 uses a flexible pass algorithm, which parses each assembler command or directive as much as possible in each pass. Some commands can be finished in first pass, such as lda #10 or sta $1000. But if a command depends on information not yet given, like ‘jmp routine’ where the routine label hasn't been defined yet, an extra pass is required. Kick Assembler keeps executing passes until the assembling is finished or no progress has been made. You can write programs that only need one pass, but most programs will need two or more. This approach is more flexible and gives advantages over normal fixed pass assembling. All directives don't have to be in the same phase of assembling, which gives some nice possibilities for future directives.