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