Tag: 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]

Was ist Stapelrahmen in der Montage?

Anzahl der Antworten 4 Antworten
Was ist die Struktur eines stack-Rahmens an, und wie wird es verwendet beim Aufruf von Funktionen in Assembler? InformationsquelleAutor der Frage bunty | 2010-09-13

Erklärung über Push-Ebp und Pop-Ebp-Anweisung in der Montage

Anzahl der Antworten 2 Antworten
ich verwendet stack in Assembler, aber ich habe keine Ahnung von ebp push und pop ebp. .intel_syntax noprefix .include "console.i" .text askl: .asciz "Enter length: " askb: .asciz "Enter breadth: " ans: .asciz "Perimeter = " _entry:

Was ist der Unterschied zwischen Trap und Interrupt?

Anzahl der Antworten 9 Antworten
Was ist der Unterschied zwischen Trap und Interrupt? Wenn die Terminologie ist unterschiedlich für verschiedene Systeme, was dann bedeuten Sie auf x86? InformationsquelleAutor der Frage David | 2010-06-30

Der Unterschied zwischen Call Gate, Interrupt Gate, Trap Gate?

Anzahl der Antworten 3 Antworten
Ich studiere Intel Protected Mode. Ich fand, dass Call-Gate, Interrupt-Gate, Trap-Gate sind fast die gleichen. In der Tat, neben, Call-Gate hat die Felder für die parameter-Zähler, und diese 3 Tore haben unterschiedliche Typ-Felder, Sie sind identisch in

Welche Funktion haben die Push / Pop-Anweisungen für Register in der x86-Assembly?

Anzahl der Antworten 5 Antworten
Beim Lesen über assembler habe ich oft über Menschen schreiben, dass Sie push eine bestimmte register des Prozessors und pop es später erneut, um es wieder den vorherigen Zustand. Wie können Sie schieben, ein register? Wo ist

So erstellen Sie Ihr eigenes x86-Betriebssystem für moderne PC-Computer

Anzahl der Antworten 9 Antworten
Ich würde gern ein neues Betriebssystem für x86-PCs. Ich möchte es für 64-bit, aber möglicherweise laufen als 32-bit-als auch. Ich habe diese Arten von Fragen: Welche Arten von Dingen beginnen Sie die Arbeit auf die erste? Zu

X86-Baugruppe - Handhabung der IDIV-Anweisung

Anzahl der Antworten 2 Antworten
Ich bin derzeit am schreiben eines einfachen C-compiler, das dauert .c-Datei als Eingabe und generiert Assembler (X86, AT&T-syntax). Alles ist gut, aber wenn ich versuche, führen Sie eine IDIVQ Anweisung, bekomme ich eine Gleitkomma-Ausnahme. Hier mein input:

Was ist dein liebster Anti-Debug-Trick?

Anzahl der Antworten 10 Antworten
Bei meinem früheren Arbeitgeber, verwendeten wir eine Dritte Komponente, die im Grunde war nur einer DLL und einer header-Datei. Das Modul behandelt den Druck in Win32. Jedoch die Unternehmen an, dass die Komponente ging bankcrupt so konnte

Wie schreibe ich einen Disassembler?

Anzahl der Antworten 5 Antworten
Ich bin daran interessiert, das schreiben einer x86-dissembler als ein pädagogisches Projekt. Die einzige wirkliche Ressource, die ich gefunden habe, ist Spiral Space, "Wie schreibt man einen disassembler". Während dies gibt ein schönes high-level-Beschreibung der verschiedenen Komponenten

Ausdruck einer Nummer in Assembler?

Anzahl der Antworten 10 Antworten
mov al,10 add al,15 Wie kann ich drucken Sie den Wert von " al'? InformationsquelleAutor der Frage Kristina Brooks | 2009-12-17

Hilf mir, diesen JavaScript-Exploit zu verstehen

Anzahl der Antworten 9 Antworten
Ich in der Regel keine Schwierigkeiten haben, zu Lesen JavaScript-Skript, aber dieses kann ich nicht herausfinden, die Logik. Der code ist aus einem Exploit, der veröffentlicht wurde, vor 4 Tagen. Sie finden ihn unter milw0rm. Hier ist

PHP x86 Wie bekomme ich die Dateigröße von & gt; 2 GB Datei ohne externes Programm?

Anzahl der Antworten 14 Antworten
Ich brauchen, um die Datei Größe von einer Datei über 2 GB groß. (Prüfung auf 4.6 GB Datei). Gibt es eine Möglichkeit, dies zu tun, ohne ein externes Programm? Aktueller status: filesize()stat() und fseek() fehl fread() und

Was bedeutet "nicht temporale" Speicherzugriffe in x86?

Anzahl der Antworten 2 Antworten
Dies ist ein etwas low-level-Frage. In x86-assembly gibt es zwei SSE-Anweisungen: MOVDQA xmmi, m128 und MOVNTDQA xmmi, m128 IA-32 Software Developer ' s Manual sagt, dass die NT in MOVNTDQA steht für Nicht-Zeitlichenansonsten ist es das gleiche

Wie machst du einen Assembler?

Anzahl der Antworten 4 Antworten
Ich würde gerne eine einfache x86-assembler. Ich Frage mich, ob es irgendwelche tutorials für die Herstellung Ihrer eigenen assembler. Oder wenn es ein einfaches assembler, dass ich studieren konnte. Außerdem Frage ich mich, welche tools werden eingesetzt

Welchen Zweck hat das Festlegen des Plattformziels für eine Visual Studio-Anwendung?

Anzahl der Antworten 2 Antworten
Für alle VS-Projekt ist es möglich, die Plattform target in den build-Eigenschaften des Projekts. Sie können diese zu Jeder CPU, x86 -, x64-oder Itanium. Meine Frage ist, wenn ich diesen Wert auf x86-heißt das, ich kann nicht

Stapelzuordnung, Auffüllen und Ausrichtung

Anzahl der Antworten 6 Antworten
Ich habe versucht, ein tieferes Verständnis von, wie Compiler erzeugen Maschinencode, und genauer gesagt, wie GCC beschäftigt sich mit dem stack. Dabei habe ich schon mit dem schreiben von einfachen C-Programmen auszuwerten, um Sie in der Montage-und

C # COM DLL: verwende ich Regasm oder Regsvr32?

Anzahl der Antworten 2 Antworten
Baue ich eine C# - ActiveX-DLL... verwende ich REGASM oder REGSVR32 zu registrieren? Wie registriere ich die 64-bit-interface vs die 32-bit-Schnittstelle? InformationsquelleAutor der Frage Jason | 2008-12-16

Wie kann ich zur Assemblierung mit gcc kompilieren?

Anzahl der Antworten 3 Antworten
Wie kann ich kompilieren, um die Montage anstelle einer ausführbaren Datei mit gcc. Ich weiß, es ist ein -S Flagge, aber wo verwende ich es in der makefile. Zum Beispiel, wenn ich die use-flags -O3 -o exe_namewo

Header-Dateien für x86-SIMD-Intrinsics

Anzahl der Antworten 5 Antworten
Welche header-Dateien bieten die systeminterne Funktionen für die verschiedenen x86-SIMD-Befehlssatz-Erweiterungen (MMX, SSE, AVX, ...)? Es scheint unmöglich zu finden, so eine Liste online. Korrigieren Sie mich, wenn ich falsch bin. InformationsquelleAutor der Frage fredoverflow | 2012-06-27

Schnellster Weg, um mindestens 3 Nummern herauszufinden?

Anzahl der Antworten 10 Antworten
In einem Programm, das ich schrieb, 20% der Zeit aufgewendet wird, auf die Suche nach dem minimum der 3 zahlen in einer inneren Schleife, in dieser routine: static inline unsigned int min(unsigned int a, unsigned int b,

Welche Variable Größe (db, dw, dd) mit x86 Assembly zu verwenden?

Anzahl der Antworten 2 Antworten
Ich bin ein Anfänger auf Montage und ich weiß nicht, was alle db, dw, dd, Dinge bedeuten. Ich habe versucht zu schreiben, dieses kleine script, das macht 1+1, speichert es in einer variable und zeigt dann das

Warum verlässt "mov esp, ebp" in x86-Assembly?

Anzahl der Antworten 3 Antworten
Es wird gesagt, dass die leave Anweisung ist die gleiche wie : mov esp,ebp pop ebp Aber was ist mov esp,ebp hier? Es scheint nicht gültig zu mir... InformationsquelleAutor der Frage compile-fan | 2011-03-29

Was macht NOPL im x86-System?

Anzahl der Antworten 3 Antworten
was ist die Funktion von NOPL in x86-Maschine? Es fühlt sich an wie es tut nichts, aber warum ist es immer in den Assembler code? InformationsquelleAutor der Frage | 2012-09-24

Konvertieren von 32-Bit-Anwendung in 64-Bit-Anwendung in C

Anzahl der Antworten 9 Antworten
Arbeite ich jetzt auf der Konvertierung einer 32-bit-Anwendung in eine 64-bit Applikation in C. Diese Anwendung ist derzeit auf x86-Architektur (Windows, osx, Unix, Linux). Also, vor Beginn der Codierung, wollte ich wissen, was muss ich beachten bei

Unterschied zwischen MOVDQA- und MOVAPS x86-Anweisungen?

Anzahl der Antworten 1 Antworten
Ich bin auf der Suche Intel-Datenblatt: Intel® 64 und IA-32-Architektur Software Developer ' s Manual und ich kann nicht herausfinden, den Unterschied zwischen MOVDQA: Bewege Ausgerichtet Double Quadword MOVAPS: Verschieben Ausgerichtet Packed Single-Precision - Im Intel-Datenblatt kann

Kann eine bool Lese- / Schreiboperation auf x86 nicht atomar sein?

Anzahl der Antworten 3 Antworten
Sagen, wir haben zwei threads, einer liest ein bool in einer Schleife und einer anderen hin-und herschalten können es in bestimmten Zeiten. Ich persönlich denke, das sollte atomaren weil sizeof(bool) in C++ 1 byte, und Sie nicht

Was bedeuten die Dollar ($) und Prozent (%) Zeichen in Assembly Intel x86?

Anzahl der Antworten 5 Antworten
Ich versuche zu verstehen, wie der Assembler arbeitet für ein Mikro-computer-Architektur ist Klasse, und ich immer wieder vor unterschiedliche Syntax in Beispielen: sub $48, %esp mov %eax, 32(%esp) Was diese codes bedeuten? Was ist der 32 Operanden

Wie funktioniert x86 pause in Spinlock * und * in anderen Szenarien?

Anzahl der Antworten 4 Antworten
pause-Anweisung wird Häufig verwendet, in der Schleife zu testen spinlockwenn einige andere Threads besitzt die spinlock, zur Minderung der engen Schleife. Es wird gesagt, dass es gleichwertig ist einige NOP-Anweisungen. Könnte jemand mir sagen, wie das genau

Zyklen / Kosten für L1-Cache-Treffer vs. Registrierung auf x86?

Anzahl der Antworten 4 Antworten
Ich erinnere mich, unter der Annahme, dass ein L1-cache-Treffer 1 Zyklus (d.h. identisch zu dem register Zugriff der Zeit) in meinem Architektur-Klasse, aber ist das tatsächlich wahr, die auf modernen x86 Prozessoren? Wie viele Zyklen hat einen

MIPS-Prozessoren: Werden sie noch verwendet? Welche andere Architektur sollte ich lernen?

Anzahl der Antworten 7 Antworten
Ich habe die Programmierung für x86 - & x86-64-in assembly-Sprache für ein paar Monate. Nun, ich möchte nun auf einige andere Art von Prozessoren. MIPS, SPARC, PowerPC, Itanium, ARM, diese fand ich ARM wird weit verwenden. Aber

Schnellste Möglichkeit, die horizontale Float-Vektorsumme auf x86 zu setzen

Anzahl der Antworten 4 Antworten
Haben Sie einen Vektor, der die drei (oder vier) schwimmt. Was ist der Schnellste Weg, die Summe? Ist SSE (movaps, mischen, hinzufügen, movd) immer schneller als x87? Sind die horizontal-hinzufügen von Anweisungen, die in SSE4.2 lohnt sich

Was verursacht Seitenfehler?

Anzahl der Antworten 7 Antworten
Laut Wikipedia: Eine Seite Schuld ist eine Falle, um die software ausgelöst durch die hardware, wenn ein Programm auf eine Seite zugreift, zugeordnet ist, in den virtuellen Adressraum, aber nicht in den physischen Speicher geladen. (Hervorhebung von

Visual Studio: Wie man die Konfigurationen und Plattformen für x64 und x86 richtig erstellt und spezifiziert

Anzahl der Antworten 1 Antworten
Mit: Visual Studio 2012 Professional und Ultimate mit allen aktuellen updates Wie kann ich richtig angeben, die Konfiguration und Plattform zu richtig bauen x86 und x64. Visual Studio, wenn Sie zuerst eine Winforms-Anwendung erstellen, erhalten Sie zwei

Wie installiere ich ia32-libs in Ubuntu 14.04 LTS (Trusty Tahr)

Anzahl der Antworten 11 Antworten
Installierte ich Ubuntu 14.04 (Trusty Tahr) gestern. Scheint alles OK. Aber wenn ich versuchte, Sie zum kompilieren von C-code, den ich auf folgenden Fehler stoßen. Der Fehler scheint zu sein, aufgrund der OS fehlt die 32-bit-Architektur unterstützen.

VT wird bei der Installation von HAXM nicht unterstützt

Anzahl der Antworten 8 Antworten
Bin ich versucht zu installieren, schnelle Android-emulator, verwendet Intel x86 emulator accelerator. Ich habe heruntergeladen die Beschleuniger via SDK-manager, aber wenn ich versuchte, es zu installieren bekam ich folgende Fehlermeldung am Anfang der installation: Ich weiß, dass

Die Verwendung von gdb für Einzelschritt-Assemblercode außerhalb der angegebenen ausführbaren Datei verursacht den Fehler "kann keine Grenzen der aktuellen Funktion finden"

Anzahl der Antworten 3 Antworten
Ich bin außerhalb gdb-target ausführbare Datei und ich weiß nicht einmal, einen Stapel, entspricht diesem Ziel. Ich will single-step sowieso, so dass ich überprüfen kann, was Los ist in meinem Assembler-code, denn ich bin kein Experte auf

Wie groß ist die relative Geschwindigkeit von Gleitkomma-Additionen und Gleitkomma-Multiplikationen?

Anzahl der Antworten 6 Antworten
Einem Jahrzehnt oder zwei Wochen, es hat sich gelohnt zu schreiben numerischen code zu verwenden zu vermeiden multipliziert und dividiert und nutzen, addition und Subtraktion statt. Ein gutes Beispiel ist die Verwendung vorwärts Unterschiede zu bewerten, eine

Floating Point vs. Integer-Berechnungen auf moderner Hardware

Anzahl der Antworten 11 Antworten
Ich bin dabei einige performance-kritische Arbeit in C++, und wir sind derzeit mit integer-Berechnungen für Probleme, die sind von Natur aus schwebenden Punkt, weil seine "schneller". Dies verursacht eine Menge von lästigen Probleme und fügt eine Menge

Was ist der Zweck des EBP-Rahmenzeigerregisters?

Anzahl der Antworten 5 Antworten
Ich bin ein Anfänger in Assembler und habe bemerkt, dass die x86-code emittiert, der von Compilern in der Regel hält die frame-pointer um, auch in der release-optimierter Modus, wenn Sie es verwenden könnte, die EBP registrieren Sie

Ist es möglich, dem Verzweigungsprädiktor mitzuteilen, wie wahrscheinlich es ist, dem Zweig zu folgen?

Anzahl der Antworten 7 Antworten
Nur um es klar zu stellen, ich werde nicht für jede Art von Portabilität hier, also alle Lösungen, die Sie binden mich an einen bestimmten box ist in Ordnung. Grundsätzlich habe ich eine if-Anweisung, wird 99% der

Gibt es eine Möglichkeit, gcc dazu zu bringen, eine rohe Binärdatei auszugeben?

Anzahl der Antworten 4 Antworten
Gibt es eine Reihe von Kommandozeilen-Optionen, die überzeugen gcc zu erzeugen, einen Flachbild-Binär-Datei aus einer Selbstversorger-source-Datei? Angenommen, der Inhalt von foo.c static int f(int x) { int y = x*x; return y+2; } Keine externen Verweise, die

Warum ist SSE skalar sqrt (x) langsamer als rsqrt (x) * x?

Anzahl der Antworten 5 Antworten
Ich habe Profilerstellung einige unserer Kern-Mathematik auf einem Intel Core Duo, und während der Blick auf verschiedene Ansätze der Wurzel habe ich bemerkt etwas merkwürdiges: mit dem SSE-Skalar-Operationen, ist es schneller zu nehmen, die reziproke Wurzel und

Basiszeiger und Stapelzeiger

Anzahl der Antworten 2 Antworten
Gegeben, dieses Stück code: swap: push ebp ; back up the base pointer, mov ebp, esp ; push the context of the registers on the stack push eax push ebx push ecx push edx mov eax, [ebp+8]

32-Bit-C ++ - Code auf 64 Bit portieren - ist es das wert? Warum?

Anzahl der Antworten 19 Antworten
Ich bin mir bewusst, dass einige der offensichtlichen Errungenschaften der x64-Architektur (höheren adressierbaren RAM-Adressen, etc)... aber: Was ist, wenn mein Programm hat keine wirkliche Notwendigkeit für die Ausführung in native 64-bit-Modus. Sollte ich den port eigentlich? Gibt

Was ist der beste Weg, x86 Assembly auf einer Linux-Plattform zu lernen?

Anzahl der Antworten 10 Antworten
Ich habe keine Vorkenntnisse in der Montage-Programmierung, und möchte lernen, wie man x86-code Montage auf einer Linux-Plattform. Aber, ich habe eine harte Zeit finden eine gute Ressource, um mich weiterzubilden. The Art of Assembly Buch sieht gut

x86_64 ASM - maximale Bytes für eine Anweisung?

Anzahl der Antworten 3 Antworten
Was ist die maximale Anzahl von bytes, die eine komplette Anleitung würde erfordern in der x64 asm code? Etwas wie ein Sprung zu Adresse könnte besetzen bis zu 9 bytes, nehme ich an: FF 00 00 00

Tipps zum Lernen Linux x86-64 Assembly & amp; Dokumentation

Anzahl der Antworten 3 Antworten
Hat jemand Unterlagen, die an die Grundlagen der Linux-x86-64 Montage? Ich bin mir nicht sicher, ob oder nicht, um zu lernen, wie es ist, oder zu lernen x86 ersten, und lernen es später, aber als ich ein

Warum verursacht Integer-Überlauf auf x86 mit GCC eine Endlosschleife?

Anzahl der Antworten 6 Antworten
Der folgende code wird in einer Endlosschleife auf GCC: #include <iostream> using namespace std; int main(){ int i = 0x10000000; int c = 0; do{ c++; i += i; cout << i << endl; }while (i >

Erste Schritte mit SSE

Anzahl der Antworten 3 Antworten
Ich will lernen, mehr über die Verwendung der SSE. Welche Möglichkeiten gibt es, um zu lernen, neben den offensichtlichen Lesen der Die Intel® 64 und IA-32 Architectures Software Developer ' s Manuals? Hauptsächlich bin ich interessiert an

Verwenden Sie das 32-Bit-Verzeichnis "Programme" in Msbuild

Anzahl der Antworten 7 Antworten
In 64-bit-Versionen von windows 32-bit-software installiert ist "c:\program files (x86)". Dies bedeutet, Sie können verwenden $(programfiles), um den Pfad (32-bit) software. Also ich brauche einen Dollar(ProgramFiles32), um diese zu überwinden in meinem MSBuild-Projekt. Ich will nicht zu