Tutorials - PIC

 

MPASM


ERRORS

In generale, gli Errors indicano gravi problemi nel sorgente che ne impedisce la corretta compilazione.
In questo senso, non è possibile disabilitare la stampa degli Errors.

# Messaggio Funzione
101 ERROR User error, richiamato da una direttiva ERROR inserita nel sorgente.
102 Out of memory Non c'è sufficiente memoria nel sistema di sviluppo per macros, #defines o processi interni.
103 Symbol table full Non c'è sufficiente memoria nel sistema di sviluppo per macros, #defines o processi interni.
104 Temp file creation error Non si possono creare file temporanei sul disco del sistema di sviluppo.
105 Cannot open file. Impossibile aprire il file richiesto, sia perchè non esiste, sia perchè il path fornito non è corretto.
106 String substitution too complex. Troppo complessa la struttura di un #defines.
107 Illegal digit.  E' presente un digit illegale in un numero. I digit validi sono le cifre 0-1 per i numeri binari, 0-7 per gli ottali, 0-9 per i decimali e 0-9, a-f, e A-F per gli esadecimali.
108 Illegal character. E' presente un carattere illegale in una label. I caratteri ammessi sono le lettere dell' alfabeto, maiscolo o minuscolo (a..f, A..F), i numeri (0-9), l' underscore (_), e il punto interrogativo (?). Inoltre le label non possono iniziare con un numero.
109 Unmatched ( .  C'è una parentesi aperta senza la sua chiusura.
110 Unmatched ) . C'è una parentesi chiusa senza quella di apertura.
111 Missing symbol. Manca un simbolo in uno statement EQU o SET.
112 Missing operator. Manca un operatore aritmetico in una espressione.
113 Symbol not previously defined. Si fa riferimento ad un simbolo che non è stato definito prima. Solo indirizzi possono essere usati come riferimenti successivi: costanti e variabili vanno dichiarate prima di essere usate.
114 Divide by zero. E' stata incontrata una divisione per 0 durante la valutazione di una espressione.
115 Duplicate label. Una label è stata dichiarata più volte (ad esempio in EQU o CBLOCK)
116 Address label duplicated or different in second pass. Una label è stata usata irregolarmente, per cui, valutata nel primo passo della compilazione, si ritrova duplicata alla seconda verifica. Questo messaggio appare anche quando l' utente cerca di scrivere macro di page-bit setting che generano differenti numeri di istruzione a seconda della destinazione.
117 Address wrapped around 0. Il location counter arriva a FFFFh dopo di che ritorna a 0.
118 Overwriting previous address contents. Il codice cerca di sovrascrivere una locazione già precedentemente usata, ad esempio per un errore nell' assegnazione di un ORG.
119 Code too fragmented. Il codice risulta troppo frammentato. Si tratta di un errore molto raro che capita solamente in codici sorgenti che superano i 32k.
120 Call or jump not allowed at this address. E' stata incontrata una istruzione di CALL o un jump ad un indirizzo non consentito. Ad esempio, nella famiglia PIC16C5x CALL può essere indirizzato solo nella prima metà della pagina.
121 Illegal label. E' stata usata una label non permessa (ad esempio HIGH, LOW, PAGE, e BANK non possono essere usati come label).
122 Illegal opcode. E' stato rilevato un opcodes non valido, ad esempio per semplice errore di battitura o perchè non fa parte del set di istruzioni del processore usato (ad esempio RRNCF per i mid-range).
123 Illegal directive. E' stata rilevata una direttiva non valida, ad esempio per semplice errore di battitura o perchè non fa parte delle possibilità del processore del processore usato (ad esempio _IDLOCS per il PIC17C42).
124 Illegal argument. E' stato rilevato un argomento di una direttiva non valido, ad esempio per semplice errore di battitura.
125 Illegal condition. E' stata rilevata una condizione di assemblaggio non ammessa, ad esempio un ENDIF privo del relativo IF.
126 Argument out of range.  Opcode o argomento di una direttiva al di fuori del range valido, ad esempio TRIS 10.
127 Too many arguments. Ci sono troppi argomenti nella chiamata di una macro rispetto a quelli definiti dalla macro stessa.
128 Missing argument(s). Mancano sufficienti argomenti per una macro o un opcode.
129 Expected. Il compilatore non trova un certo tipo di argomento che si aspettava (indicato nel messaggio)
130 Processor type previously defined. Nel sorgente sono definiti due processori differenti.
131 Processor type is undefined.  Nel sorgente manca la definizione del processore usato.
132 Unknown processor. E' definito un processore che non esiste nella lista degli .inc di MPASM
133 Hex file format INHX32 required.  dato che nel sorgente è stato specificato un indirizzo oltre i 32k, è richiesto un particolare tipo di hex.
134 Illegal hex file format. Nella direttiva LIST l' utente ha specificato un formato hex non supportato.
135 Macro name missing.  E' stata definita una macro, ma manca il suo nome.
136 Duplicate macro name.  Il nome di una macro è stato definito più di una volta nel sorgente.
137 Macros nested too deep.  E' stato superato il massimo di annidamento delle macro.
138 Include files nested too deep. E' stato superato il massimo di annidamento degli include.
139 Maximum of 100 lines inside WHILE-ENDW. In un loop WHILE-ENDW ci sono più di 100 linee.
140 WHILE must terminate within 256 iterations. In un loop WHILE-ENDW ci sono più di 256 iterazioni.
141 WHILEs nested too deep. In un loop WHILE-ENDW E' stato superato il massimo di annidamento.
142 IFs nested too deep. E' stato superato il massimo di annidamento in una serie di IF.
143 Illegal nesting.  Macro, IF e WHILE devono essere completati e non possono incrociarsi. Ad esempio, se nel sorgente c'è un IF all' interno di un loop WHILE, l'ENDIF deve trovarsi listato prima dell' ENDW.
144 Unmatched ENDC. E' stato rilevato un ENDC senza il relativo CBLOCK.
145 Unmatched ENDM. E' stato rilevato un ENDM senza la relativa definizione della MACRO.
146 Unmatched EXITM. E' stato rilevato un EXITM senza la relativa definizione della MACRO.
147 Directive not allowed when generating an object file. Una direttiva ORG non ha senso quando viene generato il file oggetto. Dati o sezioni di codice vanno dichiarati specificando, se necessario, l' indirizzo.
148 Expanded source line exceeded 200 characters. La massima lunghezza di una linea del sorgente dopo #DEFINE e parametri sostitivi di macro è di 200 caratteri. Nel caso di #DEFINE snon sono inclusi i commenti ma lo sono per le macro.
149 Directive only allowed when generating an object file section. Certe direttive come GLOBAL e EXTERN hanno senso solo se viene generato un file ogetto. Nn vanno usate per la generazione di un codice assoluto.
150 Labels must be defined in a code or data section when making an object file. Quando viene generato un file oggetto, tutte le label relative a dati o codice devono essere definite all' interno delle aree dati o delle sezioni di codice. Simboli stabiliti dalle direttive EQU e SET possono essere definiti al di fuori della sezione.
151 Operand contains unresolvable labels or is too complex. Quando si genera un file oggetto, gli operandi non possono essere nella forma [HIGH|LOW]([]+[]).
152 Executable code and data must be defined in an appropriate section. Quando si genera un file oggetto, tutto il codice eseguibile e le dichiarazioni dei dati devono trovarsi nelle rispettive sezioni.
153 Page or Bank bits cannot be evaluated for the operand. PAGESEL, BANKSEL o BANKISEL non possono essere valutati come operandi in una formula.
154 Each object file section must be contiguous. Le sezioni file oggetto, eccetto UDATA_OVR, non possono essere arrestate e riavviate in un singolo file sorgente.
Per risolvere questo problema nominare le sezioni con il loro nome proprietario o spostare le dichiarazioni di dati e codicein modo che le sezioni siano contigue. Questo errore viene generato anche quando due sezioni di tipo differente hanno lo stesso nome.
155 All overlaid sections of the same name must have the same starting address.  Se sono dichiarate sezioni multiple UDATA_OVR con lo stesso nome, esse devono avere tutte lo stesso indirizzo di partenza.
156 Operand must be an address label. Quando si genera un file oggetto, solo le label degli in dirizzi nel codice o nella sezione dati possono essere dichiarate GLOBAL. Variabili dichiarate con le direttive SET o EQU potrebbero non essere esportabili.
157 UNKNOWN ERROR. E' avvenuto un errore del quale MPASM non è in grado di definire la causa e non è tra quelli listati qui sopra. Contattare un Microchip Field Application Engineer (FAE) se non si è in grado di risolvere il problema.



 

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 06/12/10.