preguntar acerca de x86-64

7
réponses

Rapide produit scalaire d’un vecteur de bits et un flottant de vecteur

j'essaie de calculer le produit dot entre un vecteur flottant et un vecteur bit de la manière la plus efficace sur un i7. En réalité, je fais cette opération sur des vecteurs de 128 ou 256 dimensions, mais pour l'illustration, laissez-moi écrire le c …
demandé sur 1970-01-01 00:33:33
4
réponses

Comment sauvegarder les registres sur x86 64 pour une routine d’interruption de service?

je regarde un vieux code d'un projet scolaire, et en essayant de le compiler sur mon ordinateur portable j'ai rencontré quelques problèmes. Il a été écrit à l'origine pour une ancienne version 32 bits de gcc. Bref, j'essayais de convertir une partie …
demandé sur 1970-01-01 00:33:31
2
réponses

Quel est le but du registre RBP dans x86 64 assembleur?

J'essaie donc d'apprendre un peu d'assemblage, parce que j'en ai besoin pour mon cours D'Architecture informatique. J'ai écrit quelques programmes, comme Imprimer la séquence de Fibonacci. j'ai reconnu que chaque fois que j'écris un programme j'uti …
demandé sur 1970-01-01 00:33:37
1
réponses

Comment multiplier un registre par 37 en utilisant seulement 2 instructions leal consécutives dans x86?

disons que %edi contient x et que je veux finir avec 37*x en n'utilisant que 2 instructions leal consécutives, comment m'y prendre? par exemple pour obtenir 45x vous feriez leal (%edi, %edi, 8), %edi leal (%edi, %edi, 4), %eax (to …
demandé sur 1970-01-01 00:33:37
1
réponses

Les adresses absolues 32 bits ne sont plus autorisées dans x86-64 Linux?

64 bits Linux utilise le petit modèle de mémoire par défaut, qui place tout le code et les données statiques en dessous de la limite d'adresse de 2 Go. Cela permet de s'assurer que vous pouvez utiliser 32 bits d'adresses absolues. Les anciennes versi …
demandé sur 1970-01-01 00:33:37
1
réponses

Pourquoi l’adresse 0x400000 est-elle choisie comme début de segment de texte dans x86 64 ABI?

Dans ce document sur p. 27 il est dit que le segment de texte commence à 0x400000. Pourquoi a cette adresse en particulier choisi? Est-il la raison pour cela? La même adresse est choisie dans GNU ld sur Linux : $ ld -verbose | grep …
demandé sur 1970-01-01 00:33:36
4
réponses

Préfixe Intel x86 0x2e / 0x3e prédiction de branche réellement utilisée?

Dans les derniers processeurs Intel logiciel dev manuel, il décrit deux opcode préfixes: Group 2 > Branch Hints 0x2E: Branch Not Taken 0x3E: Branch Taken ceux-ci permettent la prédiction explicite de branche des instruction …
demandé sur 1970-01-01 00:33:33
3
réponses

Exécution de code d’assemblage 32 bits sur un processeur 64 bits Linux & 64 bits: expliquer l’anomalie

je suis dans un problème intéressant.J'ai oublié que j'utilise 64bit machine & OS et j'ai écrit un code d'assemblage 32 bits. Je ne sais pas écrire du code 64 bits. c'est le code d'assemblage de 32 bits x86 pour Gnu Assembler (syntaxe AT …
demandé sur 1970-01-01 00:33:30
2
réponses

Puis-je charger une DLL 32 bits dans un processus 64 bits sur Windows?

j'ai récemment mis à niveau un service c# windows pour l'exécuter comme un processus 64 bits .net. Normalement, ce serait trivial, mais le système utilise une DLL 32 bits écrite en C++. Ce n'est pas une option pour convertir cette DLL en 64 bits, don …
demandé sur 1970-01-01 00:33:28
1
réponses

x86 64 registres rax/eax/ax/al écrasement complet le contenu d’un registre [dupliquer]

cette question a déjà une réponse ici: pourquoi les instructions x86-64 sur les registres 32 bits zéro la partie supérieure du Registre 64 bits complet? 2 réponses …
demandé sur 1970-01-01 00:33:34