110 Chapter 2: TI-83 Plus Specific Information
TI-83 Plus Developer Guide Third Release May 28, 2002
Temporary Variables
The parser can return results that cannot be fully contained in the OP registers due to
their size. In these cases, the parser needs to return the result stored in a temporary
variable. Temporary variables can also be created by parsing and not be returned as
results (see the CleanAll routine in the following section).
A temporary variable is like any other user variable that can be created. They reduce
free memory available and have Symbol Table entries. Temporary variables exist for the
following data types:
ListObj CListObj MatObj StrngObj EquObj
Temporary variables are assigned unique names at the time that they are created. The
first character of a temporary variable name is the $, followed by a two-byte counter,
Least Significant Byte (LSB), Most Significant Byte (MSB). The counter is used to create
the unique names. For example, if the fifth temporary variable is a list, it would be:
OP1 +1 +2 +3 +4 +5 +6 +7 +8
ListObj
01h
$
24h
04h
00h
? ? ? ? ?
Table 2.24: Temporary Variables Example
(pTempCnt) is a two-byte counter in RAM that the system uses to generate the next
temporary variable. This allows for up to 64K unique temporary variables.
The (pTempCnt) counter is initialized to 0000h and is incremented after each new
temporary variable is created. This counter needs to be managed properly when using
temporary variable. It needs to be completely or partially reset periodically in order to
keep temporary variable usage available. The Managing Temporary Variables section
provides additional details.