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 ---
Bout de code posé là !

Modérateur : Jérémy

ASM: Addition sur 64bits
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 2846
Âge : 99
Enregistré en : décembre 2017
Localisation : Banlieue sud de Klyntar
Contact :

#1 Message par F6FCO » mar. 14 mai 2024 20:09

Addition sur 64bits.

Code : Tout sélectionner

;********************************************************************
;                
Addition sur entiers 64bits_ F6FCO                    
;     Il faut préalablement déclarer des variables sur 64 bits         
;             valeur1:8valeur2:8 et report16                        
;                                                                    
Placer le poids faible de la première valeur dans valeur1            
et les poids forts dans valeur1+1à +8                            
;                                                                    
Placer le poids faible de la valeur à additionner dans valeur2    
et les poids forts dans valeur2+1à +8                             
;                                                                    
Appeler la procédure addition32 et le résultat de                 
valeur1+valeur2 sur 32bits sera dans les 4 octets de valeur2           
Si carryil sera stocké dans report16                            
;********************************************************************
addition64
            movf    valeur1
,w
            addwf    valeur2
            movf    valeur1
+1,w
            addwfc    valeur2
+1
            movf    valeur1
+2,w
            addwfc    valeur2
+2
            movf    valeur1
+3,w
            addwfc    valeur2
+3
            movf    valeur1
+4,w
            addwfc    valeur2
+4
            movf    valeur1
+5,w
            addwfc    valeur2
+5
            movf    valeur1
+6,w
            addwfc    valeur2
+6
            movf    valeur1
+7,w
            addwfc    valeur2
+7
            
s'il y a carry il sera stocké dans report16
            movf    STATUS,w
            andlw    0x1
            movwf    report16
            return    

Une porte nand prend 2 bits en entrée... :eek:

Retourner vers « Recueil de mini programmes »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité