Foutmeldingen
Hieronder volgt een lijst van alle foutmeldingen die de assembler kan genereren. Een fout wordt in de listing aangegeven met
----- ERROR #nnnnn ffffffffffff
onder de tekstregel waarin de fout geconstateerd werd.
Elke fout heeft een volgnummer (nnnnn) en een omschrijving (ffffffffffff). Indien mogelijk wordt een ^ teken gebruikt om aan te wijzen op welke plaats in de tekstregel de fout geconstateerd werd.
Fouten in expressies
De fouten die in een expressie (uitdrukking) kunnen optreden zijn:
No ')'
Geen ) teken voor elk ( teken.
No value found
Er mist een waarde in de uitdrukking.
Unknown identifier
U heeft een label gebruikt dat de assembler niet kent.
Segments are reserved
U mag de naam van een pointer (bijvoorbeeld DATA of PROGRAM) niet in een uitdrukking gebruiken.
Opcodes are reserved
U mag geen instructies in een uitdrukking gebruiken. Bijvoorbeeld: laada equ ldaa is verboden.
Missing value
U heeft een waarde vergeten op te geven.
Value expected
In de berekening wordt een waarde verwacht, maar die is niet gegeven.
Division by 0
Delen door 0 is niet toegestaan.
Shiftcount negative or > 15
U kunt niet meer dan 15 en niet minder dan 0 keer schuiven.
Result out of range
De uitkomst van de berekening past niet in 16 bits. De fout treedt ook op wanneer een berekening een resultaat oplevert waarin het meest significante byte niet 0 is, maar waarvan alleen het minst significante byte gebruikt wordt. Bijvoorbeeld:
ldab #(128 * 60)
De instructie 'ldab' heeft als operand een byte, maar de berekening levert een getal op dat niet in een byte past. Dit genereert een foutmelding.
De fout wordt ook gegenereerd wanneer een BRANCH instructie een te grote sprong moet maken.
Expression required
Er wordt een uitdrukking verwacht, maar die is niet gegeven.
Fouten in getallen en vaste tekst
Fouten die kunnen optreden in de getallen of teksten die U typt zijn:
Wrong digit
U gebruikt een illegaal cijfer, bijvoorbeeld een 4 in een binair getal (%000014.)
Character not allowed
Er staat een illegaal teken in een getal.
String overflow
De tekst is te lang.
String has no end
U heeft het sluitende ' teken in een vaste tekst vergeten.
String is empty
De string bevat geen tekens.
Too much data
U heeft een getal getypt op een plaats waar dit niet verwacht werd.
Line too long to handle
De ingevoerde regel is te lang voor de assembler.
Fouten in de instructies
Bij het vertalen van de instructies en pseudo-instructies kan de assembler de volgende fouten herkennen:
File not found
De te assembleren file heeft geen naam. U moet altijd eerst de tekst in een file opslaan voordat U de assembler start.
Include nesting too deep
U mag niet meer dan 5 diep bij het nesten van 'include' files.
Missing filespec
Bij een 'incl' pseudo-instructie is geen filenaam opgegeven.
Excess data
U heeft meer gegevens opgegeven dan nodig is voor de instructie.
No segment given
U heeft de SPACE pseudo-instructie gebruikt zonder aan te geven welke pointer gebruikt moet worden.
No identifier found
De assembler verwacht een label maar kan dit niet vinden.
No label allowed here
U probeert een label te definiëren op een plaats waar dit niet is toegestaan.
Opcode expected
De assembler verwacht een instructie maar kan die niet vinden.
Too much data
U heeft meer gegevens ingevoerd dan nodig op deze plaats.
Wrong type
Het type van de uitdrukking komt niet overeen met het type dat verwacht wordt.
Already defined
U probeert een label twee keer te definiëren, of U probeert een label een gereserveerde naam te geven. Een label moet een unieke naam hebben, en mag ook niet overeenkomen met de namen van de instructies of de pseudo-instructies.
Phase error
De assembler kan een bepaalde constructie niet oplossen. Zie ook 'Two-pass assembleren.' Deze fout kunt
u meestal verbeteren door de volgorde waarin u de labels definiëert te veranderen (zodat een label eerst een waarde krijgt voordat het label gebruikt wordt in een uitdrukking.)
|