Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
MPASM
Comme je le dis ici
Dans ce nouveau sujet, chacun pourra écrire une page sur une fonctionnalité particulière de MPASM, de préférence en donnant un exemple pertinent d'utilisation.
Je confirme
J'ouvre le bal en espérant bien ne pas danser seul
JJE a écrit :Source du message Tout le monde s'en sert quotidiennement, mais on n'en n'en parle jamais.
Dans ce nouveau sujet, chacun pourra écrire une page sur une fonctionnalité particulière de MPASM, de préférence en donnant un exemple pertinent d'utilisation.
Je confirme
JJE a écrit :Source du message Pour chaque nouvelle participation, je m'engage à mettre, dans ces premiers posts un lien vers ce nouveau sujet (sujet dans le sujet )
J'ouvre le bal en espérant bien ne pas danser seul
- Introduction post #6
Phases de l'assembleur post #7
Les étiquettes post #3
Assemblage conditionnel post #2
Boucle while post #4
macros post #5
Modifié en dernier par JJE le ven. 7 juin 2019 11:24, modifié 5 fois.
MPASM
MPASM
Les étiquettes
Objets à tout faire de cet assembleur, leur syntaxe est précisée en post #10.
Elles sont associées par l'assembleur à une valeur numérique de 32 bits. Seule exception une étiquette introduite par une directive define.
Elles sont définies par l'une des méthodes décrites ci-dessous et doivent être écrites en colonne 1, sinon l'assembleur déclare un warning 207 mais a priori sans effet. Cette contrainte n'est pas exigée à l'intérieur d'un CBLOCK, ni dans l'utilisation d'une directive define, variable ou constant.
Objets à tout faire de cet assembleur, leur syntaxe est précisée en post #10.
Elles sont associées par l'assembleur à une valeur numérique de 32 bits. Seule exception une étiquette introduite par une directive define.
Elles sont définies par l'une des méthodes décrites ci-dessous et doivent être écrites en colonne 1, sinon l'assembleur déclare un warning 207 mais a priori sans effet. Cette contrainte n'est pas exigée à l'intérieur d'un CBLOCK, ni dans l'utilisation d'une directive define, variable ou constant.
- Utilisées dans un bloc de déclaration de variables (entre CBLOCK et endc) elles servent à désigner une variable, en fait son premier octet.
Utilisées dans un bloc de programme (entre ORG et le END de la fin du programme ) elles servent à désigner un mot de programme, permettant entre autre les goto et call mais aussi la manipulation de PCLATH
Elles peuvent être définies par l'une des directives suivantes
define voir post #11
equ voir post #12
variable voir post #13
set voir post #14
constant voir post #15
Modifié en dernier par JJE le ven. 7 juin 2019 17:50, modifié 3 fois.
MPASM
MPASM
MPASM
Introduction
L'idée de ce sujet et de fournir quelques compléments à la documentation de MPASM fournie dans MPLAB menu Help/Topics/MPASM, ainsi que quelques exemples d'utilisation des différentes directives.
Certaines sont de peu d'utilité quand on travail pour soi même, mais pas toutes, mais certaines sont indispensables quand on veut écrire du code portable et/ou réutilisable, ce qui est toujours souhaitable, même pour soi.
L'idée de ce sujet et de fournir quelques compléments à la documentation de MPASM fournie dans MPLAB menu Help/Topics/MPASM, ainsi que quelques exemples d'utilisation des différentes directives.
Certaines sont de peu d'utilité quand on travail pour soi même, mais pas toutes, mais certaines sont indispensables quand on veut écrire du code portable et/ou réutilisable, ce qui est toujours souhaitable, même pour soi.
MPASM
MPASM
Bonjour JJE, et tout le forum,
Je doute que tu aies une réponses, car je sais même pas ce que ça veut dire.
Peux tu t'expliquer ?
A+
JJE a écrit :Source du message Quelqu'un peut-il me renseigner sur MPASM et/ou plus généralement sur un Assembleur "abstrait" ?
Je doute que tu aies une réponses, car je sais même pas ce que ça veut dire.
Peux tu t'expliquer ?
A+
MPASM
Excuse moi, j'ai été un peu rapide, je voulais dire comme le titre du sujet l'indique,
Comme tu sais, un assembleur a pour mission de traduire le texte d'un fichier contenant le code source en la suite de mots qui devront être gravés dans le pic, au moins dans le cas où on lui demande de générer du code absolu. Il ne peut le faire en une seule passe pour quantité de raisons (entre autre, les références en avant).
Ces différentes phases ont probablement un nom qui permet d'échanger entre amis en sachant ce dont on parle.
Dans la situation de ces posts, a priori, je m'intéresse à la première passe qui consiste à transformer le code source écrit par le programmeur en un code source développé qui a intégré nombre de directives, probablement toutes, et permet un calcul de la valeur des étiquettes définies dans la zone programme, par exemple. J'aimerais bien utiliser un nom, non ambigu, et de préférence largement partagé.
JJE a écrit :Source du message Quelqu'un peut-il me renseigner sur les différentes phases de MPASM et/ou plus généralement sur un Assembleur "abstrait"
Comme tu sais, un assembleur a pour mission de traduire le texte d'un fichier contenant le code source en la suite de mots qui devront être gravés dans le pic, au moins dans le cas où on lui demande de générer du code absolu. Il ne peut le faire en une seule passe pour quantité de raisons (entre autre, les références en avant).
Ces différentes phases ont probablement un nom qui permet d'échanger entre amis en sachant ce dont on parle.
Dans la situation de ces posts, a priori, je m'intéresse à la première passe qui consiste à transformer le code source écrit par le programmeur en un code source développé qui a intégré nombre de directives, probablement toutes, et permet un calcul de la valeur des étiquettes définies dans la zone programme, par exemple. J'aimerais bien utiliser un nom, non ambigu, et de préférence largement partagé.
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 27 invités