64 bits des instructions de montage de 32 bits celles
-
23-08-2019 - |
Question
Je commence au port d'un programme qui est écrit en C et ont plusieurs morceaux de code écrit dans l'assemblage avec des instructions pour une machine 32 bits - comme ljmp -. À une machine 64 bits
Y at-il un lieu / document qui ont les instructions, dans l'assemblage, pour une machine 32 bits et son homologue pour un 64 un? Sinon, où puis-je trouver un document qui répertorie toutes les instructions pour un 32 bits et une machine 64 bits?
Comme il est est assez évident, je suis un débutant à la situation. Clarifions quelques points.
Je suis un PORTAGE OS dans ses premiers jours. Il a été écrit avec une machine x86 à l'esprit. Maintenant, je veux tourner à un x86_64.
Il est écrit dans une boîte Linux avec UNIX à l'esprit. Je suis presque sûr que l'auteur original écrit ce sur une machine Intel. Je suis aussi sur Intel mais je voudrais lancer le système d'exploitation dans AMD aussi.
Le compilateur utilisé est gcc.
La solution
Lire cette première: http: // x86asm .net / articles / x86-64-tour-de-intel-manuels / index.html .
télécharger ensuite la référence du jeu d'instructions ici: http://developer.intel .com / products / processeur / manuels / index.htm .
Autres conseils
Vous avez pas offert de fond, ou même le type de CPU, mais je vais vous proposer Thay peut-être vous devriez prendre ce port 64 bits comme une occasion de reconsidérer ayant utilisé le langage assembleur. Bien qu'il a certainement sa place, je recommande recodage la routine en C ++ et l'analyse comparative de sortie optimisé du compilateur pour voir si elle est vraiment plus lentement. Dans de nombreux cas, il ne sera pas.