User Tools

Site Tools


base:create_labels_on_the_fly_using_macros

Create labels on the fly using macros (in ca65)

This was written by RadiantX on CSDb, and put on Codebase by me (FTC).

It is a description of how to create labels on the fly in the ca65 assembler by using macros. In this particular example, the labels are generated using a repeat counter in a loop. The macro that is used goes like this:

.macro makeident lname, count
    .ident(.concat(lname,.sprintf("%d", count))):
.endmacro

Using a macro like this it's possible to create labels using a repeat counter.

.repeat $100, I
    makeident "foo", I
    lda $1000 + I
    sta $2000 + I
.endrepeat

This produces the following code:

foo0:
    lda $1000
    sta $2000
foo1:
    lda $1001
    sta $2001
foo2:
    [...]
base/create_labels_on_the_fly_using_macros.txt · Last modified: 2015-04-17 04:31 (external edit)