Please enable JavaScript to view this site.

The variable table (VARS) consists of a number of contiguous definitions (VARs), each of which contains all the information about a specific user-defined variable: there are no default variables in this table.

The location (relative to the file) and number of elements in the program variable table are specified in the following fields, respectively, depending on where used

by the HEADER.VARSOFF and HEADER.VARSCNT fields if used in the file header;

by the fields STRUCT.VARSOFF and STRUCT.VARSCNT if used in structure definition;

by the fields LIVECMD.VARSOFF and LIVECMD.VARSCNT if used in command definition.

Variable definition

A variable (VAR) consists of the following information:

Name

Offset

Type

Description

ID

+0

U32

Variable ID (#2)

Note: only values 0x00010000-0xFFFFFE; value 0xFFFFFF is a special meaning ID; values 0x000001-0x0000FFFF are reserved for default variables.

TYPEID

+4

U32

Variable type ID

Note: Can be a default or user-defined type.

 

+8

U8[2]

(reserved, runtime use)

FLAGS

+10

U16

Variable settings:

0x0001 Uncompressed TEXT field (NCF0).

0x0002 BITTEXT field uncompressed (NCF1)

0x0004 Uncompressed MODIFIER field (NCF2)

NAME

+12

U32

Offset variable name (relative to strings).

TEXT

+16

U32

Offset variable description (relative to compressed strings, or strings if NCF0).

BITTEXT

+20

U32

Offset variable bit descriptions, i.e., sequence of strings related to each individual bit separated by the ascii character 0xFF (related to compressed strings, or strings if NCF0). (#2)

DIM0

+24

U32

1st array size (0=unspecified) (#1) or index 0 for Alias (TYPEID = 0x00000F).

DIM1

+28

U32

2nd array size (0=unspecified) (#1) or index 1 for Alias (TYPEID = 0x00000F).

DIM2

+32

U32

3rd array size (0=unspecified) (#1) or index 2 for Alias (TYPEID = 0x00000F).

ALIASID

+36

U16

Alias type ID (#2)

ALIASBIT

+38

U16

No. of bits per alias (depends on the type of alias ID)(#2)

SIZE

+40

U32

Size of variable. (#3)

SRCID

+44

U32

Source identifier of the variable.(#2,#4)

VALUE

+48

U32

Offset initial value of variable (relative to strings, 0=no value).

ATTRIB

+52

U32

Variable attributes:

0x000001 Variable can be written (WRITE)

0x000002 The variable can be read (READ)

0x000004 The variable can be forced (FORCE)

0x000008 The variable can be released (RELEASE)

0x000010 The variable is constant (CONST)

0x000020 The variable has no bit access (NOBITS)

MODIFIER

+56

U32

Variable modifier offsets (related to compressed strings, or strings if NCF2).

DIM0L

+60

U32

Offset label for 1st array size (relative to strings). (#5)

DIM1L

+64

U32

Offset label for 2nd array size (relative to strings). (#5)

DIM2L

+68

U32

Offset label for 3rd array dimension (relative to strings). (#5)

 

+72

U8[16]

(reserved)

(#1) Although ARRAYn fields are 32bit, in the current version of SW the maximum size should still be considered only 16bit (i.e., maximum index 0xFFFF).

(#2) Field not used (value 0) if used in structure definition.

(#3) Field not used (value 0) if used by defining an Alias (TYPEID = 0x00000F)

(#4) Field not used (value 0) if used in live command definition.

(#5) Label means the name of a variable (constant value) or the ascii representation of a numeric value, i.e., an offset to the string table.

 

  

Keyboard Navigation

F7 for caret browsing
Hold ALT and press letter

This Info: ALT+q
Page Header: ALT+h
Topic Header: ALT+t
Topic Body: ALT+b
Contents: ALT+c
Search: ALT+s
Exit Menu/Up: ESC