comment comparer 2 nombres si l'un est plus grand que l'autre en asm ?
Modérateurs : Papy.G, fneck, Carl
- rendomizer
- Messages : 413
- Inscription : 17 juin 2016 21:00
- Contact :
comment comparer 2 nombres si l'un est plus grand que l'autre en asm ?
Oui je me demande comment on compare deux nombres si l'un est plus grand ou plus petit en assembleur ?
Je ne suis qu'un utilisateur pas un pro
-
- Messages : 7925
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: comment comparer 2 nombres si l'un est plus grand que l'autre en asm ?
Ca dépend du cpu, mais en général ils ont tous une instruction de comparaison. On la fait alors suivre par un saut conditionnel relatif au test plus grand (resp. plus petit) signé ou non. Si ils n'ont pas d'instruction de comparaison (cas très très très rare), et qu'il est en arithmétique complément à 2, il faut faire la soustraction des deux nombres et regarder le bit de poids fort du résultat. S'il est à 1, c'est que la soustraction a-b est strictement plus petite que 0, c'est à dire a<b.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: comment comparer 2 nombres si l'un est plus grand que l'autre en asm ?
Ou faire la soustraction, et regarder le signe du résultat d'une autre façon ; pas mal de microprocesseurs ont un registre d'état, dont il suffit de tester le bit de signe négatif, qui indique évidemment si la valeur concernée est négative ou pas.
Notator est le nom d'un programme séquenceur Midi et notation musicale pour Atari ST(e) (puis Mac).
- Mokona
- Messages : 1040
- Inscription : 17 déc. 2016 22:01
- Localisation : Nord Est des Yvelines
- Contact :
Re: comment comparer 2 nombres si l'un est plus grand que l'autre en asm ?
Puisque j'imagine que tu poses la question pour le Z80 de ton projet VG5000, regarde du côté de l'instruction "CP" suivi, généralement, d'un "JR" conditionnel (JR NZ, JR C, JR Z, JR NC) qui branchera en fonction de l'état du registre d'état, comme indiqué dans les messages précédents.
- rendomizer
- Messages : 413
- Inscription : 17 juin 2016 21:00
- Contact :
Re: comment comparer 2 nombres si l'un est plus grand que l'autre en asm ?
merci
Je ne suis qu'un utilisateur pas un pro