Tutti i messaggi iniziano con un numero di riferimento ed hanno una breve
spiegazione.
I primi sono indicazioni che la compilazione non è stata completata
correttamente in quanto delle anomalie nel sorgente lo hanno impedito.
Ne fanno parte i messaggi che iniziano con 1.
I Warnings sono pure avvisi della presenza di anomalie presente e si richiede
all' utente di verificare la correttezza dei passi evidenziati per poter
generare un oggetto privo di errori.
Me fanno parte i messaggi che iniziano con 2.
I messaggi generici indicano che la compilazione è riuscita, ma possono
esserci anomalie e l' utente deve intervenire per verificare se il sorgente è
corretto.
Questi messaggi iniziano con 3.
I messaggi sono listati nel file .ERR (se non vengono cambiati i default di
MPASM.
Se l' asemblaggio è effettuato con l' opzione /e-, che sopprime il file .ERR, i
messaggi sono presentati solo a video; se si aggiunge l' opzione /q i messaggi
non saranno visualizzati.
Si troveranno comunque nel file .LST prima della linea che li ha generati.
I messaggi sono escludibili con lo statement
ERRORLEVEL [0|1|2|+<msgnum>|-<msgnum>+]
[,...]
che sopprime quelli indicati in oggetto. I valori dell' oggetto sono:
Valore |
Funzione |
0 |
Stampa messaggi, errori e warnings |
1 |
Stampa errori e warning |
2 |
Stampa errori |
-<msgnum> |
disabilita
la stampa del messaggio <msgnum>
|
+<msgnum> |
abilita la stampa del messaggio <msgnum> |
Da notare che i messaggi di errore non possono essere disabilitati.
I settaggi 0, 1, 2 sovrappassano le eventuali indicazioni <msgnum>.
Ad esempio:
ERRORLEVEL -302
impedisce la stampa del messaggio 302.
Lo scopo dello statement è quello di sopprimere messaggi dell' Assembler che l'
utente ritiene inutili.
Per contro, messaggi di errore possono essere generati con lo statement
ERROR "<testo>"
il quale produce la stampa nel listato del messaggio in oggetto.
Ad esempio:
ERROR "Questo è un messaggio di errore"
Produce la stampa del testo tra gli apici. Il testo deve essere
lungo al massimo 80 caratteri.
Questo statement è utile per generare messaggi di errore in relazione a
condizioni di assemblaggio. Ad esempio:
; assegnazione memoria - second 128 bytes (not Accces Bank)
CBLOCK 0x80
........
end_bank0:0
; dummy for overrun check
ENDC
if end_bank0 > 0xFF ; check for overrun
ERROR "Bank 0 space overrun"
endif |
Nel caso in cui la label dummy end_bank0 si trovi ad essere posta ad un
indirizzo maggiore dell' ampiezza del banco, viene generato un messaggio di
errore.
Analoga è la funzione della direttiva
MESSG "<testo>"
che genera il messaggio in oggetto. Ad esempio:
MESSG "Questo è un messaggio"