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

Soft de commande CNC en asm
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1413
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#201 Message par F6FCO » dim. 7 oct. 2018 20:14

Et hop, encore à genoux dans la poussière,
Juste un petit coucou pour dire que tout fonctionne au poil... sauf la conversion ascii. Dans le programme je convertis de l'ascii vers le décimal trop simplement, je n'ai pas pensé assez profondément. Il faut que je revoie çà de près.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

Soft de commande CNC en asm
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#202 Message par Temps-x » lun. 8 oct. 2018 02:17

Bonjour F6FCO, et tout le forum,

Je te donne un peu de mes nouvelles, pour te remonté le moral, car ça doit pas être marrant pour toi.

J'ai pas mal bossé, mais pas dans la même direction que toi, j'ai étudié le datasheet du Pic18f26K22, ça m'a pris
pas mal de temps, mais j'en suis récompensé.

Et j'ai appris pas mal de chose qui est similaire au Pic18F4525, en autre pour activé les résistances sur le PORTB il faut
mettre le Bit 7 du registre INTCON2 à 0 (voir la page 112), elles sont automatiquement mis au tirage +, si il son configuré
comme entrée.(si j'ai bien compris l'anglais) :sifflotte:

Sur le Pic18f26K22 il faut mettre le Bit 7 du registre INTCON2 à 0, et configuré le registre WPUB pour
chaque sortie des pattes du PORTB quand veut mettre au tirage +

Je savais quand pouvais le faire :langue: bon c'est vrai ça va rien changer pour toi, car ton circuit est déjà fait.

F6FCO a écrit :Source du message sauf la conversion ascii


Tu fais une soustraction de -48, sur chaque caractère ASCII, ça te donnera leur valeur décimal.

Après il faut les classer dans l'ordre des dix-mille, mille, centaine, dizaine, unité.....

Programme assez sympa à faire, avis au amateur......... :lol:

F6FCO a écrit :Source du message Et hop, encore à genoux dans la poussière

humour!! Quand on est croyant, c'est normal de faire sa prière exit dehors!!


Bon courage F6FCO, tout le forum pense à toi :wink:


==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Soft de commande CNC en asm
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1413
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#203 Message par F6FCO » lun. 8 oct. 2018 06:49

Bonjour tous,
Pas si simple la conversion ASCII/hexa, dans mon cas il ne suffit pas d'ôter la différence ascii/décimal, si tu vas voir sur la page d'4L1C3 j'explique un peu le pbm. L'UART nous les transfère à raison d'un chiffre par octet, enlever la valeur 0x30 fonctionne jusqu'au chiffre 9, au-dessus on se retrouve avec des valeurs sur plusieurs octets.
A partir de 10 ASCII c'est sur deux octets (0x31 0x30), si tu soustrais 0x30 à chaque terme tu te retrouve avec 01 00, ce qui ne correspond plus à rien.
100 ASCII est sur 3 octets (0x31 0x30 0x30)
1000 ASCII 4 octets (0x31 0x30 0x30 0x30)
9999 ASCII (0x39 0x39 0x39 0x39) est codé sur 4 octets alors que la vraie valeur hexa de d'9999' est 0x270F, seulement sur 2 octets.

Problème très intéressant.

J'ai trouvé deux solutions, calculer et re-compacter par programme mais c'est long et lourd, ou bien utiliser une table pré-calculée (36 valeurs pour aller jusqu'à 9999, ce qui me suffit) , on va chercher les valeurs suivant le poids et on additionne le tout. Solution qui me plait bien mais je ne sais pas comment mettre des données en data sur les 18F.
La méthode avec PCL marche toujours ou il y a mieux ?
Si qqun peut m'éclairer :wink:
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

Soft de commande CNC en asm
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#204 Message par Temps-x » lun. 8 oct. 2018 19:47

Bonsoir F6FCO, et tout le forum,

Il y a trois solutions, l'eeprom, le tableau programme, ou une table, celle que tu as choisi.

Mais..... tu vas te retrouver avec un problème, car les Pic18F ont beaucoup d'avantages, mais aussi des désavantages. :sad:

Il compte par 2 :eek: ce qui fait 127 caractères que tu peux mettre dans une table :lol: vue qu'il te faut 36 octets, c'est bon pour toi.

Je vais te donner une méthode, il y a peut être mieux, voici un exemple :

Code : Tout sélectionner


lire
      movlw D
'6'
      movwf longueur 
      
      movlw D
'0'
      movwf emplacement    

re_lire 
      movlw    D
'8'                       ; page 8, tableaux de 127 octets(* 127)
      movwf    PCLATH   

      movff emplacement
,WREG              ; "emplacement" est l'emplacement de la lettre                                                       
                                          ; qui est copier dans W
      rcall dico                          ; on va chercher la valeur

      movwf lettre                        ; au retour, W contient la donnée qui à été pris dans la table.
                                          ; sauvegardé W dans lettre 
      call traitement                     ; traiter la donnée récupéré
                  
      incf emplacement,F                  ; lettre suivante

      decfsz longueur,F                   ; "longueur" est la longueur de la chaîne à traiter
      bra re_lire                         ; <--- on continu la lecture

terminer

      bra terminer                        ; <--- lecture terminer
          
traitement 
; ici on traite les données reçu, donc à vous de voir 
      return

;*********************************************************************************************** 
    ORG H'
800'       

dico
      rlncf WREG,F
      addwf PCL,F
     
      dt D'
152',D'38',D'25',D'1',D'178',D'56',D'87',D'95



Comme cette solution te plait bien, je te la laisse, pour faire une conversion on prends toujours 1 octet par 1 octet.

Je reviendrais dessus plus tard, ta méthode va fonctionner, c'est le principal . :wink:

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Soft de commande CNC en asm
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1413
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#205 Message par F6FCO » mer. 10 oct. 2018 19:10

Bonsoir,
En relisant les dernières pages du sujet je viens de m'apercevoir que je n'avais pas répondu à Satinas, excuses-moi. Je ne suis pas encore familiarisé avec les Timers parce que je n'ai pas encore eu l'occasion de les utiliser. Mais par contre ma gestion de l'UART fonctionne très bien et je découpe bien mes trains de données que je peux exploiter. Pour l'instant je travaille sur une routine de conversion ascii/hexa.

Merci pour ton fichier Temps-X, je vais analyser çà dés que je serai rentré au chaud, j'ai déjà utilisé cette méthode sur les 16x mais avec 'db', tu me diras qu'elle est la différence entre 'db' et 'dt'.
Mais j'ai encore besoin de votre aide, je bloque pour la lecture de données de cette manière:

Code : Tout sélectionner


    Errorlevel
-302                         ; Supprime le message "Ensure that bank bits are correct" 

    list        p
=18f4525                ; processeur utilisé 
    
#include    <p18f4525.inc>            ; Définitions des constantes

;---------------------------------------------------------------------------------------------

 CONFIG    OSC = XT                        ; Oscillateur ext 4MHz 
 CONFIG    IESO 
= OFF                        ; Oscillateur secondaire refusé (ON/OFF)
 CONFIG PWRT = ON                        ; Délai au démarrage (ON/OFF)
 CONFIG BOREN = OFF                        ; Reset si chute de tension (ON/OFF)
 CONFIG BORV = 0                        ; Tension de reset en 1/10ème Volts 
 CONFIG WDT 
= OFF                        ; Mise hors service du watchdog (ON/OFF)
 CONFIG PBADEN = OFF                    ; PORTB<4:0> les broches sont configurées comme E/S numériques lors de la réinitialisation
 CONFIG LPT1OSC 
= OFF                    ; Timer1 configuré pour un fonctionnement plus puissant
 CONFIG MCLRE 
= ON                        ; Mclr 
 CONFIG STVREN 
= ON                        ; Reset sur débordement de pile (ON/OFF)
 CONFIG LVP = OFF                        ; Programmation basse tension autorisée (ON/OFF)
 CONFIG XINST = OFF                        ; L'extension du jeu d'instructions et le mode d'adressage indexé sont désactivés(mode hérité)
 CONFIG DEBUG = ON                        ; Debugger hors service
 CONFIG CP0 = OFF                        ; Code protection sur block 0 (ON/OFF)
 CONFIG CP1 = OFF                        ; Code protection sur block 1 (ON/OFF)
 CONFIG CP2 = OFF                        ; Code protection sur block 2 (ON/OFF)
 CONFIG CPB = OFF                        ; Code protection sur bootblock  (ON/OFF)
 CONFIG CPD = OFF                        ; Code protection sur eeprom (ON/OFF)
 CONFIG WRT0 = OFF                        ; Protection écriture block 0 (ON/OFF)
 CONFIG WRT1 = OFF                        ; Protection écriture block 1 (ON/OFF)
 CONFIG WRT2 = OFF                        ; Protection écriture block 2 (ON/OFF)
 CONFIG WRTB = OFF                        ; Protection écriture bootblock (ON/OFF)
 CONFIG WRTC = OFF                        ; Protection écriture configurations (ON/OFF)
 CONFIG WRTD = OFF                        ; Protection écriture zone eeprom (ON/OFF)
 CONFIG EBTR0 = OFF                        ; Protection lecture de table block 0 (ON/OFF)
 CONFIG EBTR1 = OFF                        ; Protection lecture de table block 1 (ON/OFF)
 CONFIG EBTR2 = OFF                        ; Protection lecture de table block 2 (ON/OFF)
 CONFIG EBTRB = OFF                        ; Protection lecture de table bootblock (ON/OFF)
            
;-------------------------------------- assignations ------------------------------------------

;------------------------------ déclaration des variables -------------------------------------

             CBLOCK    H'
80'
                  coordX 
                ptr_train_RCIF
                Reg_1
                Reg_2
                Reg_3
                W_TEMP
                STATUS_TEMP
                BSR_TEMP
             ENDC

        
;--------------------------------- adresse de depart après reset -----------------------------
            ORG     H'
0'
            bra    init      

;--------------------------------------- interruptions ---------------------------------------

            ORG        H'
08'
interrupt   btfss    PIR1,RCIF                ; registre plein ? si oui on saute à réception
            bra        int1                    ; sinon on sort de l'
interrupt                   
reception        
            nop
            movff    RCREG
,POSTINC0            ; lecture de RCREG  et mise en mem       
            incf    ptr_train_RCIF            
; on a reçu qq chose donc on incrémente le compteur de trains
            btfss    RCSTA
,OERR                ; test d'une erreur d'overrun
            goto    int1
            
; traitement de l'erreur d'overrun
            bcf        RCSTA
,CREN                ; on efface le bit OERR
            bsf        RCSTA
,CREN                ; on relance la réception
int1        
; traitement des autres interruptions
            retfie
         
;----------------------------------- Initialisations -------------------------------------------------
init
            bcf        ADCON0
,ADON                ; convertisseur a/n dévalidé
            movlw    0xFF
            movwf    ADCON1
,PCFG3            ; on passe tout en digital
            movlw    b
'11000000'                ; INTCON (activation des int GIE/GIEH=1, PEIE/GIEL=1)
            movwf    INTCON
            movlw    b
'10000000'                ; RCON (priorités int activées IPEN=1,)
            movwf    RCON
            movlw    b
'00100000'                ; IPR1 (Rx en haute priorité RCIP=1)
            movwf    IPR1
            movlw    b
'00100000'                ; PIE1 (int RX activée RCIE=1)
            movwf    PIE1
            movlw    b
'00100100'                ; TXSTA (Emission USART activée TXEN=1, et mode asynchrone haute vitesse BRGH=1)
            movwf    TXSTA
            movlw    b
'10010000'                ; RCSTA (Utilisation du port série activée SPEN=1, Réception USART activée CREN=1)
            movwf    RCSTA
            movlw    d
'25'                    ; 9600bauds avec sync=O, brgh=1, brg16=0, xtal=4Mhz
            movwf    SPBRG
            bcf        BAUDCON
,BRG16            ; réglé à 8bits        
            movlw     B
'11111111'                 
            movwf    TRISA
            movlw     B
'00000111'                 
            movwf    TRISB
            movlw     B
'11001100'                
            movwf    TRISC
            movlw     B
'10000011'                 
            movwf    TRISD
            movlw     B
'10000011'                 
            movwf    TRISE
            clrf    PORTA
            clrf    PORTB
            clrf    PORTC
            clrf    PORTD
            clrf    PORTE
            movlw    4
            movwf    coordX
                
            
            
; -------------------------------------- Programme principal --------------------------------------
main  


        lfsr    FSR0
,datas
        movf    coordX
,w
        movf    PLUSW0
,w
        
        bra        main
        

        
        
    

datas    db    0x0a
,0x0b,0x1a,0x1b,0x2a,0x2b,0x3a,0x3b,0x4a,0x4b,0x5a,0x5b,0x6a,0x6b,0x7a,0x7b,0x8a,0x8b,0x9a,0x9b    ; 

          END
      




Programme tout simple qui devrait marcher si j'en crois Bigonoff (Adressage indirect pré-indexé, Part5, migration vers les 18F, page 27), sauf que çà me retourne le résultat de cette adresse mais en mémoire variables.
De tête FSR0 pointe sur 0x70 et au final je devrais avoir dans W la valeur contenue dans 0x70+4=0x74, c'est à dire 0xb. Mais malheureusement c'est la valeur qui se trouve en 0x74 de la mémoire variables qui se retrouve dans W et non la valeur en mémoire programme.
Surement un registre à régler qq part, çà fait 2 jours que je cherche et rien. :evil:
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

Soft de commande CNC en asm
JMarc
Confirmé
Confirmé
Messages : 605
Enregistré en : août 2016
Localisation : Dans le Sud...

#206 Message par JMarc » jeu. 11 oct. 2018 15:01

Bonjour F6FCO

tu as un outils exprès pour la mémoire programme et eeprom. tu peux tout lire et même écrire avec le 18F

Code : Tout sélectionner

main  

    movlw    High datas   
    movwf    TBLPTRH        
adresse poid fort de la memoire a lire 
    movlw    Low datas
    movwf    TBLPTRL        
adresse poid faible a lire

boucle
    tblrd
*+             ; lecture de l'octet en memoire 
    movf    TABLAT,w    ; transfert de l'
octet dans w

    bra boucle
    
    bra        main

Soft de commande CNC en asm
JMarc
Confirmé
Confirmé
Messages : 605
Enregistré en : août 2016
Localisation : Dans le Sud...

#207 Message par JMarc » jeu. 11 oct. 2018 17:29

et la version complete si d'autre personne veulent s'amuser :sifflotte:


Code : Tout sélectionner



    Errorlevel
-302                         Supprime le message "Ensure that bank bits are correct" 

    
list        p=18f4525                processeur utilisé 
    
#include    <p18f4525.inc>            ; Définitions des constantes

;---------------------------------------------------------------------------------------------

 
CONFIG    OSC XT                        Oscillateur ext 4MHz 
 CONFIG    IESO 
OFF                        Oscillateur secondaire refusé (ON/OFF)
 
CONFIG PWRT ON                        Délai au démarrage (ON/OFF)
 
CONFIG BOREN OFF                        Reset si chute de tension (ON/OFF)
 
CONFIG BORV 0                        Tension de reset en 1/10ème Volts 
 CONFIG WDT 
OFF                        Mise hors service du watchdog (ON/OFF)
 
CONFIG PBADEN OFF                    PORTB<4:0les broches sont configurées comme E/S numériques lors de la réinitialisation
 CONFIG LPT1OSC 
OFF                    Timer1 configuré pour un fonctionnement plus puissant
 CONFIG MCLRE 
ON                        Mclr 
 CONFIG STVREN 
ON                        Reset sur débordement de pile (ON/OFF)
 
CONFIG LVP OFF                        Programmation basse tension autorisée (ON/OFF)
 
CONFIG XINST OFF                        L'extension du jeu d'instructions et le mode d'adressage indexé sont désactivés(mode hérité)
 CONFIG DEBUG = ON                        ; Debugger hors service
 CONFIG CP0 = OFF                        ; Code protection sur block 0 (ON/OFF)
 CONFIG CP1 = OFF                        ; Code protection sur block 1 (ON/OFF)
 CONFIG CP2 = OFF                        ; Code protection sur block 2 (ON/OFF)
 CONFIG CPB = OFF                        ; Code protection sur bootblock  (ON/OFF)
 CONFIG CPD = OFF                        ; Code protection sur eeprom (ON/OFF)
 CONFIG WRT0 = OFF                        ; Protection écriture block 0 (ON/OFF)
 CONFIG WRT1 = OFF                        ; Protection écriture block 1 (ON/OFF)
 CONFIG WRT2 = OFF                        ; Protection écriture block 2 (ON/OFF)
 CONFIG WRTB = OFF                        ; Protection écriture bootblock (ON/OFF)
 CONFIG WRTC = OFF                        ; Protection écriture configurations (ON/OFF)
 CONFIG WRTD = OFF                        ; Protection écriture zone eeprom (ON/OFF)
 CONFIG EBTR0 = OFF                        ; Protection lecture de table block 0 (ON/OFF)
 CONFIG EBTR1 = OFF                        ; Protection lecture de table block 1 (ON/OFF)
 CONFIG EBTR2 = OFF                        ; Protection lecture de table block 2 (ON/OFF)
 CONFIG EBTRB = OFF                        ; Protection lecture de table bootblock (ON/OFF)
            
;-------------------------------------- assignations ------------------------------------------

;------------------------------ déclaration des variables -------------------------------------

             CBLOCK    H'
80'
                  coordX 
                ptr_train_RCIF
                Reg_1
                Reg_2
                Reg_3
                W_TEMP
                STATUS_TEMP
                BSR_TEMP
                compteur
             ENDC

        
;--------------------------------- adresse de depart après reset -----------------------------
            ORG     H'
0'
            bra    init      

;--------------------------------------- interruptions ---------------------------------------

            ORG        H'
08'
interrupt   btfss    PIR1,RCIF                ; registre plein ? si oui on saute à réception
            bra        int1                    ; sinon on sort de l'
interrupt                   
reception        
            nop
            movff    RCREG
,POSTINC0            lecture de RCREG  et mise en mem       
            incf    ptr_train_RCIF            
on a reçu qq chose donc on incrémente le compteur de trains
            btfss    RCSTA
,OERR                test d'une erreur d'overrun
            
goto    int1
            
traitement de l'erreur d'overrun
            bcf        RCSTA
,CREN                on efface le bit OERR
            bsf        RCSTA
,CREN                on relance la réception
int1        
traitement des autres interruptions
            retfie
         
;----------------------------------- Initialisations -------------------------------------------------
init
            bcf        ADCON0
,ADON                convertisseur a/n dévalidé
            movlw    0xFF
            movwf    ADCON1
,PCFG3            on passe tout en digital
            movlw    
b'11000000'                INTCON (activation des int GIE/GIEH=1PEIE/GIEL=1)
            
movwf    INTCON
            movlw    
b'10000000'                RCON (priorités int activées IPEN=1,)
            
movwf    RCON
            movlw    
b'00100000'                IPR1 (Rx en haute priorité RCIP=1)
            
movwf    IPR1
            movlw    
b'00100000'                PIE1 (int RX activée RCIE=1)
            
movwf    PIE1
            movlw    
b'00100100'                TXSTA (Emission USART activée TXEN=1et mode asynchrone haute vitesse BRGH=1)
            
movwf    TXSTA
            movlw    
b'10010000'                RCSTA (Utilisation du port série activée SPEN=1Réception USART activée CREN=1)
            
movwf    RCSTA
            movlw    d
'25'                    9600bauds avec sync=Obrgh=1brg16=0xtal=4Mhz
            movwf    SPBRG
            bcf        BAUDCON
,BRG16            réglé à 8bits        
            movlw     
B'11111111'                 
            
movwf    TRISA
            movlw     
B'00000111'                 
            
movwf    TRISB
            movlw     
B'11001100'                
            
movwf    TRISC
            movlw     
B'10000011'                 
            
movwf    TRISD
            movlw     
B'10000011'                 
            
movwf    TRISE
            clrf    PORTA
            clrf    PORTB
            clrf    PORTC
            clrf    PORTD
            clrf    PORTE

; -------------------------------------- Programme principal --------------------------------------
main  
    clrf    compteur
    movlw    High datas   
    movwf    TBLPTRH         
adresse poid fort de la memoire a lire 
    movlw    Low datas
    movwf    TBLPTRL         
adresse poid faible a lire
    movlw    0x02
    addwf    TBLPTRL         
pour avoir le bon départ de la chaine
boucle
    tblrd
*+             ; lecture de l'octet en memoire 
    movf    TABLAT,w    ; transfert de l'
octet dans w

    
traitement de la donnée de W

    incf    compteur
    movlw    D
'18'         ;on test la longueur de la chaine
    subwf    compteur
,W
    btfss    STATUS
,Z
    bra boucle
 
    clrf    compteur

    bra        main
        
        

 datas   db    0x0a
,0x0b,0x1a,0x1b,0x2a,0x2b,0x3a,0x3b,0x4a,0x4b,0x5a,0x5b,0x6a,0x6b,0x7a,0x7b,0x8a,0x8b,0x9a,0x9b    

          
END
      


Soft de commande CNC en asm
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1413
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#208 Message par F6FCO » jeu. 11 oct. 2018 18:03

Bonsoir,
Merci JMarc, j'avais bien vu ces instructions et je m'étais promis de les explorer un jour. Je vais le faire avant l'heure :-D . Je teste et je vous tiens au courant, je vais peut-être pouvoir reprendre le soft d'4L1C3.

Mais j'aurai bien aimé percer le mystère de FSR0 et PLUSW0.

Pour Temps-X j'ai testé ton code et çà fonctionne bien, par contre je ne comprends pas pourquoi çà ne fonctionne plus chez moi dés que je remplace le dt par db.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

Soft de commande CNC en asm
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#209 Message par Temps-x » ven. 12 oct. 2018 02:03

Bonsoir F6FCO, JMarc, et tout le forum,

______________________________________________________________________________________________________

dt :

Génère une série d'instructions RETLW (retour)

dt peut être remplacé par exemple :

retlw D'123'
retlw D'156'
retlw D'17'
retlw D'119'

______________________________________________________________________________________________________

db :

Utilisé pour une écriture dans la mémoire programme

______________________________________________________________________________________________________

de :

Permet d'écrire dans la mémoire EEPROM lors de la gravure du circuit

______________________________________________________________________________________________________

Dans l'exemple que je donne en post #204 je vais chercher
une valeur qui n'est pas modifiable, elles ne sont pas mis en mémoire au démarrage du Pic

Dans l'exemple de JMarc en post #207 c'est valeur sont modifiable
car elles sont mis en mémoire au démarrage du Pic

Dans tous les cas, et j'espère que je me trompe pas, les deux sont inscrite dans le pic, et il faut utilisé une technique différente
pour le cas choisi.

écrit par F6FCO :

Mais j'aurai bien aimé percer le mystère de FSR0 et PLUSW0.


Qu'est ce que tu comprends pas dedans :?:


humour!! : :eek: JMarc mets du pluriel sur les Datas :lol:

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Soft de commande CNC en asm
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1413
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#210 Message par F6FCO » ven. 12 oct. 2018 13:37

Un grand merci pour tes explication, çà fait longtemps que je posais la question.

Temps-x a écrit :
écrit par F6FCO :

Mais j'aurai bien aimé percer le mystère de FSR0 et PLUSW0.


Qu'est ce que tu comprends pas dedans :?:


C'est que j'explique précisemment plus haut (post #205), je pointe sur mes datas qui sont dans la mémoire programme mais çà me renvoie la valeur qui se trouve à la même adresse pointée mais située en mémoire variables, donc pas bon.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:


Retourner vers « Langage ASM »

Qui est en ligne

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