CMP dans la langue de l'assembly
Donc, j'ai cette ligne de code:
LOOP CMP Y, #0
BEQ DONE - When it is equal go to DONE.
ADD X, #1 - add decimal constant 1 to x.
SUB Y, #1 - subtract decimal constant 1 from y
B LOOP - branch loop (start the loop again)
DONE ...
Je viens de lire que le CPM moyen soustrayant l'opérande de la Rn (Y moins 0)
Et que CMN implique l'ajout de la opérande de la Rn (0 + Y par exemple)
La première ligne (BOUCLE CMP Y, #0): je pensais que cette juste Y compare avec le nombre 0. Est-ce vrai?
- Ce PROCESSEUR est de cette assemblée? Pouvez-vous tag de la question avec elle?
- Aucune garantie, mais il semble 6800ish.
Vous devez vous connecter pour publier un commentaire.
Oui --
cmp
(au moins dans la plupart assemblée langues) effectue une soustraction. Il définit l'indicateur basé sur le résultat de cette soustraction, mais alors jette le résultat lui-même.eq
drapeau, qui est/désactivée par le précédentcmp
. Sans le cpm, le BEQ allait réagir en fonction de ce que les instructions précédentes qui s'est passé à affecter l'eq drapeau.