Abilitare JavaScript per vedere questo sito.

La tabella variabili (VARS) è composta  da un numero di definizioni (VAR) contigue, ognuna delle quali contiene tutte le informazioni su uno specifica variabile definita dall'utente: in questa tabella non sono presenti le variabili predefinite.

La posizione (relativa al file) e il numero di elementi della tabella delle variabili di programma sono specificate rispettivamente nei seguenti campi, a seconda di dove utilizzata

dai campi HEADER.VARSOFF  e HEADER.VARSCNT se utilizzati in intestazione file;

dai campi STRUCT.VARSOFF e STRUCT.VARSCNT se utilizzati in definizione struttura;

dai campi LIVECMD.VARSOFF e LIVECMD.VARSCNT se utilizzati in definizione comando.

Definizione variabile

Una variabile (VAR) è composta dalle seguenti informazioni:

Nome

Offset

Tipo

Descrizione

ID

+0

U32

ID variabile (#2)

Nota: solo valori 0x00010000-0xFFFFFFFE; il valore 0xFFFFFFFF è un ID a significato speciale; i valori 0x00000001-0x0000FFFF sono riservati per le variabili predefinite.

TYPEID

+4

U32

ID tipo variabile

Nota: può essere un tipo predefinito oppure definito dall'utente.

 

+8

U8[2]

(riservati, uso runtime)

FLAGS

+10

U16

Impostazioni della variabile:

0x0001 Campo TEXT non compresso (NCF0).

0x0002 Campo BITTEXT non compresso (NCF1)

0x0004 Campo MODIFIER non compresso (NCF2)

NAME

+12

U32

Offset nome della variabile (relativo a stringhe).

TEXT

+16

U32

Offset descrizione della variabile (relativo a stringhe compresse, o stringhe se NCF0).

BITTEXT

+20

U32

Offset descrizioni dei bit variabili, ovvero sequenza di stringhe relative ad ogni singolo bit separate dal carattere ascii 0xFF (relativo a stringhe compresse, o stringhe se NCF0). (#2)

DIM0

+24

U32

1a dimensione array (0=non specificata) (#1) o indice 0 per Alias (TYPEID = 0x0000000F).

DIM1

+28

U32

2a dimensione array (0=non specificata) (#1) o indice 1 per Alias (TYPEID = 0x0000000F).

DIM2

+32

U32

3a dimensione array (0=non specificata) (#1) o indice 2 per Alias (TYPEID = 0x0000000F).

ALIASID

+36

U16

ID tipo alias (#2)

ALIASBIT

+38

U16

N. di bit per alias (dipende dal tipo di ID alias)(#2)

SIZE

+40

U32

Dimensione della variabile. (#3)

SRCID

+44

U32

Identificativo sorgente della variabile.(#2,#4)

VALUE

+48

U32

Offset valore iniziale della variabile (relativo a stringhe, 0=nessun valore).

ATTRIB

+52

U32

Attributi variabile:

0x00000001 La variabile può essere scritta (WRITE)

0x00000002 La variabile può essere letta (READ)

0x00000004 La variabile può essere forzata (FORCE)

0x00000008 La variabile può essere rilasciata (RELEASE)

0x00000010 La variabile è costante (CONST)

0x00000020 La variabile non ha accesso a bit (NOBITS)

MODIFIER

+56

U32

Offset modificatori della variabile (relativo a stringhe compresse, o stringhe se NCF2).

DIM0L

+60

U32

Offset etichetta per 1a dimensione array (relativo a stringhe). (#5)

DIM1L

+64

U32

Offset etichetta per 2a dimensione array (relativo a stringhe). (#5)

DIM2L

+68

U32

Offset etichetta per 3a dimensione array (relativo a stringhe). (#5)

 

+72

U8[16]

(riservati)

(#1) Sebbene i campi ARRAYn siano a 32bit, nella versione attuale di SW la dimensione massima va comunque considerata solo a 16bit (ovvero massimo indice 0xFFFF).

(#2) Campo non utilizzato (valore 0) se utilizzata in definizione struttura

(#3) Campo non utilizzato (valore 0) se utilizzato definendo un Alias (TYPEID = 0x0000000F)

(#4) Campo non utilizzato (valore 0) se utilizzata in definizione comando live.

(#5) Per etichetta si intende nome  di una variabile (a valore costante) oppure la rappresentazione ascii di un valore numerico, ovvero un offset alla tabella stringhe .

 

  

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