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 ---
Forum général sur l'Assembleur !

Modérateur : mazertoc

pic-as
LP_2
Amateur
Amateur
Messages : 170
Enregistré en : août 2022
Localisation : Haute-Loire

#71 Message par LP_2 » lun. 26 janv. 2026 10:04

Merci, mais de ce que je comprend c'est pour permettre l'utilisation de composants trop récents pour le pickit3 ?

Quoiqu'il en soit, ça va pas y faire
To download this software for Windows . . .
J'y arriverai . . .

pic-as
LP_2
Amateur
Amateur
Messages : 170
Enregistré en : août 2022
Localisation : Haute-Loire

#72 Message par LP_2 » lun. 26 janv. 2026 17:10

Curiosité dans le simulateur.

Ffenêtre program memory.
Colonne DisAssy
PMADRL et suivants bank3 sont remplacés par PIR1 et suivants bank0, ils ont le même rang . . .
SAUF
lorsque le pointeur adresse arrive dessus (mais instruction non exécutée) il prend momentannément le nom du bon registre
Dans les fichiers listing.disasm et Disassembly l'instruction est correcte

Fenêtres visualisation registres
bsf pmcon1,0 (lecture flash)
ne fais rien, dans les autres fenêtre non plus . . .
Comme il est censé être remis à zéro par hard, on espère que c'est normal . . .
La flash programme est bien prise en compte par le simulateur.
J'y arriverai . . .

pic-as
LP_2
Amateur
Amateur
Messages : 170
Enregistré en : août 2022
Localisation : Haute-Loire

#73 Message par LP_2 » ven. 30 janv. 2026 16:06

LP_2 a écrit :Fenêtre program memory.
Colonne DisAssy
PMADRL et suivants bank3 sont remplacés par PIR1 et suivants bank0, ils ont le même rang . . .
SAUF
lorsque le pointeur adresse arrive dessus (mais instruction non exécutée) il prend momentannément le nom du bon registre

Je viens de voir dans la doc que c'est normal.
J'y arriverai . . .

pic-as
satinas
Expert
Expert
Messages : 1507
Enregistré en : novembre 2015

#74 Message par satinas » ven. 30 janv. 2026 17:14

C'est normal car quand le simulateur n'a pas encore démarré, il considère que la bank active est la 0, car BSR est à 0 au reset. Il affiche donc les registres et variables en bank 0. Une fois qu'il a démarré et à chaque modification de BSR, il doit afficher les registres et variables de la bank activée.

pic-as
LP_2
Amateur
Amateur
Messages : 170
Enregistré en : août 2022
Localisation : Haute-Loire

#75 Message par LP_2 » dim. 1 févr. 2026 11:57

Il s'agit d'un fonctionnement avec le simulateur, qui apparait seulement à partir de la v5.25
C'est là : 13.1.2 Banked Data Memory and Values Displayed in Windows
J'y arriverai . . .

pic-as
LP_2
Amateur
Amateur
Messages : 170
Enregistré en : août 2022
Localisation : Haute-Loire

#76 Message par LP_2 » mer. 18 mars 2026 17:13

Bonjour tout le monde

Après modif (pour ajouter la gestion des interruptions) ça marche plus.
Il me sort erreur de syntaxe après END rst_0 et END INT.
Pour PROG pas d'erreur !

PSECT rst_0,abs,class=CODE,space=0,delta=2
ORG 0h
rst_0:
goto PROG
END rst_0
;========== INTERRUPTIONS ===========
PSECT INT,abs,class=CODE,space=0,delta=2
ORG 04h
INT:
END INT
;============ PROGRAMME =============
PSECT PROG,abs,class=CODE,space=0,delta=2
ORG 1000h
PROG:
xxxxx
END PROG


Avant (et ça fonctionnait) de modifier j'avais
PSECT rst_0,abs,class=CODE,space=0,delta=2
ORG 0h
rst_0:
goto osc
ORG 5h
osc:


Ce que j'en déduis est qu'il me suffit de garder la version "avant" et de glisser un ORG 4h pour les interruptions.
Et pour le programme modifier ORG 5h en fonction de la taille du programme d'interruption.
Ce serait correct ?

PS - J'ai droit à l'étiquette amateur. C'est possible d'avoir l'étiquette maso svp ? Merci !
J'y arriverai . . .

pic-as
satinas
Expert
Expert
Messages : 1507
Enregistré en : novembre 2015

#77 Message par satinas » mer. 18 mars 2026 18:24

Hello,
Oui c'est correct. Dans les sections de type ABS , toutes les directives ORG ont pour origine l'adresse absolue 0x0. Un seul PSECT devrait suffire. Le "ORG 0h" est implicite à mon avis, et tu peux te passer du "ORG 5h", le reste du code se placera alors juste après la routine d'interruption.

pic-as
satinas
Expert
Expert
Messages : 1507
Enregistré en : novembre 2015

#78 Message par satinas » mer. 18 mars 2026 18:36

Houla, j'avais pas vu, pourquoi tu mets plusieurs directives END dans ton programme, il en faut un seul à la fin. C'est un "end program", pas un "end psect" :-)

pic-as
LP_2
Amateur
Amateur
Messages : 170
Enregistré en : août 2022
Localisation : Haute-Loire

#79 Message par LP_2 » mer. 18 mars 2026 20:05

Ah ?!

J'avais mis un
END étiquette
en fin de
PSECT étiquette, etc

parce que un
END
me sortait une erreur (me souviens plus laquelle).
J'y arriverai . . .

pic-as
satinas
Expert
Expert
Messages : 1507
Enregistré en : novembre 2015

#80 Message par satinas » mer. 18 mars 2026 21:50

Je ne vois pas bien ce qui te chagrine. Quel que soit le contenu du programme, on met la directive END à la toute fin du programme source, en y ajoutant optionnellement l'étiquette du point d'entrée du programme. Si on ne met pas cette étiquette, il assemble quand même en affichant un warning.
Donc le programme source doit se terminer par la ligne end rst_0


Retourner vers « Langage ASM »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 6 invités