PureBasic

Forums PureBasic
Nous sommes le Dim 21/Juil/2019 20:54

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 16 messages ]  Aller à la page 1, 2  Suivante
Auteur Message
 Sujet du message: Les registres 64 bits
MessagePosté: Mer 04/Mar/2009 0:37 
Hors ligne

Inscription: Ven 29/Juin/2007 17:50
Messages: 3463
Après une petite lecture sur MSDN,

j'ai pu trouver un récap des registres CPU 64 bits pour les futurs champions du Long Mode (V.O. de l'article) !

L'accumulateur (le plus cool des registres) nommé AX en 16 bits, puis EAX en 32 bits, s'appelle désormais soit RAX, soit R0

Je n'ai pas l'ordre exact... Eh oui, sous XP HE, c'est en Legacy Mode... Les chanceux sont sous Vista ou XP Pro sous µsoft et tous les OS sous Linux. Si quelqu'un pouvait compléter cette liste exhaustive de manière préciser (savoir si RBX c'est R1 ou R3, etc...)

Woilà!

_________________
Juste la 4G pour Smartphone


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Sam 07/Mar/2009 17:23 
Hors ligne

Inscription: Jeu 26/Fév/2004 15:36
Messages: 1191
Localisation: France
De mémoire :

- EAX --> RAX,
- EBX --> RBX,
- ECX --> RCX,
- EDX --> RDX,
- ESP --> RSP,
- EBP --> RBP,
- ESI --> RSI,
- EDI --> RDI,
- EIP --> RIP.

Apres tu as les registres numérotés (R8, R9 etc) et la, tout dépend de ce que tu comptes faire des tes registres, tu as dans ce PDF la convention d'appel et les registres à utiliser.

_________________
"Qui baise trop bouffe un poil." P. Desproges


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Dim 08/Mar/2009 15:39 
Hors ligne

Inscription: Ven 29/Juin/2007 17:50
Messages: 3463
@KarlKox

Salut, merci pour le lien.

Pour les registres, le petit souci c'est ma méconnaissance de l'ordre des registres généraux (RAX, RBX, RCX, RDX, RSI, RDI, RSP et RBP). Ces derniers sont remplacés par Rn (n entre 0 et 7).

J'ai fait un sujet sur le désassemblage dynamique. Si quelqu'un qui a Vista peut tester ce code avec une instruction au pif pour déduire cet ordre, s'il pouvait me poster ces 8 registres dans l'ordre machine (de R0 à R7).

Ollivier


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Dim 08/Mar/2009 16:29 
Hors ligne
Avatar de l’utilisateur

Inscription: Mar 26/Avr/2005 15:19
Messages: 315
Ou t' as vu qu ils étaient remplacé par R0-R7?

comme le dit karlkox
leur noms sont:
- EAX --> RAX
- EBX --> RBX
- ECX --> RCX
- EDX --> RDX
- ESP --> RSP
- EBP --> RBP
- ESI --> RSI
- EDI --> RDI

bah non pas de sauf

EIP --- RIP.


cela pour savoir dans quel registre on travail pour des longeurs inferieur..

si le compilateur accepte les noms R0.... ,il sont aussi dans cet ordre.

imagine si tu l' apelle r3 et qu' ensuite tu dois travailler sur 32 bits, soit RDX.. c' est deja assez tordu comme ca!


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Dim 08/Mar/2009 16:41 
Haaa Tonton n'est pas mort !!! :D
je me colle sérieusement à l'asm , donc j'espère que tu es dans le secteur :D


Haut
  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Dim 08/Mar/2009 16:58 
Hors ligne
Avatar de l’utilisateur

Inscription: Mar 26/Avr/2005 15:19
Messages: 315
J' ai toujours été dans le secteur :D
je visite presque tous les jours.
mais comme je programme plus , je ferme ma gueulle :roll:
si je comprend tes questions , je me fairai un plaisir d' y repondre..


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Dim 08/Mar/2009 19:31 
Hors ligne

Inscription: Ven 29/Juin/2007 17:50
Messages: 3463
Citation:
Ou t' as vu qu ils étaient remplacé par R0-R7?

J'ai vu ça dans les liens que j'ai mis là-haut, en haut de la page.

Tiens! Je te le remets ici : «ICI».

(C'est dans le tableau bleu, l'ascenseur de défilement vertical à environ 55%, c'est incopiable...)

Chez µsoft, ils ont été capable de dire que R0 c'était RAX. Bon, c'est peut-être pour ça que Vista a planté dans tous les sens, qu'en sais-je...

Mais, justement, moi, ça m'intrigue (je tourne en 32 bits mais ça risque bien de changer tôt ou tard). Donc je voulais savoir si les fabricants de CPU, ils ont pris la même logique qu'à l'accoutumée, à savoir comme l'ordre d'explosion des moteurs 4 cylindres de voiture : 1-3-4-2. Ce qui donne, sur les bons vieux PC de la taille d'un rameur et aussi bruyant qu'une climatisation, l'ordre machine suivant:
AX, CX, DX, BX

Ce qui donnerait sur un 64 bits:
R0 = RAX
R1 = RCX
R2 = RDX
R3 = RBX

Ou bien s'il se sont dits "Bon, on va changer : un CPU c'est pas un moteur de bagnole!". Et dans ce cas-là, on retrouve:
R0 = RAX
R1 = RBX
R2 = RCX
R3 = RDX

Woilà Tonton! Et pis content de te causer aussi!

Ollivier


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Dim 08/Mar/2009 21:04 
Hors ligne
Avatar de l’utilisateur

Inscription: Mar 26/Avr/2005 15:19
Messages: 315
Justement par obligation de compatibitée le registre principaux
ne changent pas trop
et sont toujours utilisable en 32 ,16 ,et 8 bits


les 8 autres R8 a R15 sont seulement 64 bits

mais! bon on peut tres bien les nommer comme on veux
perso mon desasembleur les inscrit comme suit...


EAX --- D2R2
EBX --- 6PO
ECX --> K2000
EDX --> T1000
ESP --> Nicole Croisille
EBP --> Sarkozy
ESI --> ANPE
EDI --> ASEDIC


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Lun 09/Mar/2009 16:53 
Hors ligne

Inscription: Ven 29/Juin/2007 17:50
Messages: 3463
Tonton a écrit:
Justement par obligation de compatibitée le registre principaux
ne changent pas trop
Bon, ok je prends note. ça doit sûrement rester dans l'ordre un peu tordu ACDB...

T'aurais pas le source de ton désassembleur, je crois qu'il y a un pépin...


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Lun 09/Mar/2009 17:33 
Citation:
on desasembleur les inscrit comme suit...


Hé ouais , tonton , partage ton savoir , j'arrive à lire les instructions machine
d'un ELF , mais les "legacy prefix" m'échappe un peu...


Haut
  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Lun 09/Mar/2009 18:56 
Hors ligne
Avatar de l’utilisateur

Inscription: Mar 26/Avr/2005 15:19
Messages: 315
une doc recente pour se faire la main.
j ai regardé, ca explique tres bien la base

http://neitsa.developpez.com/tutoriel/a ... odageI.pdf


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Lun 09/Mar/2009 20:08 
Merci , j'ai les 2 parties ^^

Vu ton niveau , tu serais capable de faire un compilateur ?


Haut
  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Mar 10/Mar/2009 19:28 
Hors ligne
Avatar de l’utilisateur

Inscription: Mar 26/Avr/2005 15:19
Messages: 315
Drole de question mon caporal!!
j ai fait un desassembleur pour Atari 520 y a 20 ans.
c'est un travail de "traduction" assez long
un compilteur c'est l'inverse.
donc je répond oui ou non car je n' ai plus la foi.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Mar 10/Mar/2009 23:44 
Hors ligne

Inscription: Lun 26/Avr/2004 0:40
Messages: 14535
tonton a écrit:
Drole de question mon caporal!!
j ai fait un desassembleur pour Atari 520 y a 20 ans..


dis moi , tu bossais pas dans l'arrière boutique de chez Infomanie
(rue de Rivoli) par hasard ?


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Mer 11/Mar/2009 18:46 
Hors ligne
Avatar de l’utilisateur

Inscription: Mar 26/Avr/2005 15:19
Messages: 315
heu!! nonnon!!! j ai jamais bossé dans l informatique

vous allez etre tres fort en ASM avec toutes ces question!!! :lol:


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 16 messages ]  Aller à la page 1, 2  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

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


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye