 |
_extraram |
Usually, this symbol is not handled in a special way. However, if it does
not exist at all, it is redirected to the entry point of the program. The
effect is that constructs of the form
.word _extraram-entry_point
resolve to 0 if the symbol is undefined.
The kernel headers of the standard library reference this symbol as an extra
RAM table. The table is organized in pairs of 16 bit values. Of each pair,
the first value is relevant for the TI-89, and the second value is relevant
for the TI-92(+)/V200 calculator family. In C, you would define an extra RAM
table like this:
struct {
short value89, value9x;
} _extraram[] = {{v1_89, v1_9x}, {v2_89, v2_9x}, ...};
However, extra RAM tables are barely usable in C: The compiler does not
support using external symbols as immediate values, except if you take their
address.
See also: Extra RAM Addresses