Kephuro2
Messages postés1Date d'inscriptionmardi 15 juin 2004StatutMembreDernière intervention22 juin 2004
-
22 juin 2004 à 19:22
cs_patatalo
Messages postés1466Date d'inscriptionvendredi 2 janvier 2004StatutModérateurDernière intervention14 février 2014
-
2 juil. 2004 à 10:47
Bonjour à tous !
Je m'adresse à vous car j'ai un petit souci !
Je vous explique vite fait. Donc j'ai un registre (eax) qui a pour valeur : 0000825C, j'aimerais savoir s'il existe une instruction ou même une API qui permettrait de déclaer les octetc afin qu'eax prenne comme valeur 825C0000
Je vous remercie d'avance pour votre aide !
cs_patatalo
Messages postés1466Date d'inscriptionvendredi 2 janvier 2004StatutModérateurDernière intervention14 février 20142 1 juil. 2004 à 17:23
salut,
prends ton debugger et tu constatera que pour ce que tu veux faire chacune de ces lignes de code donne le resultat voulu.
shl eax,16 donne decallage de 16 bits sur la gauche en remplissant par des 0
ex:
shl 1234567,16 donne 45670000
rol eax,16 donne un decallage de 16 bits sur la gauche mais en mettant le bit de poid faible a la valeur du bit de poid fort.
ex:
rol 12345678,16 donne 45671234
ror eax,16 idem rol mais en decalant par la droite
imul eax,65536 multiplie eax par 65536 et crée donc un décalage de 16 bits vers la gauche
de +, ce qu'a marqué BruNews est faux puisqu'il décale seulement de 4 bit sur la gauche, toi, tu veux un decalage de 16 bits.
cs_patatalo
Messages postés1466Date d'inscriptionvendredi 2 janvier 2004StatutModérateurDernière intervention14 février 20142 2 juil. 2004 à 10:47
salut,
bien sur que cela suffit mais donner le choix et connaitre d'autres instructions du processeur est tj interessant.
d'autant que l'instruction suffit car le nombre a transformer est 0000XXXX vers XXXX0000 mais ca evitera d'avoir un autre post afin de transformer 12345678 en 56781234.