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]
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
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:
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
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
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
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
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:
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
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
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
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
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
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
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
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
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
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
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
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
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,
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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]
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
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
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
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
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 >
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
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