Comment compiler l'accès à un élément d'un tableau (t[e]) en XVM ?
Compiler l'expression t[e] pour lire la valeur à l'indice e du tableau t.
Compiler l'expression t[e] pour lire la valeur à l'indice e du tableau t.
Compiler t (adresse), compiler e (indice), ajouter 1 à l'indice (offset réel = e+1 car le mot 0 stocke la taille), puis exécuter CREAD.
Cherche chaque exercice au brouillon, puis coche “valider” si tu as trouvé la bonne démarche. Utilise le bouton aide si tu as besoin d'un coup de pouce.
Compiler t[0] : lire la première case du tableau t.
Compiler t puis l'indice 0, ajouter 1 et lire :
[[t]] -- pile : [addr_t]
PUSH(0) -- pile : [0, addr_t] (indice e=0)
PUSH(1) -- pile : [1, 0, addr_t]
ADD -- pile : [1, addr_t] (offset réel = 0+1 = 1)
CREAD -- pile : [mem(addr_t+1)] = t[0]
La valeur t[0] est en haut de pile.
Compiler t[4] : lire la case d'indice 4 du tableau t.
Compiler t[i] où i est une variable locale à l'offset 3 dans le frame courant.
Compiler tab[j+1] : lire la case d'indice j+1 du tableau tab.