base:create_labels_on_the_fly_using_macros
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
— | base:create_labels_on_the_fly_using_macros [2015-04-17 04:31] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Create labels on the fly using macros (in ca65) ====== | ||
+ | |||
+ | This was written by RadiantX on [[http:// | ||
+ | |||
+ | 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, | ||
+ | .endmacro | ||
+ | </ | ||
+ | |||
+ | |||
+ | Using a macro like this it's possible to create labels using a repeat counter. | ||
+ | |||
+ | < | ||
+ | .repeat $100, I | ||
+ | makeident " | ||
+ | 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 by 127.0.0.1