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