This Instruction allows you to initialize a variable, usually of indexed type, by assigning it a specified value repeated for a specified number of times.
Syntax |
fill_mem (varDest, nEl, val) |
---|---|
varDest |
Is the variable to be initialized. Can be a local variable or an integer register, REAL or STRING |
nEl |
Is the number of elements to be initialized, REAL or I32. It can also be a mathematical expression |
val |
Is the value used in the initialization, REAL or I32. It can also be a mathematical expression |
Validità |
Rule, Task |
Note |
Nel caso di registri, l'inizializzazione viene estesa ai registri successivi a quello indicato. Nel caso delle variabili locali, che avranno tipicamente almeno un indice, occorre fare attenzione a non tentare di inizializzare un numero di elementi superiore alla dimensione dichiarata della variabile stessa. In caso contrario si avrà un opportuno messaggio di errore in fase di esecuzione del programma. Questo controllo è eseguito solamente nel caso in cui varDest sia una variabile locale. Il numero nEl non rappresenta un numero di byte, ma un numero di elementi; ad es. nel caso di variabili reali, se si specifica nEl = 5 verranno inizializzate cinque locazioni reali consecutive della variabile specificata (in totale 40 bytes) |
NOTE: When initializing integer registers or integer variables, val must always equal zero.
Example with integer registers:
Example with local array:
Example with string:
|