<title>cc65 Users Guide
<author><url url="mailto:uz@cc65.org" name="Ullrich von Bassewitz">,<newline>
<url url="mailto:gregdk@users.sf.net" name="Greg King">
-<date>2017-05-20
<abstract>
cc65 is a C compiler for 6502 targets. It supports several 6502 based home
size zero, even if it is initialized.
<p>
+<item> Computed gotos, a GCC extension, has limited support. With it you can
+ use fast jump tables from C. You can take the address of a label with
+ a double ampersand, putting them in a static const array of type void *.
+ Then you can jump to one of these labels as follows:
+
+ <tscreen><verb>
+ static const void * const jumptable[] = {
+ &&add,
+ &&sub
+ };
+ goto *jumptable[somevar];
+
+ add:
+ ...code...
+ </verb></tscreen>
+
+ In the jump table, no expressions are supported. The array index
+ used in the goto must be a simple variable or a constant.
+
</itemize>
<p>