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]

Warum ist es nicht möglich, um ein byte auf einen Stapel auf Pentium-IA-32 -?

Anzahl der Antworten 4 Antworten
Ich bin gekommen, um zu lernen, dass Sie nicht schieben Sie ein byte direkt auf der Intel Pentium-Chips, kann mir jemand erklären, dies für mich bitte? Dem Grund, dass ich bereits gegeben habe ist, weil das esp-register

Wie Spülen Sie die CPU-cache-für eine region Adressraum in Linux?

Anzahl der Antworten 4 Antworten
Ich bin interessiert in flushing cache (L1, L2, und L3) nur für eine region-Adressbereich, zum Beispiel alle cache-Einträge von Adresse A zu Adresse B. gibt es einen Mechanismus, um dies in Linux, entweder von der Benutzer-oder kernel-space?

Be-x86-oder x64-Montage

Anzahl der Antworten 7 Antworten
Ich habe zwei Versionen von System.Data.SQLite.DLL - für die x86-und x64-Plattform. Die x86-version hält in der Anwendung Ordner-und x64-version hält in appFolder\x64 Ordner. Die kompilierte Anwendung als AnyCPU. Wie kann ich das laden benötigte version von SQLite

C Montage-Aufruf-Konvention 32bit vs 64bit

Anzahl der Antworten 1 Antworten
Habe ich nach dem hervorragenden Buch Programmierung von Grund auf lernen wollen Baugruppe. Wenn auch nicht in dem Buch an dieser Stelle, wollte ich rufen Sie meine assembly-Funktion von C. auf einer 32-bit Maschine, das funktioniert wie

Was ist %gs in der Montage

Anzahl der Antworten 3 Antworten
void return_input (void) { char array[30]; gets (array); printf("%s\n", array); } Nach dem kompilieren des gcc, ist diese Funktion konvertiert das folgende Assembly-code: push %ebp mov %esp,%ebp sub $0x28,%esp mov %gs:0x14,%eax mov %eax,-0x4(%ebp) xor %eax,%eax lea -0x22(%ebp),%eax

Ist die Verlagerung von mehr als 32 bits eines uint64_t integer auf einer x86 Maschine zu Undefinierten Verhalten?

Anzahl der Antworten 5 Antworten
Lernen auf die harte Weise, ich habe versucht, auf der linken shift ein long long und uint64_t mehr als 32 bits, die auf einer x86-Maschine führte 0. Ich erinnere mich vage gelesen zu haben irgendwo, als auf

Was ist die x86 - "ret" - Anweisung entspricht?

Anzahl der Antworten 3 Antworten
Sagen, ich Schreibe eine routine in x86 assembly, wie "hinzufügen" fügt zwei zahlen als Argumente übergeben wurden. Zum größten Teil ist dies eine sehr einfache Methode: push ebp mov ebp, esp mov eax, [ebp+8] add eax, [ebp+12]

8086 - warum können wir nicht verschieben Sie eine sofortige Daten in segment register?

Anzahl der Antworten 4 Antworten
In 8086 assembly programming, wir können nur das laden von Daten in ein segment-register durch, den ersten laden in einem general purpose register und dann haben wir ihn zu bewegen, von dieser Allgemeinen register die segment-register. Warum

x86 Assembler-Programmierung-Schleifen mit ecx und loop-Anweisung versus jmp + j<Bedingung>

Anzahl der Antworten 1 Antworten
ich bin derzeit lernen, x86 assembly language " und fragte mich, was ist der bessere Weg für die Implementierung von Schleifen. Eine Möglichkeit wäre, mov, einen Wert zu ecx-register und verwenden Sie die loop-Anweisung und der andere

Zeichnen Sie einen stack-frame für x86-assembly

Anzahl der Antworten 4 Antworten
So, ich bin irgendwie verwirrt über das zeichnen einen stack-frame für meine Assembler-code. Ich habe das Gefühl ich habe falsch. Hier ist, was ich so weit gekommen, aber wie Sie sehen können, dass ich verwirrt bin bei

Memory-Ausrichtung auf einem 32-bit-Intel-Prozessor

Anzahl der Antworten 5 Antworten
Intel 32-bit Prozessoren wie Pentium 64-bit breiten Datenbus und daher Holen 8 bytes pro Zugriff. Auf dieser Basis gehe ich davon aus, dass die physikalischen Adressen, die diese Prozessoren emittieren, die auf dem Adressbus sind immer ein

Schreiben und lernen-Montage auf einem Mac

Anzahl der Antworten 2 Antworten
Habe ich vor kurzem beschlossen, dass ich wollte, um zu versuchen zu lernen, wie Programmieren in Assembler. Mit einem 2011 Modell MBP, ich war nicht in der Lage zu finden, viel info auf, wie man schreiben und

Wechsel in den User-Modus mit iret

Anzahl der Antworten 2 Antworten
Schreibe ich eine kleine OS, die ausgeführt wird, code im user-Modus (Berechtigungsstufe 3). Von user-level-code, möchte ich nennen, einen interrupt wieder für das Betriebssystem, dass eine Meldung ausgegeben. Jetzt ich weiß nicht wirklich, wie meine interrupt-handler Argumente

CPU-Seriennummer

Anzahl der Antworten 13 Antworten
Wie erhalte ich die Seriennummer der CPU in einem PC? Sind deine CPU Pentium III? Wenn nicht, ist es eine andere Frage, die Sie versuchen zu Fragen? Diese Seite hat eine große Antwort sein. stackoverflow.com/questions/3474940/unique-computer-id/... stackoverflow.com/questions/3474940/unique-computer-id/... Diese

Was sollte ich wissen, wenn eine Umschaltung von MIPS, x86 Assembler?

Anzahl der Antworten 4 Antworten
In der Schule haben wir die Programmierung in MIPS-Assembler für einige Zeit. Ich bin interessiert in der Erforschung x86 assembly, und ich habe gehört, der etwas härter (sogar meine MIPS lehrbuch sagt). Welche Kern-Informationen soll ich wissen,

64 bit auf 32 bit Interop - wie?

Anzahl der Antworten 3 Antworten
Ich integrieren müssen einige ältere 32-bit-code -, für die ich nicht den source-code in ein Projekt in einer solchen Weise, dass es aufgerufen werden kann, ein 64-bit .NET-assembly. Der original-code ist implementiert als eine 32-bit-COM-Objekt in einer

Wie viele pipeline-Stufen hat einen Intel Core i7 haben?

Anzahl der Antworten 2 Antworten
Wie viele Anweisungen kann es in einer Zeit verarbeiten ? Welche Art von Anweisungen? Integer? x87-Floating-point? SIMD-Floating-point? Ich bin mir nicht sicher, was es bedeutet, zu handhaben, eine Anleitung? Es können nur so viele Operationen, da gibt

Mit einer 32-bit C# Anwendung auf 64-bit-Maschine

Anzahl der Antworten 6 Antworten
Wie kann ich Kraft meiner Anwendung für die Ausführung als 32-bit-auf eine 64-bit-Maschine? Der code ist in C# geschrieben. InformationsquelleAutor | 2009-01-12

Die Beziehung zwischen privilegierte Anweisungen, fallen und system calls

Anzahl der Antworten 2 Antworten
Ich versuche zu verstehen, wie ein virtual-machine-monitor (VMM) virtualisiert die CPU. Mein Verständnis ist jetzt, dass die CPU Probleme ein Schutz-Fehler-interrupt, wenn eine privilegierte Anweisung wird ausgeführt, während die CPU im user-Modus. In high-level-Sprachen wie C, privilegierte

Wie Drucke ich eine Ganzzahl in Assembler-Ebene Programmieren, ohne printf aus der c-Bibliothek?

Anzahl der Antworten 5 Antworten
Kann mir jemand sagen, der rein assembly code für die Anzeige des Wertes in ein register, dezimal-format? Bitte nicht vorschlagen, mit der printf-hack und dann kompilieren mit gcc. Beschreibung: Gut, ich habe einige der Forschung und einige

Was ist die Größe der einzelnen asm-Anweisung?

Anzahl der Antworten 2 Antworten
Was ist die Größe der einzelnen asm-Anweisung? Jeder Befehl dauert, wie viele bytes? 8 bytes? Vier für den opcode und Vier für das argument? Was passiert, wenn Sie einen opcode und 2 Argumente, mov, zum Beispiel? Haben

REPNZ SCAS Montageanleitung Besonderheiten

Anzahl der Antworten 3 Antworten
Ich bin versucht, reverse-Engineering einer binären und die folgende Anleitung ist verwirrend mich, kann jemand klären, was genau dies bedeutet? =>0x804854e: repnz scas al,BYTE PTR es:[edi] 0x8048550: not ecx Wo: EAX: 0x0 ECX: 0xffffffff EDI: 0xbffff3dc ("aaaaaa\n")

Wie zu Lesen und zu schreiben x86 flags-Register direkt?

Anzahl der Antworten 5 Antworten
Von dem, was ich gelesen habe, scheint, wie es gibt 9 verschiedene Flaggen. Ist es möglich, zu Lesen/ändern Sie nicht direkt? Ich weiß, ich kann zum Beispiel wissen, ob das zero-flag gesetzt ist, nach einem cmp/jmp-Anweisung, aber

Intel x86-Opcode Referenz?

Anzahl der Antworten 7 Antworten
Was ist ein relativ schnell und einfach Methode der aufzublicken, was einen beliebigen opcode bedeutet (sagen wir 0xC8) in x86? Die Intel Software Developer ' s manual ist nicht sehr lustig zu durchsuchen... InformationsquelleAutor der Frage Mehrdad

Kann ich erzwingen, cache-Kohärenz, die auf einem multicore x86 CPU?

Anzahl der Antworten 9 Antworten
Die andere Woche, ich schrieb einen kleinen thread-Klasse und ein one-way-message-pipe für die Kommunikation zwischen threads (zwei Rohre pro thread, offensichtlich, für die bidirektionale Kommunikation). Alles hat gut funktioniert auf meinem Athlon 64 X2, aber ich Frage

Ausführen von 32-bit-Assembler-code auf einem 64-bit Linux - & 64-bit-Prozessor : Erklären die Anomalie

Anzahl der Antworten 3 Antworten
Bin ich in einem interessanten problem.Ich vergaß, ich bin mit 64-bit-Maschine & OS und schrieb eine 32-bit-Assembler-code. Ich weiß nicht, wie zu schreiben, 64 bit-code. Dies ist die x86 32-bit-Assembler-code für den Gnu-Assembler (AT&T-syntax) auf Linux. //hello.S

Android NDK : was muss ich einstellen in der Anwendung.mk für APP_ABI?

Anzahl der Antworten 2 Antworten
Frage ich mich, welche Architekturen, ich sollte in der Anwendung.mk-Datei von meinem Android-Spiel. Ich möchte mich für alle möglichen Plattformen, download-Spiele auf Google Play und andere Arten von Android-stores. Ich würde sagen, dass ich sollte: APP_ABI :=

Kann gcc kompilieren, x86 assembly, oder nur verlinken?

Anzahl der Antworten 2 Antworten
gcc erzeugen kann die Montage aber wie kann ich kompilieren reinen assembly mit gcc oder andere compiler? Ich weiß, x86 assembly schwierig ist, und einen anderen Befehlssatz als die MIPS und Nios ich war auf der Suche

Warum kann man nicht einstellen, der instruction-pointer direkt?

Anzahl der Antworten 4 Antworten
Der Wikipedia-Artikel über x86 assembly sagt, dass "die IP-register nicht zugegriffen werden kann, die durch den Programmierer direkt." Direkt bedeutet mit Anweisungen wie mov und add. Warum nicht? Was ist der Grund dafür? Welche technischen Einschränkungen? InformationsquelleAutor

Was genau macht _malloc tun in der Montage?

Anzahl der Antworten 1 Antworten
public main main proc near push ebp mov ebp, esp and esp, 0FFFFFFF0h sub esp, 30h mov dword ptr [esp], 8 ; size call _malloc mov [esp+2Ch], eax mov dword ptr [esp+4], 4 mov eax, [esp+2Ch] mov

Die schnelle pseudo-random number generator für prozedurale Inhalte

Anzahl der Antworten 6 Antworten
Ich bin auf der Suche für einen pseudo-Zufallszahlengenerator, die wären spezialisiert, schnell zu arbeiten, wenn es einen Samen vor dem generieren jede Zahl. Die meisten Generatoren, die ich bisher gesehen haben, übernehmen Sie die Samen einmal, und

Hallo Welt, die mit x86 assembler auf dem Mac 0SX

Anzahl der Antworten 3 Antworten
Ich versuche, Tauchen Sie ein in einige x86 Assembler-Programmierung auf meinem Mac, aber ich habe Probleme bei der Herstellung einer ausführbaren Datei. Das problem scheint zu sein, bei der Anbindung der Bühne. helloWorld.s: .data HelloWorldString: .ascii "Hello

Warum sind signed und unsigned Multiplikation verschiedenen Anweisungen, die auf x86(-64)?

Anzahl der Antworten 3 Antworten
Ich dachte, der ganze Punkt 2 der Ergänzung war, dass die Operationen implementiert werden konnte, die gleiche Weise für signierte und unsignierte zahlen. Wikipedia selbst listet speziell multiplizieren als eine der Operationen, die Vorteile. Also warum x86

Montage ADC (Add with carry) zu C++

Anzahl der Antworten 6 Antworten
Gibt es eine Montageanleitung ADC. Ich habe festgestellt, das bedeutet "Add with carry". Aber ich weiß nicht, was dass bedeutet. Oder wie schreiben Sie diese Anweisung in C++. Und ich weiß, es ist nicht das gleiche wie

Grundlegende Verwendung von immediates (eckige Klammern) in x86 Assembler und yasm

Anzahl der Antworten 4 Antworten
Denke, ich habe den folgenden erklärt: section .bss buffer resb 1 Und diesen Anweisungen Folgen: mov al, 5 mov [buffer], al mov bl, [buffer] mov cl, buffer Bin ich richtig in dem Verständnis, dass bl enthält den

Am schnellsten horizontale Vektor-Summe mit AVX-Instruktionen

Anzahl der Antworten 3 Antworten
Habe ich eine gepackte Vektor von vier 64-bit-floating-point-Werte. Ich möchte die Summe der Vektor-Elemente. Mit SSE (und mit 32-bit floats) konnte ich nur Folgendes tun: v_sum = _mm_hadd_ps(v_sum, v_sum); v_sum = _mm_hadd_ps(v_sum, v_sum); Leider, obwohl AVX verfügt

Wie codieren Sie eine relative kurze jmp x86

Anzahl der Antworten 3 Antworten
Angenommen, ich möchte einen kurzen Sprung, verwenden Sie die folgenden Befehle: EB CB oder JMP rel8 "Springen kurz, RIP = RIP + 8-bit-Verschiebungs-Zeichen erweiterte 64-bit" (wobei CB ist ein byte Wert mit Vorzeichen repräsentieren die relative Abweichung

Google maps SDK mit neuen Intel-Atom-x86-emulator

Anzahl der Antworten 4 Antworten
Gibt es eine Möglichkeit, wie man neue x86-image für Android-emulator das arbeiten mit Google Maps-SDK? InformationsquelleAutor der Frage sealskej | 2012-03-25

x86, Unterschied zwischen BYTE und BYTE PTR

Anzahl der Antworten 3 Antworten
Was ist der Unterschied zwischen diesen zwei Linien? Was PTR-änderungen hier? ;first mov BYTE [ecx], 0 ;second mov BYTE PTR [ecx], 0 InformationsquelleAutor der Frage Linkas | 2012-12-09

Die Bedeutung von RET in der Montage

Anzahl der Antworten 5 Antworten
Ich bin sehr neu auf Montage, und ich verstehe nicht, was es genau bedeutet, wenn am Ende ein proc, schreiben Sie eine Nummer mit den ret - Anweisung. Wie diese: Function Proc push ax cx . ...body...

Korrekte Verwendung von volatile sig_atomic_t

Anzahl der Antworten 1 Antworten
Laut diese Website, man kann Variablen vom Typ volatile sig_atomic_t im inneren ein signal-handler. Nun meine Frage, würde zum Beispiel so etwas wie den folgenden code noch atomar sind und somit die Einführung keine race conditions? Davon

Was bedeutet die EINPRESSTIEFE bei 16-bit-Assembler-code zu bedeuten?

Anzahl der Antworten 6 Antworten
Werde ich durch einige Beispiel-Assembler-code für 16-bit-real-Modus. Habe ich über die Zeilen: mov bx, cs mov ds, bx mov si, OFFSET value1 pop es mov di, OFFSET value2 was ist das denn? Was bringt 'OFFSET' es tun?

Jede CPU-abhängig C++/CLI abhängig von native-C-dll (keine Prozessorzeit für c++/cli)

Anzahl der Antworten 1 Antworten
Hier ist mein problem. Ich bin die Verpackung einer C-dll in C#. Um dies zu tun, bin ich erst schreiben Sie ein C++/CLI wrapper. Der native C-Bibliothek ist mit dem C++/CLI wrapper. (Linker-Eigenschaften in C++/cli-Projekt). Hier ist,

dword ptr Verwendung Verwirrung

Anzahl der Antworten 1 Antworten
In Assembler, wenn wir mov eax, dword ptr[ebx] dann bedeutet es, kopieren Sie die referenzierte Wert von ebx (ebx enthält die Adresse den Wert, nicht den tatsächlichen Wert dieser Befehl kopiert den aktuellen Wert in der Adresse)?

/usr/bin/ld: skipping incompatible foo.also bei der Suche nach foo

Anzahl der Antworten 1 Antworten
Ich bin mit Ubuntu 13.10 64bit und ich bekomme den folgenden Fehler während der Kompilierung des python-wrappers von vlfeat Bibliothek. g++ -o _vlfeat.so ../../vl/aib.o ../../vl/generic.o ../../vl/hikmeans.o ../../vl/ikmeans.o ../../vl/imopv.o ../../vl/mathop.o ../../vl/pgm.o ../../vl/rodrigues.o ../../vl/stringop.o ../../vl/getopt_long.o ../../vl/host.o ../../vl/imop.o ../../vl/imopv_sse2.o ../../vl/mser.o

Ist memcpy() in der Regel schneller als bei strcpy()?

Anzahl der Antworten 2 Antworten
Ist memcpy() in der Regel schneller als strcpy() (auf die meisten real-Plattformen)? (Ich gehe davon aus, dass die Größe der Zeichenfolge bekannt ist.) Wenn ich mich i386 assembler richtig, es gibt loop Anweisungen, die Kopie einer bestimmten

Wie man eine Schleife in x86-Assembler?

Anzahl der Antworten 6 Antworten
Ich geschrieben habe, den code so weit: .code main Clrscr mov dh,10 ;row 10 mov dl,20 ;column 20 call Gotoxy ;locate cursor PromptForIntegers WriteString ;display string ReadInt ;input integer ArraySum WriteString ;display string WriteInt ;display integer DisplaySum

Was ist der praktische Unterschied zwischen der SI-und DI-Register?

Anzahl der Antworten 4 Antworten
Ich nicht bekommen, was ist der Unterschied. InformationsquelleAutor der Frage tatsuhirosatou | 2009-09-27

x86 Assembler: INC-und DEC-Instruktion und overflow-flag

Anzahl der Antworten 7 Antworten
In x86 assembly, das overflow-flag wird gesetzt, wenn ein add oder sub Betrieb auf eine Ganzzahl-überläufe, und das carry-flag wird gesetzt, wenn eine operation auf eine unsigned integer-overflows. Jedoch, wenn es um die inc und dec Anweisungen,

Wie funktioniert der Montage-parameter übergeben: von Wert -, Referenz-Zeiger für verschiedene Datentypen/arrays?

Anzahl der Antworten 3 Antworten
Im Versuch, dies zu betrachten, schrieb ich diesen einfachen code, wo ich gerade erzeugten Variablen von unterschiedlichen Typen und übergeben Sie Sie in eine Funktion per value, by reference und pointer: int i = 1; char c