Questions sur assembly

3
réponses

Existe-t-il une spécification de l'assignation des ports d'entrée/sortie x86?

j'ai trouvé quelques informations sur le web comme suit, mais incomplète. http://en.wikipedia.org/wiki/Input/output_base_address http://wiki.osdev.org/I/O_Ports où télécharger la spécification?
demandé sur 2013-01-07 15:16:50
9
réponses

Pourquoi la fonction" noreturn " revient-elle?

j'ai lu ce question à propos de noreturn attribut, qui est utilisé pour les fonctions qui ne retournent pas à ... ax call func pourquoi la fonction func() retour après avoir fourni l'attribut noreturn ?
demandé sur 2017-08-31 15:31:59
12
réponses

Utiliser le langage D'assemblage en C / C++

je me souviens avoir lu quelque part que pour vraiment optimiser et accélérer certaines sections du code, les programm ... lentement que la plupart des humains, car souvent le compilateur optimise le code mieux que la plupart des humains.
demandé sur 2010-11-17 11:33:59
6
réponses

Si l'instruction vs if-else, qui est plus rapide? [fermé]

j'ai discuté avec un ami l'autre jour, à propos de ces deux extraits. Ce qui est plus rapide et pourquoi ? valu ... rapide et quand ( par exemple "mieux car pas de ramification et la ramification a problème suivant blahblah" )
demandé sur 2017-04-04 11:28:49
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
7
réponses

À quoi servent les instructions D'entrée et de sortie dans x86?

j'ai encodé ces instructions dans et hors tout en lisant le livre" Comprendre le noyau Linux". J'ai regardé le manuel d ... scénario où je dois utiliser ces instructions. Quand aurais-je besoin? Donner quelques exemples pratiques.
demandé sur 2010-07-09 23:23:51
3
réponses

Est-il logique d'utiliser L'instruction LFENCE sur les processeurs x86/x86 64?

souvent sur internet je trouve que LFENCE n'a aucun sens dans les processeurs x86, c'est-à-dire qu'il ne fait rien , ... ur éviter de réorganiser le magasin-1 et la charge-2. Pour ce faire, après la commande SFENCE flushs Store-Buffer.
demandé sur 2013-12-01 23:19:06
5
réponses

Comment faire pour déplacer 128 bits sur les registres XMM

il y a déjà une question à ce sujet, mais elle a été fermée comme" ambiguë " donc j'en ouvre une nouvelle - j'ai trou ... ne séquence de code d'assemblage pour initialiser un registre XMM avec une valeur immédiate (constante) de 128 bits?
demandé sur 2011-07-11 21:38:36
1
réponses

Pourquoi en 64bit l'adresse virtuelle est courte de 4 bits (48bit de long) par rapport à l'adresse physique (52 bit de long)?

Dans le livre "Programmation de Bas Niveau: C, le Montage et l'Exécution du Programme sur l'Architecture Intel® 64" j' ... de tables spéciales. pourquoi la différence en 4 bits entre l'adresse virtuelle et l'adresse physique?
demandé sur 2017-10-01 07:17:15
1
réponses

Pourquoi les segments de données et de pile sont-ils exécutables?

je viens de remarquer que mon programme simple a ses données et segments de pile exécutables. Je l'ai vu dans /proc/[p ... données, pile et tas non exécutables, donc pourquoi ceux écrits en assembly se comportent en de manière différente?
demandé sur 2011-10-23 03:04:07
4
réponses

Pour apprendre l'assemblage - dois-je commencer par 32 bits ou 64 bits?

je veux vraiment apprendre l'assemblage. Je suis assez bon en c/c++, mais veulent une meilleure compréhension de ce qu ... on dont les CPU fonctionnent, et pourquoi vous pourriez faire quelque chose d'une manière plutôt que d'une autre.)
demandé sur 2010-02-28 21:19:35
6
réponses

Memcpy très rapide pour le traitement d'image?

je fais du traitement d'image en C qui nécessite la copie de gros morceaux de données autour de la mémoire - la source ... pas me déplacer devant copier les données (je pourrais expliquer pourquoi mais je vous épargnerai l'explication :))
demandé sur 2009-11-11 16:40:10
13
réponses

Comment puis-je multiplier et diviser en utilisant seulement le déplacement de bits et l'ajout?

Comment puis-je multiplier et diviser en utilisant seulement le déplacement de bits et l'addition?
demandé sur 2010-05-05 23:35:22
3
réponses

"entrez" vs "push ebp; mov ebp, esp; sub esp, imm" et "quitter" vs "mov esp, ebp; pop ebp"

Quelle est la différence entre le enter et le push ebp mov ebp, esp sub esp, imm instructions? Y a- ... toujours le dernier? de la même manière que leave et mov esp, ebp pop ebp instructions.
demandé sur 2011-05-11 09:59:04
7
réponses

x86 assemblage: instruction INC et DEC et drapeau de débordement

dans x86 assembly, le drapeau overflow est activé lorsqu'une opération add ou sub est exécutée sur un dépassement d'en ... e imprime: Overflow flag: 0 . Hein? Pourquoi n'a-t-il pas placé le drapeau de débordement dans ce cas?
demandé sur 2010-10-13 19:50:15
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
2
réponses

Comment faire: pow (réel, réel) EN x86

je cherche l'implémentation de pow(real, real) dans x86 Assembly. J'aimerais aussi comprendre comment fonctionne l'algorithme.
demandé sur 2011-01-09 12:18:11
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
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
13
réponses

La manière la plus rapide de calculer un nombre entier de 128 bits modulo un nombre entier de 64 bits

j'ai un entier a non signé de 128 bits et un entier B non signé de 64 bits. Quelle est la façon la plus rapide de calc ... t que A - il peut y avoir autant que 200 à diviser par chaque B. En quoi votre réponse différerait-elle dans ce cas?
demandé sur 2010-04-02 13:54:09