[PIC16F877] Soustraire 32 à W
Bonjour tout le monde,
Je suis débutante en assembleur. J'ai essayé d'écrire un programme qui soustrait la constante 32 de l'accumulateur W, mais ca ne marche pas. Est-ce que vous pouvez me montrer ou se trouve mon erreur ?
S'il est nécessaire de préciser, j'utilise MPLAB 6.30.
Voici le programme :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| list p=16f877 , r=dec
include <p16f877.inc>
__CONFIG H'3F31'
bsf STATUS,RP0;
bsf STATUS,RP1;
movlw D'32' ;
movwf 181h;
Subwf 181h,0
movwf 185h;
end |
[PIC16F877] MPLAB : Soustraire 32 à W
Mais pourquoi, je ne reçois aucune réponse c'est pourtant fondamental .
Help !! j'ai vraiment besoin de savoir .
[PIC16F877] MPLAB : Soustraire 32 à W
Voici le programme rectifié :
Code:
1 2 3 4 5 6 7 8 9 10
| list p=16f877 , r=dec
include <p16f877.inc>
__CONFIG H'3F31'
bsf STATUS,RP0 ; banc 1
bsf STATUS,RP1 ; banc 1
movlw D'10' ; charger dans W la constante 10 en décimal
Sublw D'32' ; retranche 32 du contenu de l'accumulateur W
movwf 181h ; place le contenu de W dans l'adresse 181h
end |
Citation:
Envoyé par
Obsidian
« SUBWF 181h,- » ne retranche pas le contenu de 181h à W, mais le contenu de W à 181h. Sachant cela, tu peux faire ce que tu veux faire en deux instructions au lieu de quatre. Je te laisse volontairement chercher lesquelles.
Le résultat obtenu est la valeur décimale « 22 ». Du coup, c'est plutôt le contenu de 181h qui est retranché de l'accumulateur W et non le contraire.
Merci pour ton aide :ccool: