Utilisation de l'instruction SUBWF

T

Tracid

Guest
Salut
Je vous écris un simple code à l'ASM pour PIC16F84A de comparer deux registres et en fonction de la branche la suite à des endroits ...Son alredy clair pour moi que SUBLW soustrait W de littéral et non l'inverse comme lors de l'utilisation SUBWF.La seule chose qui n'est pas clair pour moi, c'est quand le byt Carry positionnées ou effacées.Parce que j'ai cherché sur le web et a trouvé l'explication différent de celui qui doit être le mal.
Donc j'écris le code ici avec l'explication de ce qui est mon résultat souhaité et je vous demande s'il vous plaît me corriger si je me wrong.So:

Comparer movf M1Time, W, ce qui est le premier registre de comparer
subwf M3Time, W; comparer avec le deuxième registre
BZ M3_Eq_M1, ils sont les mêmes

movf M1Time, W
subwf M3Time, W
BNC M3_LT_M1; M3Time est inférieure à M1Time

Aller M3_GT_M1; M3Time est plus grand que M1TimeM3_Eq_M1 movf .....

M3_LT_M1 movf .....

M3_GT_M1 movf ....1, est-ce le bon code?

2, si je soustrais une plus grande valeur à partir d'une valeur plus petite du bit de retenue sera mis en?OU le bit de retenue seront effacés?son un peu confus moi .... c'est à peu près Carry et emprunter?C est peu en cas de débordement et est autorisé à débordement?

3, s'il vous plaît ne me recommander addlw et le complément de deux solution

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sourire" border="0" />

)

Merci beaucoup

 
Salut,

En regardant mes instructions ancien jeu de notes que j'ai ce pour le bit de statut 0 porter le drapeau.

Si le résultat d'un Sub Zero Pos ou la retenue est fixé à 1
Si le résultat d'un Sub est Negtive la retenue est fixé à 0

Pour confirmer votre code est correct, il suffit de courir à Mplabs Simualtor et seule étape les lignes de code en regardant les bits d'état sur la barre d'outils en bas, Carry c = 0 C = 1

 
Il ya quelque temps, j'ai écrit un utilitaire pour aider à écrire du code assembleur pour micros série PIC16 et affichée sur le tableau eda ici.

http://www.edaboard.com/viewtopic.php?t=53935&highlight=pic code generatorAucune installation n'est nécessaire, il suffit d'extraire tous les fichiers dans un répertoire.Appelez le PicHelp répertoire ou ce que vous voulez.
Génère du code pour les constructions communes dans la programmation.

S'il vous plaît donner un aller et voir si ça aide.

 

Welcome to EDABoard.com

Sponsor

Back
Top