Quali sono gli errori di compilazione più frequenti? (Ultimi
consigli - 2)
Naturalmente l'esercizio di scrittura dei
sorgenti potrà presentare altri tipi d'errore; tra questi desidero
sottolinearne alcuni che, di solito, spaventano a morte... in neofita:
severe: Open
segments: _PROG (Segmenti aperti,
cioè non chiusi)
severe: Open
procedures: Main (Procedure aperte,
cioè non chiuse)
severe: Block
nesting error (molto probabile con i
primi 2)
warning: End of file encountered on input file
Se ti capita di subirne la presenza, spesso
insieme all'errore error A2000: Block nesting
error, accertati che le parole
chiave (pseudooperazioni o direttive) della sintassi siano sempre in coppia (proc
e ENDP,
SEGMENT
e ENDS) e con le rispettive etichette
(per esempio Main e _prog)
e abbi cura di fissare l'inizio e la fine di un programma con un'altra
etichetta (per esempio INIZIO e
END INIZIO);
consulta la pagina
dedicata a queste direttive e
poi guarda l'esempio:
_prog
SEGMENT BYTE PUBLIC 'CODE'
ASSUME CS:_prog,DS:_prog
ORG
0100H
INIZIO: JMP Main
ATTRIB DB 10H
Main proc
NEAR
MOV
AX,BX
Main ENDP
_prog ENDS END INIZIO
La scheda
dedicata alle PseudoOperazioni di MASM
è una straordinaria occasione per mettere in pratica alcuni semplici
esercizi; in essa sono evidenziate, in più occasioni, le segnalazioni
d'errore presentate da MASM in caso di errata gestione delle sue direttive.
Sembra utile raccoglierle in questa sede, a
completamento del paragrafo dedicato agli errori, con i rispettivi link: