Section courante

A propos

Section administrative du site

 Langage  Elément  Emulateur  Aide 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
Référence des pseudo-opérations
C64 Forever
VICE
Préface
Notes légal
Dictionnaire
Recherche

Référence des messages d'erreurs

L'ASSEMBLER 64 a un ensemble de messages d'erreur. Les erreurs sont affichées dans les passes 1 et 2. Si l'assembleur reconnaît une erreur, 4 astérisques suivis du message d'erreur s'affichent. La ligne contenant l'erreur sera alors affichée à l'écran, quels que soient les paramètres «.OPT P». Pour une erreur de syntaxe, un chiffre sera également affiché devant les quatre astérisques décrivant l'erreur plus en détail. Il existe 10 types d'erreurs de syntaxe différents pouvant se produire. Ils sont listés ci-dessous. D'autres erreurs peuvent encore se produire lors de l'utilisation de macros; ceux-ci sont indiqués par une lettre préfixée.

Certaines erreurs sont «fatales», ce qui signifie qu'elles provoquent l'arrêt de l'assembleur. Un point d'exclamation s'affiche devant les lignes contenant des erreurs fatales. L'assemblage est arrêté après l'affichage du message. Le premier octet du code objet créé pour une telle ligne est un zéro, étant la commande BRK du 6502. Si vous essayez d'exécuter un tel programme, une commande BRK est exécutée lorsqu'il s'agit de la ligne erronée, effectuant un démarrage à chaud ou vous renvoie le moniteur, s'il est chargé. En général, vous devez d'abord corriger les erreurs avant d'exécuter un programme en langage assembleur.

Un type d'erreur qu'ASSEMBLER 64 ne peut pas détecter est une erreur de phase. Cette erreur ne se produit généralement pas, mais peut être rencontrée avec certaines combinaisons d'assemblage conditionnel contenant des pseudo-opérations .BYTE ou .WORD. Une erreur de phase se produit lorsque le compteur de programme est différent lors de l'étape 2 que lors de l'étape 1. Vous pouvez reconnaître le message :

PHASB .IF PHASE-* : PHASE ERROR

Normalement, PHASE a la même valeur que le compteur de programme et le code derrière les deux points n'est jamais exécuté. Si un déplacement de phase se produit, le résultat n'est pas nul et l'instruction supplémentaire entraîne une erreur de syntaxe que vous pouvez reconnaître.

Erreur statistiques

Avant le début de la passe 2, l'ASSEMBLEUR 64 sort le nombre d'erreurs de la passe 1, s'il y en a eu. Par exemple :

2 ERRORS IN PASS 1

Après l'étape 2, lorsque l'assemblage est terminé, le nombre d'erreurs de l'étape 2 s'affiche. Si l'assemblage était exempt d'erreurs, le message suivant s'affiche :

NO ERRORS

Si des erreurs ont été rencontrées, ce numéro s'affiche. Par exemple :

4 ERRORS

Messages

SYNTAXE : Ce message d'erreur est précédé d'un chiffre décrivant l'erreur plus en détail. Ces chiffres ont la signification suivante :

Code Description
0 Ce code d'erreur permet d'indiquer que l'étiquette pour l'affectation vide n'est pas autorisée (la ligne ne contient qu'une seule chaîne de caractères).
1 Ce code d'erreur permet d'indiquer un Opcode illégal.
2 Ce code d'erreur permet d'indiquer un mode d'adressage illégal - cette commande ne peut pas être utilisée avec ce mode d'adressage.
3 Ce code d'erreur permet d'indiquer un opérateur inconnu dans l'expression (caractère non autorisé dans une expression).
4 Ce code d'erreur permet d'indiquer des parenthèses non appariées.
5 Ce code d'erreur permet d'indiquer une expression illégale - caractère illégal dans une expression ou une chaîne de caractères vide "".
6 Ce code d'erreur permet d'indiquer une virgule manquante - une pseudo-opération attend une virgule.
7 Ce code d'erreur permet d'indiquer une pseudo-opération illégale. La chaîne de caractères .XXX n'est pas reconnue comme une pseudo-opération.
8 Ce code d'erreur permet d'indiquer que le symbole ne commence pas par une lettre. Un symbole était attendu, mais aucun caractère alphabétique n'a été trouvé.
9 Ce code d'erreur permet d'indiquer un Opcode avec mode d'adressage non autorisé.

Les erreurs de syntaxe suivantes peuvent se produire pour les macros :

Code Description
B Ce code d'erreur permet d'indiquer une commande .MEND sans .MAC précédent est rencontré.
C Ce code d'erreur permet d'indiquer une définition de macro non fermée.
D Ce code d'erreur permet d'indiquer une définition de macro imbriquée - les macros dans les macros ne sont pas autorisées.
F Ce code d'erreur permet d'indiquer un nombre de paramètres illégal. Le nombre de paramètres dans l'appel de macro ne correspond pas au nombre dans la définition de macro.

Enfin, les messages d'erreurs :

Message Description
ILLEGAL QUANTITY Ce message d'erreur permet d'indiquer que l'expression est évaluée à une valeur située en dehors de l'intervalle pour cette commande ou cette pseudo-opération. L'expression donne une valeur supérieure à 65535.
OVERFLOW Ce message d'erreur permet d'indiquer que le tampon d'entrée utilisé par ASSEMBLER 64 pour décoder les lignes source est trop petit. Divisez la ligne en plusieurs instructions ou utilisez une variable temporaire afin de simplifier l'expression.
BRANCH OUT OF RANGE Ce message d'erreur permet d'indiquer qu'un saut relatif (commande de branchement) sur une distance supérieure à 128 octets a été tenté.
REDEFINITION Ce message d'erreur permet d'indiquer qu'une tentative a été effectuée pour définir un symbole deux fois sans utiliser l'opérateur de redéfinition.
UNDEF'D STATEMENT Ce message d'erreur permet d'indiquer qu'une étiquette ou une expression n'est pas définie.
REVERSAL Ce message d'erreur permet d'indiquer qu'une tentative a été faite pour assembler le code à une adresse inférieure à la dernière adresse. Cette erreur ne se produit pas lorsque vous assemblez directement en mémoire. Il s'agit d'une erreur fatale, comme le sont tous les éléments suivants.
SYM TABLE OVERFLOW Ce message d'erreur permet d'indiquer que vous avez essayé de définir plus de symboles que d'espace dans la table des symboles. Définissez le minimum du bas avec .STM ou divisez votre programme en plusieurs parties. Ce message d'erreur peut également apparaître lors du chargement d'un programme source avec .FILE si le programme est trop volumineux et qu'une partie de la table des symboles a été remplacée. Divisez le programme en parties plus petites.
OUT OF MEMORY Ce message d'erreur permet d'indiquer que le tampon du code objet (mode .OPT O) est trop petit. Vous devez choisir un autre type de sortie, tel qu'un disque.
UNDEF'D STATEMENT Ce message d'erreur permet d'indiquer qu'un GOTO vers une ligne inexistante (exactement comme dans BASIC). Contrairement à l'erreur mentionnée précédemment, celle-ci est fatale.
DBVICE NOT PRESENT Ce message d'erreur permet d'indiquer que le périphérique adressé n'est pas présent sur le bus ou ne répond pas.
IEEE Ce message d'erreur permet d'indiquer une autre erreur sur le bus IEEE.
DISK Ce message d'erreur permet d'indiquer une erreur de disque. Le message d'erreur de l'unité de disque a été donné juste avant ce message.


PARTAGER CETTE PAGE SUR
Dernière mise à jour : Samedi, le 11 juillet 2020