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 ---

ASM: Addition sur 32bits

Bout de code posé là !

Modérateur : Jérémy

Avatar de l’utilisateur
F6FCO
Expert
Expert
Messages : 2846
Enregistré en : décembre 2017
Localisation : Banlieue sud de Klyntar
Contact :

ASM: Addition sur 32bits

Messagepar F6FCO » mar. 14 mai 2024 20:07

Addition sur 32 bits.

Code : Tout sélectionner

;********************************************************************
;                
Addition sur entiers 32bits_ F6FCO                    
;     Il faut préalablement déclarer des variables sur 32 bits         
;             valeur1:4valeur2:4 et report16                        
;                                                                    
Placer le poids faible de la première valeur dans valeur1            
et les poids forts dans valeur1+1valeur1+2valeur1+3            
;                                                                    
Placer le poids faible de la valeur à additionner dans valeur2    
et les poids forts dans valeur2+1, +2, +3, +4                        
;                                                                    
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                            
;********************************************************************
addition32
            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
            
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é