Assembly/Convenzioni
Wikibooks, manuali e libri di testo liberi.
| Assembly |
| modifica |
|
Data la grande varietà di assemblatori, ogni casa costruttrice di processori ha implementato il suo, questa vuole essere una semplice introduzione generica sulla scrittura di programmi in Assembly.
[modifica] Convenzioni principali
Queste convenzioni sono generalmente seguite da tutti i produttori di assemblatori per cui una volta imparate servono anche se si cambia assembler.
Il corpo del programma e formato da 3 costrutti: etichetta, istruzione e commento.
La separazione tra questi può essere indifferentemente lo spazio, la tabulazione o il ritorno carrello (a capo).
Ogni riga del programma è formata da uno o più dei costrutti precedenti. Sono ammesse righe vuote.
- L'etichetta
- parte dalla prima colonna ed è meglio farla terminare con il due punti ':', vi sono assembler che li vogliono altri che non li vogliono ed altri ancora a cui è indifferente che vi siano o meno. Deve iniziare con un carattere alfabetico o un carattere speciale ammesso. La lunghezza ammessa è peculiarità dell'assemblatore (nei primi assembler era limitata a 8 caratteri ora non più).
- L'istruzione
- è formata da un codice operativo e da nessuno o più operandi. Può essere scritta indifferentemente in maiuscolo o minuscolo o in modo misto.
- Il commento
- inizia con il punto e virgola ';' e dopo si può mettere qualunque carattere. Alcuni assembler accettano l'asterisco '*' in prima colonna e dopo l'istruzione tutto è commento.
[modifica] Esempi
; Questo è un commento ; ; label: ; dowhile(ecc.. Commento all'etichetta.<br> 3loop: ; Etichetta non ammessa, produce un errore (nessun riferimento) Nop ; Istruzione con il solo codice operativo e nessun operando. ld a,b ; Istruzione di carico del registro B nell'accumulatore. MOV AX,BX ; Istruzione di carico del registro BX nel registro AX. jmp label ; salto incondizionato alla label sopra
Non si possono mettere più istruzioni su una riga del programma.
Nella prima colonna vengono messe le label per le entrate nelle routine o i rientri per le istruzioni di salto condizionato o incondizionato
L'istruzione o codice Mnemonico va posizionato con un tab o spazi dalla 2 seconda colonna in poi.
Le operazioni della istruzioni sono staccate con un tab od alcuni spazi