Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

Utilizzare tipi diversi dal .word

V
Valerio.Pescatori (1940 points)
11 25 38
in Programmazione in Assembly by (1.9k points)
closed by
Salve, volevo provare a realizzare una versione semplice del gioco del tris, quindi ho pensato di dichiarare una matrice di char utilizzando il .byte che ha una dimensione ovviamente diversa dalla .word, in questo caso come dobbiamo comportarci con l' .align? l'IDE suggerisce il valore 0 per il byte, 1 per l'half ecc. ma se io volessi usare più tipi di dato nello stesso programma come dovrei gestire l'align?
354 views
closed with the note: answered

2 Answers

cristofer.valiante (1690 points)
3 8 21
by (1.7k points)
Credo che per il byte l' .allign non serve perché le posizioni di memoria sono già formattate bene quindi l' IDE dice 0 perché non devi allineare
andrea.sterbini (207940 points)
754 1269 2377
by (208k points)

La direttiva .align n serve ad indicare all'assemblatore di allineare le label seguenti ai multipli di 2^n

Serve fondamentalmente per le word o le half-word, visto che le istruzioni lw/sw e lh/sh vogliono indirizzi allineati (rispettivamente a 4=2^2 e a 2=2^1)

Può essere usata più volte, ad esempio prima di un blocco in cui si usano .word va messa .align 2, mentre prima di un blocco in cui si usano .half si usa .align 1, se si definiscono strutture dati di dimensioni diverse basta precederle con la .align corrispondente.

Per i caratteri e le stringhe non è necessaria