x86

x86 ist eine Architektur, die von der Intel 8086 CPU abgeleitet ist. Die x86-Familie umfasst die 32-Bit-Architektur IA-32 und 64-Bit x86-64 sowie 16-Bit-Legacy-Architekturen. Fragen zu letzterem sollten mit [x86-16] und / oder [emu8086] getaggt werden. Verwenden Sie das Tag [x86-64], wenn Ihre Frage für 64-Bit x86-64 spezifisch ist. Verwenden Sie für die x86-FPU das Tag [x87]. Für SSE1 / 2/3/4 / AVX * verwenden Sie auch [sse] und alle zutreffenden [avx] / [avx2] / [avx512]
1
Antwort

Threaded Ausführungsgeschwindigkeit von LOCK CMPXCHG

Ich habe eine Multithread-App geschrieben, um die Geschwindigkeit von LOCK CMPXCHG (x86 ASM) zu messen. Auf meinem Rechner (Dual Core - Core 2), mit 2 laufenden Threads und Zugriff auf dieselbe Variable, kann ich ca. 40M Ops / Sekunde ausführ...
06.08.2010, 19:25
2
Antworten

Wie kompiliere ich Assembly-Routinen zur Verwendung mit einem C-Programm (GNU Assembler)?

Ich habe eine Menge von Assembly-Funktionen, die ich in C-Programmen verwenden möchte, indem ich eine Header-Datei erstelle. Zum Beispiel, wenn ich asm_functions.s habe, was die eigentlichen Assembly-Routinen und asm_functions.h definiert, die P...
30.04.2009, 20:39
1
Antwort

In Bezug auf C ++ und Assembly, was ist ebp + 8?

Ich habe den folgenden C ++ Code: %Vor% Das Folgende ist die disassemblierte Version der Funktion foo() : %Vor% Wie ich weiß, ist ebp+X für Zugriffsfunktionsargumente, aber für foo gibt es nichts Vergleichbares, also warum benutz...
03.01.2017, 20:15
3
Antworten

Wie kann ich die Mikro-Ops finden, auf die Anweisungen auf Intels x86-CPUs dekodieren?

Die Intel Optimization Reference in Abschnitt 3.5.1 empfiehlt: "Anweisungen für Einzel-Mikro-Operationen bevorzugen." "Vermeiden Sie die Verwendung komplexer Anweisungen (z. B." Enter "," Leave "oder" Loop "), die mehr als 4 Mikrobefehle e...
04.11.2014, 12:32
1
Antwort

Wie kompilieren 32-Bit-Anwendungen auf 64-Bit-RHEL?

Ich versuche, eine 32-Bit-C-Anwendung auf RHEL 7 64-Bit mit gcc 4.8 zu kompilieren. Ich erhalte einen Compilerfehler /usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory . Was muss ich tun, um 32-Bit-Apps zu kompilie...
13.05.2014, 17:50
3
Antworten

foreach vs für: Bitte erklären Sie die Assembly Code-Differenz

Ich habe kürzlich die Leistung der for-Schleife gegen die foreach-Schleife in C # getestet, und ich habe festgestellt, dass die foreach-Schleife tatsächlich schneller auskommt, wenn man ein Array von Ints zu einem long summiert. Hier ist das vo...
10.01.2013, 16:24
2
Antworten

Optimieren von C-Code mit SSE-Intrinsics

Ich habe eine Weile mit der Leistung der Netzwerkcodierung in einer Anwendung gekämpft, die ich entwickle (siehe Optimierung des SSE-Codes , Verbessern der Leistung der Codierung des Netzwerkcodes und OpenCL-Verteilung ). Jetzt bin ich zieml...
22.10.2011, 16:08
5
Antworten

Einen Assembler schreiben, brauche Hilfe [geschlossen]

Ich schreibe einen 8086 Assembler für ein College-Projekt. Ich habe Material über Compilerdesign im Internet gelesen und lese das "Drachenbuch" von Compilern. Aber das Problem ist, dass ich hier nicht viel über den zusammensetzenden (generierend...
05.08.2010, 06:22
2
Antworten

Welche Assembler unterstützen derzeit den AVX-Befehlssatz?

Ich möchte mit einigen AVX-Anweisungen (erweiterte Vektorerweiterung) beginnen und spielen. Ich weiß, dass Intel einen Emulator zur Verfügung stellt, um Software zu testen, die diese Anweisungen enthält (siehe diese Frage ), Aber da ich Hex-Cod...
15.11.2009, 15:55
1
Antwort

Wie unterscheidet die CPU 'CALL rel16' (E8 cw) und 'CALL rel32' (E8 cd)?

Wie unterscheidet die CPU CALL rel16 (E8 cw) und CALL rel32 (E8 cd)? Laut dieser Site spiegeln die Intel-Architekturhandbücher die Opcodes für CALL rel16 und CALL rel32 wider. sind E8 cw bzw. E8 cd . Das hat mich fragen...
03.07.2017, 09:40