Cours Matlab format du fichier source

Cours Matlab format du fichier source, tutoriel & guide de travaux pratiques en pdf.

LE FICHIER SOURCE

Le fichier source peut être tapé dans MPALB comme ci dessus ou à l’aide d’un éditeur de texte quelconque par exemple l’outil EDIT du DOS .et bien sûr dans MPLAB lui-même.
Ce fichier est sauvé avec le suffixe .ASM

Format du fichier source

Ce fichier doit être conforme au format suivant :
Chaque ligne peut contenir 4 types d’information
Des labels (étiquettes )
Des mnémoniques d’instruction
Des opérandes
Des commentaires
La position de ces éléments est importante.
Les labels doivent se trouver impérativement dans la première colonne
Un mnémonique doit commencer dans la seconde colonne (ou plus loin) , il en est de même des directives d’assemblage
L’opérande suit le mnémonique
Les commentaires suivent les opérandes et sont précédés d’un point virgule ; Chaque colonne a une largeur maximale de 255 caractères .
Label Commandes ou mnémonique Opérandes (séparés par , ) ; commentaires
En tête de fichier il est possible de placer un titre et un texte quelconque sous forme de
commentaire , c’est à dire derrière un ; Le titre peut également être introduit après la commande TITLE dans la seconde colonne .format :
Format : TITLE « titre_text »
C’est ce qui a été fait dans l’exemple précédent :
TITLE ″programme mini ″
Puis ensuite , toujours en seconde colonne , la commande LIST suivie d’un certain nombre d’options : LIST [« option1 », »option2 »,……]
La plus importante , le type de microprocesseur
Puis après une virgule F= le format définissant l’organisation des mots de programme :
INHX16 qui organise le résultat en mots de 16 bits
INHX8S
INHX8M qui organisent le résultat en mots de 8 bits ,nous utiliserons de format . et PICICE adapté à l’émulateur de MICROCHIP.
List p=16F84 ,F=INHX8M
Dans certains cas il est nécessaire d’inclure des fichiers ou des programmes , le mot clé est #include Par exemple :
#include «P16f84.inc »
Les informations contenues dans le fichier .INC sont nécessaires pour que l’assembleur re connaisse les noms des registres internes du microprocesseur .Par exemple la ligne :
MOVWF STATUS qui charge le contenu de W dans STATUS est admise , en absence de fichier .INC il aurait fallu écrire :
MOVWF 03
ou préalablement définir l’adresse du registre STATUS par STATUS EQU 03 *( voir note en fin de chapitre )

Les directives du langage

Ce sont des commandes qui apparaissent dans le texte source mais ne sont pas directement transcrites en mots de code.
Directives concernant les données

DATA

[<label> ) DATA <expression>,[ DATA <expression],…
initialise un ou plusieurs mots de la mémoire programme avec des données qui peuvent être des
nombres ,des constantes préalablement définies, des caractères ( entre ‘ expl : data ‘A’ ) DB déclare une donnée d’un seul octet , nombre ou caractère mais les opérations ne sont pas admises [<label<] db <expression> attention les octets sont placès à partir de la gauche or les mots mémoire n’ont que 14 bits DB 0x1F est accepté car il place en mémoire comme premier mot 00011111 00000000 alors que DB 0x81 est refusé car il donnerait un mot 10000001 00000000 qui a un 1 en position 15 .
DE initialise des mots de programme 1 octet dans l’EEPROM
Par exemple DE 12 place comme premier mot mémoire 0012 alors que DB 12 place 1200
Label EQU valeur Donne la valeur indiquée au label Ainsi PortB EQU 05 donne la valeur 5 au mot portB qui peut être ensuite utilisé à la place de 5, par exemple MOVWF PORTB est équivalent à MOWF 5 charge la valeur de W dans la case 5 Label SET valeur Est équivalente à la précédente mais la valeur peut être changée dans le programme .Par exemple
DEBUT SET 6 DEBUT prend la valeur 6
DEBUT SET DEBUT+4 DEBUT vaut maintenant 10
VARIABLE <label> [=<expression>][,<label>[=<expression>]
Crée des symboles qui seront utilisés par l’assembleur Cette directive est analogue à SET mais l’initialisation n’est pas nécessaire.

Directives de Listing

Elles contrôlent le format du fichier .LST fourni par l’assembleur
LIST <option>,[<option>]…
Introduit une suite d’options dont 2 ont déjà été citées .
Les plus importantes :
C= largeur des colonnes du .LST , par défaut 132
F= format la façon dont son représentés les mots de 14 bits , voir plus haut , par dé-faut INHX8M
N= nombre de lignes par page par défaut 60
P= le processeur
R= HEX/DEC/OCT la base de numération utilisée , par défaut HEX TITLE « nom de programme « voir plus haut SUBTITLE « nom de sous programme « PAGE
Insère un saut de page dans le listing SPACE
Insère une ligne de blanc dans le listing
Positionnement des Fusibles
__CONFIG Attention aux deux caractères _ devant le C
Les fusibles sont des bits qui déterminent le type d’oscillateur choisi, la mise en œuvre ou non du chien de garde etc.. .Ils sont écrits dans la mémoire à l’adresse 2000 qui n’est pas accessible comme les autres cases de la mémoire programme. L’écriture dans cette case particulière ne peut être effectuée que lors de la programmation du circuit.. Certains programmateurs permettent de choisir l’état des fusibles au moment de la programmation , mais il est possible d’inclure en début de programme une directive spéciale _CONFIG (Attention au tiret devant le mot CONFIG ) . Dans le cas du PIC 16F84 le mot à écrire est le suivant (c’est bien sûr un mot de 14 bits )

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *