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

Do you need help?

Notice Board

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?
359 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 (208020 points)
756 1270 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