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
venom
Avatar de l’utilisateur
Expert
Expert
Messages : 1619
Âge : 40
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#11 Message par venom » sam. 29 nov. 2025 22:40

F6FCO a écrit :Est ce que Mplab 8.92 fonctionne sur Linux ? Pas trouvé d'infos correctes sur ce sujet.


Salut F6FC0. Je pense qu'il est possible de faire tourner Mplab 8.92 32biis sur un linux récent via wine32 et en installant l'architecture i386

Code : Tout sélectionner

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install wine32 wine


Mais ne le fait pas tu va polluer ta distrib pour rien car tu pourra coder/compiler. (En théorie)
Mais il te sera impossible de programmer le pic via pickit car wine ne pourra pas accéder à la couche USB. C'est plus du "bricolage" qu'autre chose :-D

Après pour programmer le pic tu peux passer par pk2cmd mais tout se fait uniquement en ligne de commande et seulement compatible pickit 2 :? Beaucoup de contraintes.

Mplab x ipe reste une alternative en 64bits je pense






@++
Mon site web
Mon discord : venom#4888

pic-as
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 2846
Âge : 99
Enregistré en : décembre 2017
Localisation : Banlieue sud de Klyntar
Contact :

#12 Message par F6FCO » mar. 2 déc. 2025 10:23

Salut Bruno,
Bon je ne vais pas le faire du coup, c'était juste pour optimiser mon PI5 et pouvoir programmer des PIC à partir du cyberdeck. Juste histoire de... pas essentiel j'ai déjà un PC optimisé pour cela.
Une porte nand prend 2 bits en entrée... :eek:

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

#13 Message par LP_2 » sam. 10 janv. 2026 17:15

Bonjour

Je ne montre que ce bout, plus simple à lire.

Code : Tout sélectionner

#define        pmcon1        PMCON1        ;  ***  CFGS LWLO FREE WRERR WREN WR RD
 
. . .
 
bcf        pmcon1,    0
 bsf        pmcon1
,    1

Pour les deux dernières lignes il me sort "syntaxe error". Une idée ?

En fin de journée je suis pas très opérationnel . . .
J'y arriverai . . .

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

#14 Message par satinas » sam. 10 janv. 2026 18:16

Quel est le message d'erreur complet ?

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

#15 Message par LP_2 » dim. 11 janv. 2026 13:41

Et hop :

Code : Tout sélectionner

CLEAN SUCCESSFUL (total time: 64ms)
"/opt/microchip/xc8/v3.10/pic-as/bin/pic-as" -mcpu=PIC16F1719 -\
-
o build/default/production/_ext/569843250/chargeur.\
/
home/kamaz/MPLABXProjects/chargeur_2S.X/chargeur.\
  -mdfp="/opt/microchip/mplabx/v6.20/packs/Microchip/PIC12-16F1xxx_DFP/1.7.242/xc8"  -msummary=+mem,+psect,-class,-hex,-file,-sha1,-sha256,-xml,-xmlfull -fmax-errors=20 -mwarn=-xassembler-with-cpp
/home/kamaz/MPLABXProjects/chargeur_2S.X/chargeur.S:62:: error: (876) syntax error
/home/kamaz/MPLABXProjects/chargeur_2S.X/chargeur.S:63:: error: (876) syntax error
/home/kamaz/MPLABXProjects/chargeur_2S.X/chargeur.S:71:: error: (876) syntax error
make
: *** [nbproject/Makefile-default.mk:104: build/default/production/_ext/569843250/chargeur.o] Error 1

BUILD FAILED 
(exit value 2, total time: 220ms)

Je précise que dans le fichier .S pmcon1et PMCON1 sont de la même couleur (par défaut bleu clair).
Et pour la ligne 71 : END se trouve ligne 70, 71 est "vide" est il y a du code derrière. Le END a été placé là pour que la suite ne soit pas prise en compte . . .
J'y arriverai . . .

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

#16 Message par LP_2 » dim. 11 janv. 2026 14:07

Supprimé ce qui suit END, l'erreur ligne 71 est également supprimée.
J'y arriverai . . .

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

#17 Message par satinas » dim. 11 janv. 2026 14:37

Hello,
J'ai l'impression que ce sont les instructions bcf et bsf qui ne passent pas.
Peux-tu joindre le fichier .S, merci
Et il me semble normal qu'il refuse des instructions derrière la ligne END.

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

#18 Message par LP_2 » dim. 11 janv. 2026 15:18

Le fichier est en cours d'écriture, le voilà avec la sortie mplabx à jour.
/* en-tête pour les 16fxxx
En l'occurence 16f1719
Possibles : 16f84a 16f877a 16f1615 16f1719 16f1947 16f18875 */

PROCESSOR 16F1719

; CONFIG 1
CONFIG FOSC = INTOSC ; Oscillator Selection Bits (INTOSC oscillator: I/O function on CLKIN pin)
CONFIG WDTE = SWDTEN ; Watchdog Timer Enable (WDT controlled by the SWDTEN bit in the WDTCON register)
CONFIG PWRTE = ON ; Power-up Timer Enable (PWRT enabled)
CONFIG MCLRE = ON ; MCLR Pin Function Select (MCLR/VPP pin function is MCLR)
CONFIG CP = OFF ; Flash Program Memory Code Protection (Program memory code protection is disabled)
CONFIG BOREN = SBODEN ; Brown-out Reset Enable (Brown-out Reset controlled by the SBOREN bit in the BORCON register)
CONFIG CLKOUTEN = OFF ; Clock Out Enable (CLKOUT function is disabled. I/O or oscillator function on the CLKOUT pin)
CONFIG IESO = OFF ; Internal/External Switchover Mode (Internal/External Switchover Mode is disabled)
CONFIG FCMEN = ON ; Fail-Safe Clock Monitor Enable (Fail-Safe Clock Monitor is enabled)
; CONFIG 2
CONFIG WRT = OFF ; Flash Memory Self-Write Protection (Write protection off)
CONFIG PPS1WAY = ON ; Peripheral Pin Select one-way control (The PPSLOCK bit cannot be cleared once it is set by software)
CONFIG ZCDDIS = ON ; Zero-cross detect disable (ZCD disabled. ZCD can be enabled by setting the ZCDSEN bit of ZCDCON)
CONFIG PLLEN = ON ; Phase Lock Loop enable (4x PLL is enabled)
CONFIG STVREN = ON ; Stack Overflow/Underflow Reset Enable (Stack Overflow or Underflow will cause a Reset)
CONFIG BORV = HI ; Brown-out Reset Voltage Selection (Brown-out Reset Voltage (Vbor), high trip point selected.)
CONFIG LPBOR = ON ; Low-Power Brown Out Reset (Low-Power BOR is disabled)
CONFIG DEBUG = ON ; In-Circuit Debugger Mode (In-Circuit Debugger enabled, ICSPCLK and ICSPDAT are dedicated to the debugger)
CONFIG LVP = OFF ; Low-Voltage Programming Enable (High-voltage on MCLR/VPP must be used for programming)

#include <xc.inc>


PSECT resetVec,class=CODE,delta=2
resetVec:
goto test_rst

/*******************
**** test reset ****
********************/
; définition registres - la flashHE concerne uniquement les bit 7-0 de chaque mot mémoire
; les registres STATUS et PCON seront écrits aux adresses consécutives 3f80 et 3f81
; STATUS bkx - pcon bk1
; le reste bk3
test_rst:
#define pmcon1 PMCON1 ; *** CFGS LWLO FREE WRERR WREN WR RD
#define pmcon2 PMCON2
#define pmadrl PMADRL
#define pmdatl PMDATL
#define pcon PCON ; STKOVF STKUNF *** RWDT RMCLR RI POR BOR
; définition variables
psect udata_bank3
rst_h_0: ds 1 ; 0x020 contient STATUS actuel
rst_l_0: ds 1 ; contient PCON actuel
rst_h_pre: ds 1 ; contient STATUS précédent
rst_l_pre: ds 1 ; contient PCON précédent

; lecture flash
banksel PMADRL
movlw 80h ; adresse premier mot en high-endurance flash
movwf pmadrl
bcf pmcon1, 0
bsf pmcon1, 1
nop
nop
movf pmdatl, w
movwf rst_h_pre

PSECT isrVec,class=CODE,delta=2
isr:
END

CLEAN SUCCESSFUL (total time: 58ms)
"/opt/microchip/xc8/v3.10/pic-as/bin/pic-as" -mcpu=PIC16F1719 -c \
-o build/default/production/_ext/569843250/chargeur.o \
/home/kamaz/MPLABXProjects/chargeur_2S.X/chargeur.S \
-mdfp="/opt/microchip/mplabx/v6.20/packs/Microchip/PIC12-16F1xxx_DFP/1.7.242/xc8" -msummary=+mem,+psect,-class,-hex,-file,-sha1,-sha256,-xml,-xmlfull -fmax-errors=20 -mwarn=0 -xassembler-with-cpp
make: *** [nbproject/Makefile-default.mk:104: build/default/production/_ext/569843250/chargeur.o] Error 1
/home/kamaz/MPLABXProjects/chargeur_2S.X/chargeur.S:60:: error: (876) syntax error
/home/kamaz/MPLABXProjects/chargeur_2S.X/chargeur.S:61:: error: (876) syntax error

BUILD FAILED (exit value 2, total time: 107ms)
J'y arriverai . . .

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

#19 Message par satinas » dim. 11 janv. 2026 15:34

#define pmcon1 PMCON1 ; *** CFGS LWLO FREE WRERR WREN WR RD

C'est le commentaire à droite du define qui pose problème, en l'enlevant cela marche. pic-as et ses surprises ...
Avec la directive equ c'est bon
pmcon1 equ PMCON1 ; *** CFGS LWLO FREE WRERR WREN WR RD


C'est censé être le même préprocesseur que le C, mais j'en doute.
Ah ok, c'est bien le même préprocesseur, il faut mettre // et c'est bon :-)
#define pmcon1 PMCON1 // *** CFGS LWLO FREE WRERR WREN WR RD


/* */ // et ; sont acceptés pour les commentaires, sauf pour le préprocesseur qui ne reconnait pas ;
Modifié en dernier par satinas le dim. 11 janv. 2026 16:03, modifié 1 fois.

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

#20 Message par LP_2 » dim. 11 janv. 2026 16:01

Merci, j'étais prêt à m'en passer. Ce qui me gêne est passer de MAJUSCULE à chiffre dans le même mot.
J'y arriverai . . .


Retourner vers « Langage ASM »

Qui est en ligne

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