begin process at 2012 05 25 06:54:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Newbii

 > 

Décaler les octets d'un registre


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Décaler les octets d'un registre

mardi 22 juin 2004 à 19:22:37 | Décaler les octets d'un registre

Kephuro2

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 !
mercredi 23 juin 2004 à 00:36:28 | Re : Décaler les octets d'un registre

BruNews

Administrateur CodeS-SourceS
shl eax, 4

ciao...
BruNews, Admin CS, MVP Visual C++
jeudi 24 juin 2004 à 12:42:31 | Re : Décaler les octets d'un registre

patatalo

Membre Club Administrateur CodeS-SourceS

salut,


tu peux faire:
shl eax,16
rol eax,16
ror eax,16

@++
mercredi 30 juin 2004 à 14:24:53 | Re : Décaler les octets d'un registre

patatalo

Membre Club Administrateur CodeS-SourceS

re,

j'ai oublié:
imul eax,65536

@++
jeudi 1 juillet 2004 à 16:20:39 | Re : Décaler les octets d'un registre

Renfield

Administrateur CodeS-SourceS

pourquoi ces quatres lignes de code alors que BruNews n'en propose qu'une seule.... (que mes recentes lectures me conseilleraient surement) ??
jeudi 1 juillet 2004 à 17:23:35 | Re : Décaler les octets d'un registre

patatalo

Membre Club Administrateur CodeS-SourceS

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.

@++
jeudi 1 juillet 2004 à 17:25:06 | Re : Décaler les octets d'un registre

patatalo

Membre Club Administrateur CodeS-SourceS

re,

je m'est gourré dans l'exemple rol

rol 12345678,16 donne 56781234 bien sur.

@++
jeudi 1 juillet 2004 à 17:27:50 | Re : Décaler les octets d'un registre

patatalo

Membre Club Administrateur CodeS-SourceS

pfffffffffffff,

shl eax,16 donne decallage de 16 bits sur la gauche en remplissant par des 0
ex:
shl 12345678,16 donne 56780000

@++
jeudi 1 juillet 2004 à 17:33:40 | Re : Décaler les octets d'un registre

BruNews

Administrateur CodeS-SourceS
very exact que j'avais encore tape trop vite.
shl eax,16
devrait par contre suffire, non ?

ciao...
BruNews, Admin CS, MVP Visual C++
vendredi 2 juillet 2004 à 10:47:59 | Re : Décaler les octets d'un registre

patatalo

Membre Club Administrateur CodeS-SourceS

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.

c tout benef...

@++


Cette discussion est classée dans : valeur, octets, registre, décaler, eax


Répondre à ce message

Sujets en rapport avec ce message

Afficher valeur registre ? [ par Zootella ] Hello all, dans un programme, celui-çi test la valeur d'un registre : cmp  dword ptr [eax],4550h je voudrais faire des tests et afficher cette vale Récuperer valeur asm en C++ [ par S4T4N1QU3 ] Bonsoir, J'aimerais savoir comment récuperer EAX dans un cas comme celui ci asm("MOVL %EAX, 5"); Merci beaucoup à celui ou cell qui m'aidera <br SPBRG [ par blueburry ] Bonjour, je suis en train de programmer un PIC16F877 et je suis en train d'utiliser un quartz de 20 MHz. Je voudrais utiliser le registre USART en mod Aide A Propos Des Registre [ par swadfish ] Salut tous le monde je veux savoir ça veut dire koi les registres entre crochets [eax] et quelle la difference entre eax et [eax] et aussi je veux sav Petite question à propos des registres [ par jems66 ] Salut à tous !Je programme en C depuis un petit moment et j'ai dû à me mettre à l'assembleur. Je voulais donc savoir si un registre en asm corresponda Manipulation de chaine dans la base de registre [ par Micro_and_Macro ] Salut, tout le monde je maitrise mal la manipulation des chaines etc.. J'ai besoin d'aide ! :pVoilà je récupère d'un client un " buff      db 512 dup Registre SP [ par safwensafwen ] Bonours,je voudrais savoir si le pointeur SP change automatiquement lors d'une opération push ou Pop?MerciSafwen Mov [ par safwensafwen ] Bonsoir,est ce que l'opérateur Mov dans l'exemple: MOV BP,SP , déplace complétement la valeur de SP dans BP ou bien il fait une copie de SP en BP. Si charger n octets en mémoire [ par faresas ] Bonjour;je veux savoir comment lire n octets depuis un flash disque puis les charger en mémoire en utilisant les intérruptions bios en mode réel (16 b Afficher le contenu d'un registre [ par Anakinele ] Bonjour !Grand débutant en ASM je cherche 'simplement' (rien ne semble simple en asm !) à afficher dans la console le contenu d'un registre choisi au


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales