Assembleur !

Discutez d'informatique ici !
Anonyme

assembleur !

par Anonyme » 11 Déc 2005, 12:01

bonjour !
que signifie au juste l'opération OR et AND ?
exemple :
OR R12,R1,R3 sachant que les registres contiennent 8 chiffres HEXADECIMAUX !

Merci !!



Chimerade
Membre Irrationnel
Messages: 1472
Enregistré le: 04 Juil 2005, 13:56

par Chimerade » 11 Déc 2005, 12:20

informatique a écrit:bonjour !
que signifie au juste l'opération OR et AND ?
exemple :
OR R12,R1,R3 sachant que les registres contiennent 8 chiffres HEXADECIMAUX !

Merci !!


8 chiffres hexadécimaux, ça veut dire 8*4 chiffres binaires ou bits : 32 bits.
En principe, je pense qu'en assembleur OR(r1,r2) doit être interprété comme or(b1_i,b2_i) sur chacun des 32 bits (i=0 à 31), b1_i, i=0 à 31 étant le i-ième bit de R1 et b2_i, i=0 à 31 étant le i-ième bit de R2. Quant au Or sur deux bits, ça veut dire l'un ou l'autre : la table se réduit à 4 entrées :

or(0,0)=0
or(0,1)=1
or(1,0)=1
or(1,1)=1

En C, il y a deux OR, le OR logique et le OR arithmétique (ou OR bit à bit). Le Or arithmétique est celui que je viens de décrire. Le Or logique agit sur des variable logiques qui sont vraires ou fausses (donc deux valeurs). Le faux est représenté par des 0 (32 zéros), le vrai c'est tout le reste (toute configuration de 32 bits où au moins l'un des bits est égal à 1). La table pour des mots de 32 bits se réduit alors à :

or(faux,faux)=faux
or(faux,vrai)=vrai
or(vrai,faux)=vrai
or(vrai,vrai)=vrai

Malheureusement je ne sais pas de quel assembleur tu parles, alors je ne peux pas être totalement affirmatif. Mais je pense qu'en assembleur, en général, le OR est un OR arithmétique.

Quant au AND, tout ce que j'ai dit s'applique avec une autre table :

AND(0,0)=0
AND(0,1)=0
AND(1,0)=0
AND(1,1)=1

pour le AND arithmétique et :

AND (faux,faux)=faux
AND (faux,vrai)=faux
AND (vrai,faux)=faux
AND (vrai,vrai)=vrai

... pour le AND logique.

Anonyme

suite ...

par Anonyme » 11 Déc 2005, 13:24

merci chimerade pour la réponse, mais voici exactement l'exemple :
R1 = 1234 5678
R3 = ABCD EF01 (Héxadécimal)
calculer R12 tel que :
OR R12,R1,R3

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite