Questions sur assembly

12
réponses

Pourquoi ne pas GCC optimiser un*un*un*un*un*un (a*a*a)*(a*a*a)?

je fais de l'optimisation numérique sur une application scientifique. Une chose que J'ai remarqué , C'est que GCC va o ... un comportement similaire. pourquoi les compilateurs ne reconnaissent-ils pas cette astuce d'optimisation?
demandé sur 2011-06-21 22:49:55
8
réponses

Le remplacement d'un compteur de boucle de 32 bits par un compteur de boucle de 64 bits introduit des déviations de performance folles

je cherchais le moyen le plus rapide de popcount grands tableaux de données. J'ai rencontré un très bizarre effet: ... ois. Donc, même si vous déroulez, vous pouvez toujours obtenir frappé par de grands écarts. Tout à fait intéressant.
demandé sur 2014-08-01 14:33:29
11
réponses

Code C++ pour tester la conjecture Collatz plus rapidement que l'assemblage manuel-pourquoi?

j'ai écrit ces deux solutions pour projet Euler Q14 , en assemblage et en C++. Il s'agit de la même approche de force ... optimisé par @Peter Cordes avg 145 ms @Veedrac c++ avg 81 ms avec -O3 , 305 ms avec -O0
demandé sur 2016-11-01 09:12:06
4
réponses

Comment atteindre le maximum théorique de 4 FLOPs par cycle?

comment atteindre la performance maximale théorique de 4 opérations à virgule flottante (double précision) par cycle s ... xmm5, xmm3 mulsd xmm1, xmm3 mulsd xmm8, xmm3 addsd xmm10, xmm2 addsd xmm9, xmm2 addsd xmm13, xmm2 ...
demandé sur 2011-12-05 21:54:56
14
réponses

Quel est le but de L'instruction LEA?

pour moi, ça ressemble à un funky MOV. Quel est son but et quand dois-je utiliser?
demandé sur 2009-11-01 23:57:27
30
réponses

Quand l'assemblage est-il plus rapide que C?

L'une des raisons indiquées pour connaître assembleur est que, à l'occasion, il peut être utilisé pour écrire du code ... ent, mais je veux vraiment savoir exactement comment esoteric ces cas sont, car il semble être un point de discorde.
demandé sur 2009-02-23 16:03:26
6
réponses

Pourquoi GCC génère-t-il 15-20% de code plus rapide si je optimise pour la taille au lieu de la vitesse?

j'ai remarqué pour la première fois en 2009 que GCC (au moins sur mes projets et sur mes machines) a tendance à générer ... i-dessus. Les ratés de la cache sont très bruyants et montrent peu ou pas de corrélation avec les temps d'exécution.
demandé sur 2013-10-20 00:36:16
9
réponses

Utiliser GCC pour produire un assemblage lisible?

je me demandais comment utiliser GCC sur mon fichier C source pour Dumper une version mnémotechnique du code machine ... c GCC. j'essaie de réécrire une méthode C en assemblage et voir comment le GCC fait serait une grande aide.
demandé sur 2009-08-17 23:22:17
24
réponses

Protéger l'exécutable de la rétroingénierie?

j'ai réfléchi à la façon de protéger mon code C/C++ du démontage et de la rétroingénierie. Normalement, Je ne caution ... et / ou comprises par les analystes de code à condition que le bon délai. Est-il rien d'autre alternative que j'ai?
demandé sur 2011-06-26 05:49:24
10
réponses

A quoi ressemble le langage d'assemblage multicore?

il était une fois, pour écrire x86 assembleur, par exemple, vous auriez des instructions indiquant "charger le registr ... quelles modifications ont été apportées au code machine x86 pour prendre en charge la fonctionnalité multi-core?
demandé sur 2009-06-11 17:16:02
8
réponses

Qu'est-ce que le pointeur de base et le pointeur de pile? De quoi ont-ils point?

utilisant cet exemple provenant de wikipedia, dans lequel DrawSquare () appelle DrawLine (), " 15198090920" ... ne prolog, je veux juste savoir ce qui se passe après avoir poussé les arguments sur la pile et avant le prolog).
demandé sur 2009-09-08 22:37:01
15
réponses

Est-il possible de "décompiler" une fenêtre.exe? Ou au moins de vue de l'Assemblée?

un ami à moi a téléchargé quelques logiciels malveillants de Facebook, et je suis curieux de voir ce qu'il fait sans m ... en montage ou attacher un débogueur? Modifier à-dire qu'il n'est pas un .NET exécutable, pas de CLI-tête.
demandé sur 2008-11-07 21:44:47
4
réponses

Pourquoi GCC utilise-t-il la multiplication par un nombre étrange dans la mise en œuvre de la division entière?

j'ai lu sur les opérations d'assemblage div et mul , et j'ai décidé de les voir en action en écrivant un programme sim ... sse-t-il? Pourquoi GCC n'utilise-t-il pas div? Comment est-il générer ce nombre magique et pourquoi tout ce travail?
demandé sur 2016-12-16 14:59:45
22
réponses

Le langage d'assemblage en ligne est-il plus lent que le code C++ natif?

j'ai essayé de comparer les performances du langage d'assemblage en ligne et du code C++, donc j'ai écrit une fonction ... a performance du langage d'assemblage écrit par mes mains, se concentrer sur C++ et oublier le langage d'assemblage?
demandé sur 2012-03-07 16:22:06
3
réponses

Comment utiliser gcc pour générer du code d'assemblage dans la syntaxe Intel?

l'option gcc -S générera du code d'assemblage dans la syntaxe AT&T, y a-t-il un moyen de générer des fichiers dans la syntaxe Intel? Ou est-il un moyen de convertir entre les deux?
demandé sur 2008-10-14 07:52:47
13
réponses

Num++ peut-il être atomique pour "int num"?

en général, pour int num , num++ (ou ++num ), comme une opération de lecture-modification-écriture, est Non atomique ... te réponse , la conversation dans ses commentaires et d'autres expliquer, il peut (mais pas avec C ou c++).
demandé sur 2016-09-08 17:39:51
14
réponses

Trouver rapidement si une valeur est présente dans la matrice?

j'ai une application intégrée avec un ISR critique dans le temps qui doit itérer à travers un tableau de taille 256 (d ... L'utilisation de l'assemblage en ligne est autorisée. D'autres astuces "moins élégantes" sont également autorisées.
demandé sur 2014-09-04 13:31:54
4
réponses

Quelles sont les conventions d'appel pour les appels UNIX et Linux sur i386 et x86-64

les liens suivants expliquent les conventions d'appel système x86-32 pour UNIX (BSD flavor) et Linux: ... stem-calls.html mais quelles sont les conventions d'appel système x86-64 sur les deux UNIX Et Linux?
demandé sur 2010-03-29 09:48:43
20
réponses

Comment puis-je construire un petit système d'exploitation sur un ancien ordinateur de bureau? [fermé]

cela pourrait être en vain, comme je sais que l'écriture d'un système d'exploitation est incroyablement compliqué (sur ... tes les suggestions sur la façon d'obtenir ce graphique? Différents modes vidéo et comment travailler avec eux, etc?
demandé sur 2009-08-04 01:01:42
8
réponses

'testl' eax contre eax?

j'essaie de comprendre une assemblée. l'assemblée comme suit, je m'intéresse à la ligne testl : 00031 ... est pas important, j'essaie juste de comprendre le test avec lui - même-la valeur ne serait-elle pas toujours vraie?
demandé sur 2008-09-29 05:22:57
5
réponses

Pourquoi L'ESS scalar sqrt(x) est-elle plus lente que rsqrt (x) * x?

j'ai profilé quelques-unes de nos mathématiques de base sur un Duo de base Intel, et en regardant diverses approches à ... in d'essayer de mesurer est scalar performance pour une utilisation dans le code qui ne peut pas être vectorisé.)
demandé sur 2009-10-07 03:45:32
7
réponses

Quel est le but d'un XORing d'un registre avec lui-même? [dupliquer]

cette question a déjà une réponse ici: Quelle est la meilleure façon de mettre un ... 004 mov dword ptr [i],5 return 0; 012B100B xor eax,eax que signifie aussi in al, dx ?
demandé sur 2009-09-09 01:54:39
5
réponses

Le point d'essai %eax % eax [duplicate]

possible Duplicate: x86 montage - " testl’ eax contre eax? je suis très nouvea ... ébutant en programmation en général, donc j'apprécierais beaucoup si quelqu'un pourrait-il m'expliquer cela. Merci!
demandé sur 2012-10-25 12:43:26
6
réponses

Comment fonctionne la callstack?

j'essaie de mieux comprendre comment fonctionnent les opérations de bas niveau des langages de programmation et surtou ... as pleinement compris comment exactement la pile fonctionne et comment il suit strictement les règles LIFO .
demandé sur 2014-06-01 19:27:06
10
réponses

Pourquoi x86 est-il moche? Pourquoi est-il considéré comme inférieur par rapport aux autres? [fermé]

récemment, j'ai lu des archives et rencontré des déclarations contre l'architecture x86. Pourquoi a ... est-ce que quelqu'un peut me donner des raisons de considérer x86 laid/bad/inferior par rapport à d'autres.
demandé sur 2010-04-21 06:14:45
2
réponses

Quelle est la signification des accès à la mémoire "non temporelle" dans x86

il s'agit d'une question assez basse. Dans l'assemblage x86 il y a deux instructions SSE: MOVDQA xmmi ... -temporel , et qu'autrement il est le même que MOVDQA. ma question est, que signifie Non-temporel ?
demandé sur 2008-09-01 00:18:34
3
réponses

Que signifie "dword ptr"?

quelqu'un peut-il expliquer ce que cela signifie? (Syntaxe Intel, x86, Windows) and dword ptr [ebp-4], 0
demandé sur 2010-06-07 12:00:52
1
réponses

Quel est le meilleur moyen de définir un registre à zéro en x86 assemblée: xor, mov ou et?

Toutes les instructions suivantes font la même chose: 151910920" à zéro. Quelle est la solution optimale (nécessitant le moins de cycles machine)? xorl %eax, %eax mov "151900920", %eax andl "151900920", %eax
demandé sur 2015-11-12 10:55:01
8
réponses

Lequel est le plus rapide: si (bool) ou si(int)?

quelle valeur est la meilleure à utiliser? Booléen vrai ou entier 1? le sujet ci-dessus m'a ... 2 génère exactement le même asm. Mais ce n'est pas la question. La question est de savoir ce que j'ai demandé.
demandé sur 2011-04-23 19:07:18
2
réponses

Pourquoi les instructions x86-64 sur les registres 32 bits zéro la partie supérieure du Registre 64 bits complet?

Dans le x86-64 Tour de Manuels Intel , j'ai lu peut-être le fait le plus surprenant est qu'une in ... gard, il semble illogique (mais le la raison pourrait être que je suis habitué aux bizarreries de x86-32 Assemblée).
demandé sur 2012-06-24 15:40:16