Section courante

A propos

Section administrative du site

Format des fichiers de code objet

Le format du fichier de code objet a généralement la syntaxe suivante :

Nom Détails
LoadFile { Frame }.
Frame FrameType FrameSize { FrameWord }.
FrameType "200B" | "201B" |.... | "377B".
FrameSize Number, /nombre de FrameWords/
FrameWord Number.

Le fichier de chargement est une séquence de mots, avec FrameType et Number chacun représentés dans un mot. Le fichier de code objet obéit à une structure syntaxique, appelée ObjectFile.

Nom Détails
ObjectFile Module { Module }.
Module [ VersionFrame ] HeaderFrame [ ImportFrame ]
{ModuleCode | DataFrame }.
VersionFrame VERSION FrameSize VersionNumber.
FrameSize Number.
VersionNumber Number.
HeaderFrame MODULE FrameSize ModuleName DataSize [ CodeSize Flags ]
ModuleName Moduleldent ModuleKey.
Moduleldent Letter { Letter | Digit} {"OC"}. /exactement 16 caractères/
ModuleKey Number Number Number.
DataSize Number, /en mot/
CodeSize Number, /en mot/
Flags Number.
ImportFrame IMPORT FrameSize {ModuleName}.
ModuleCode CodeFrame [ FixupFrame ].
CodeFrame CODETEXT FrameSize WordOffset { Codeword }.
WordOffset Number, /en mot depuis le début du module/
Codeword Number.
FixupFrame FIXUP FrameSize {ByteOffset}.
ByteOffset Number, /en octet depuis le début du module/
DataFrame DATATEXT FrameSize WordOffset { DataWord }.
DataWord Number.
VERSION "200B".
MODULE "201B".
IMPORT "202B".
CODETEXT "203B".
DATATEXT "204B".
FIXUP "205B"

Actuellement, le numéro de version est égal à 3.

Actuellement, les drapeaux sont définis sur 0.

Les ByteOffsets dans FixupFrame pointent vers les octets du code contenant les numéros de module locaux. Les numéros de module locaux doivent être remplacés par les numéros réels des modules correspondants. Le numéro de module local 0 représente le module lui-même, le numéro de module local i (i > 0) représente le i-ème module dans l'ImportFrame. Un programme est activé par un appel à la procédure 0 de son module principal.



Dernière mise à jour : Mercredi, le 3 juin 2015