Elmo HARmonica Network Hardware User Manual


 
HARSFEN0602
16.5.6 The Variable Symbol Table
The variable symbol table states what variables are accessible through the user program. Its first 34 bytes of
the variables symbol table is devoted to statistics:
- Number of variables in the table (signed short)
For each variable, the following data 34 bytes record is set:
Name (24 bytes long, every character takes two bytes - signed short, unused tail filled with
zeros)
Context: -1 for global variables, otherwise the index in the function symbol table defined above,
to which this variable is local. (2 bytes, signed short)
Number of array elements (1 for non-arrays) (2 bytes, signed short)
Data address (2 bytes, signed short). This number specifies data segment relative address for
global variables and base pointer relative address for local variables.
Type (2 bytes, signed short – 0 for signed long integer, 1 for float)
Spare (2 bytes, always zero)
The byte length of the variables symbol table is 34 * (number of variables+1).
16.5.7 The Automatic Routines Table
This table has 17 entries, one word long each.
The first entry is a bit field. It specifies for which priority levels a user defined a handler.
The next words specify the indices of auto routine handlers in the Function Symbol Table.
For example, if a user did not define a handler for priority 0, AUTO_ERR is specified for priority 1, and
AUTO_DIN1 is specified for priority 2, then the bit field of value 0x2 specifies that the only implemented
automatic routine is AUTO_ERR. The next words will be –1,12,-1,-1,... assuming 12 is an index of
AUTO_ERR in the Function Symbol Table.