Une procedure ou en asm

Résolu/Fermé
Utilisateur anonyme - 19 nov. 2007 à 18:06
 Utilisateur anonyme - 19 nov. 2007 à 18:57
Bonjour,

c'est encore moi voila sa serait pour savoir si en assembleur nous pouvons utiliser le "ou" comme en C pour la programmation si oui comment l'utiliser merci bonne soirée.

3 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
19 nov. 2007 à 18:36
Salut,

D'abord il ya plusieurs types d'assembleur: un pour chaque famille de processeur.
Admettons que tu parles du x86 (processeurs des PC)...

Il faut voir aussi si tu parles du "ou" booleen (le ou du test: ||) ou bien du ou bit à bit (|).

Pour le ou bit à bit, il y a l'instruction or:
or reg, mem/reg/constante

Le premier argument est un registre, le deuxième ça dépend de ce que tu veux.
Le resultat sera dans le premier argument. Exemple: eax = eax | ecx se traduira comme ça:
or eax, ecx


Pour le ou booleen il faut le simuler en testant les valeurs.
Admettons que tu veuilles faire:
if(eax==1 || ecx==2){
     proc1();
}
else{
    proc2();
}


En asm ça donnera:
cmp eax, 1
je proc1 ;on saute à proc1 si eax == 1
cmp ecx, 2
je proc1 ;on saute à proc1 si ecx == 2
;si on arrive ici, c'est qu'on est dans le else
jmp proc2


Voilà....
0
Bonjour,
jte remrcie tasure a fond c'était bien du x86 ke je parlé merci bon continuation bon soiré
0
Utilisateur anonyme
19 nov. 2007 à 18:57
ok merci c'était exactement ce que je voulais du x86 tu dois etre voyon lol en tout qu'à merci t'assure grave merci bon soirée et bonne continuation a+
0