preguntar acerca de assembly

5
réponses

Spinlock de montage en ligne Le plus rapide

J'écris une application multithread en C++, où les performances sont critiques. J'ai besoin d'une grande quantité de verrouillage lors de la copie de petites structures entre les threads, pour cela j'ai choisi d'utiliser des spinlocks. J'ai fait des …
demandé sur 1970-01-01 00:33:32
4
réponses

c++ passer des arguments par référence et pointeur

En c++ class bar { int i; char b; float d; }; void foo ( bar arg ); void foo ( bar &arg ); void foo ( bar *arg ); Ceci est un exemple de classe / structure et de fonctions j'ai quelques Qs Quelle est la différence entre la 1 …
demandé sur 1970-01-01 00:33:31
2
réponses

Écriture d’un compilateur JIT dans l’assemblage

J'ai écrit une machine virtuelle en C qui a des performances décentes pour une machine virtuelle non-JIT, mais je veux apprendre quelque chose de nouveau et améliorer les performances. Mon implémentation actuelle utilise simplement un commutateur pou …
demandé sur 1970-01-01 00:33:31
5
réponses

Assemblage de bras d’apprentissage

Au cours de cette année, il y aura quelques sous-600€ Ordinateurs portables multi-touch qui contiennent Tegra2. Ils m'apportent une bonne excuse pour apprendre le langage D'assemblage de bras. Mais je n'ai aucune idée par où commencer à côté de la ar …
demandé sur 1970-01-01 00:33:30
5
réponses

Performances relatives des verrous swap vs compare-and-swap sur x86

Deux idiomes de verrouillage communs sont: if (!atomic_swap(lockaddr, 1)) /* got the lock */ Et: if (!atomic_compare_and_swap(lockaddr, 0, val)) /* got the lock */ Où val pourrait simplement être une constante ou un identificateur pour le nouv …
demandé sur 1970-01-01 00:33:31
3
réponses

Comment activer les exceptions d’alignement pour mon processus sur x64?

Je suis curieux de voir si mon application 64 bits souffre de défauts d'alignement. Depuis alignement des données Windows sur IPF, x86 et x64 : Sous Windows, un programme d'application qui génère une erreur d'alignement déclenche une exception, …
demandé sur 1970-01-01 00:33:34
2
réponses

Pourquoi la rbp et la rsp appelés registres?

selon Intel dans x64 les registres suivants sont appelés registres à usage général (RAX, RBX, RCX, RDX, RBP, RSI, RDI, RSP et R8-R15) https://software.intel.com/en-us/articles/introduction-to-x64-assembly. dans l'article suivant, il est écrit que RB …
demandé sur 1970-01-01 00:33:36
3
réponses

Compiler un assembleur 32 bits sur ubuntu 64 bits [dupliquer]

Cette question a déjà une réponse ici: assemblage de binaires 32 bits sur un système 64 bits (chaîne D'outils GNU) 1 réponse j'ai un programme écrit en langage d'a …
demandé sur 1970-01-01 00:00:00
2
réponses

Shellcode pour un débordement simple de la pile: le programme exploité avec shell se termine directement après execve («/bin/sh»)

j'ai joué avec des dépassements de tampon sur Linux (amd64) et essayé d'exploiter un programme simple, mais il a échoué. J'ai désactivé les fonctionnalités de sécurité (randomisation de la mise en page de l'espace d'adresse avec le noyau sysctl-w).ra …
demandé sur 1970-01-01 00:33:30
2
réponses

Que signifie le R dans RAX, RBX, RCX, RDX, RSI, RDI, RBP, RSP? [dupliquer]

Cette question a déjà une réponse ici: que signifient les préfixes E et R dans les noms des registres Intel 32 bits et 64 bits? 1 réponse le langage assembleur x86 a …
demandé sur 1970-01-01 00:33:32