PureBasic
https://www.purebasic.fr/french/

Les registres 64 bits
https://www.purebasic.fr/french/viewtopic.php?f=12&t=9092
Page 1 sur 2

Auteur:  Ollivier [ Mer 04/Mar/2009 0:37 ]
Sujet du message:  Les registres 64 bits

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à!

Auteur:  KarLKoX [ Sam 07/Mar/2009 17:23 ]
Sujet du message: 

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.

Auteur:  Ollivier [ Dim 08/Mar/2009 15:39 ]
Sujet du message: 

@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

Auteur:  tonton [ Dim 08/Mar/2009 16:29 ]
Sujet du message: 

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!

Auteur:  Anonyme [ Dim 08/Mar/2009 16:41 ]
Sujet du message: 

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

Auteur:  tonton [ Dim 08/Mar/2009 16:58 ]
Sujet du message: 

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..

Auteur:  Ollivier [ Dim 08/Mar/2009 19:31 ]
Sujet du message: 

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

Auteur:  tonton [ Dim 08/Mar/2009 21:04 ]
Sujet du message: 

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

Auteur:  Ollivier [ Lun 09/Mar/2009 16:53 ]
Sujet du message: 

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...

Auteur:  Anonyme [ Lun 09/Mar/2009 17:33 ]
Sujet du message: 

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...

Auteur:  tonton [ Lun 09/Mar/2009 18:56 ]
Sujet du message: 

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

Auteur:  Anonyme [ Lun 09/Mar/2009 20:08 ]
Sujet du message: 

Merci , j'ai les 2 parties ^^

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

Auteur:  tonton [ Mar 10/Mar/2009 19:28 ]
Sujet du message: 

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.

Auteur:  Backup [ Mar 10/Mar/2009 23:44 ]
Sujet du message: 

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 ?

Auteur:  tonton [ Mer 11/Mar/2009 18:46 ]
Sujet du message: 

heu!! nonnon!!! j ai jamais bossé dans l informatique

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

Page 1 sur 2 Heures au format UTC + 1 heure
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/