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 registriert hat strcmp bewerten? x86 Assembly

Anzahl der Antworten 1 Antworten
Wie es scheint, dies ist allgemein bekannt, aber ich kann nicht finden, es geschrieben auf dem internet (noch). Wenn ein Programm hat call <JMP.&msvcrt.strcmp> welche Werte werden verglichen? Ich bin mir nicht sicher, weil mit cmp ist

Hardware-interrupt-Liste

Anzahl der Antworten 1 Antworten
Gibt es eine Liste der hardware-interrupts? ich war Kodierung einer 16-bit Anwendung und ich wollte überprüfen, einige INTs, aber ich couldnt finden irgendetwas nützliches in google, kann any1 mir einige Dokumentationen über ihn? wenn möglich, mit details.

RUFEN Sie die Funktion in der Montage

Anzahl der Antworten 2 Antworten
Ich habe eine Frage zu einem CALL Funktion in Assembler-code. Ist es richtig, wenn ich führen Sie eine Funktion AUFRUFEN, die in der Montage, dass die Anweisung auf dem Stapel? Wann ist der Unterricht knallte zurück, als

Wie verwende ich die SPERRE ASM-Präfix zu Lesen einen Wert?

Anzahl der Antworten 1 Antworten
Ich weiß, wie Sie SPERREN, um thread-sicher Inkrement-Wert: lock inc [J]; Aber wie ich Lesen Sie [J] (oder einen beliebigen Wert) in eine thread-sichere Weise? Das LOCK-Präfix kann nicht mit mov. Und wenn ich den folgenden Code:

Assembler : warum BCD existiert?

Anzahl der Antworten 10 Antworten
Ich weiß, BCD ist wie intuitiver Datentyp, wenn Sie nicht wissen binären. Aber ich weiß nicht, warum diese Codierung nutzen, wie seine nicht viel Sinn macht, da seine Abfälle Vertretung in 4bits (wenn Darstellung größer ist als

Was ist erforderlich, um LODSB in der Montage?

Anzahl der Antworten 2 Antworten
Was ist die minimale Menge von Schritten erforderlich, um LODSB laden eine relative Adresse auf einen string in meinem code? Ich habe Folgendes test-Programm, dass ich per PXE zu Booten. Ich boot es zwei Möglichkeiten: via pxelinux.0

Wie dreht man eine SSE - /AVX-Vektor

Anzahl der Antworten 2 Antworten
Ich ausführen muss, um ein drehen der Betrieb mit möglichst wenig Taktzyklen wie möglich. Im ersten Fall nehmen wir an __m128i als source-und dest-Typ: Quelle: || A0 || A1 || A2 || A3 || dest: || A1

Bit-popcount für große Puffer, mit Core 2 CPU (SSSE3)

Anzahl der Antworten 4 Antworten
Ich bin auf der Suche nach der Schnellste Weg, um popcount auf großen Puffer von 512 Byte. Ich kann garantieren jede gewünschte Ausrichtung, und die Puffer Größe ist immer eine Potenz von 2 ist. Der Puffer entspricht

Zweck der cmove Unterricht in x86 Assembler?

Anzahl der Antworten 2 Antworten
Bei der Demontage einer ausführbaren Datei, die ich gestoßen die cmove Unterricht. Ich habe schon gesucht im Internet aber ich habe nur gefunden, dass es eine bedingte bewegen, und wenn die Quelle und das Ziel gleich sind,

Wie viele bytes hat der push-Befehl push auf den stack, wenn ich nicht geben Sie den operand-Größe?

Anzahl der Antworten 2 Antworten
Kann ich push 4 bytes auf den stack zu tun: push DWORD 123 Aber ich habe heraus gefunden, dass ich verwenden können push ohne Angabe der Operanden-Größe: push 123 In diesem Fall, wie viele bytes hat die

SSE: konvertieren short integer zu float

Anzahl der Antworten 2 Antworten
Ich konvertieren möchten, die ein array von unsigned short zahlen zu schweben SSE verwenden. Lassen Sie uns sagen, __m128i xVal; //Has 8 16-bit unsigned integers __m128 y1, y2; //2 xmm registers for 8 float values Ich soll

x86 assembly-Anweisung: call *Reg

Anzahl der Antworten 1 Antworten
Kann jemand mir einige Informationen über indirekte Funktionsaufrufe in x86-assembly, d.h. Anweisungen wie call *Reg Also wo die Adresse des label-Funktion ist gespeichert in einem register. Irgendwie konnte ich nicht finden, Informationen über google. Und außerdem, was

Wie funktioniert die x86-ROR Instruktion arbeitet?

Anzahl der Antworten 2 Antworten
Meine EAX - register enthält den xxxxxx9D Wert und ich habe folgenden Assembler code: C0C8 14 --> ROR AL,14 Mir, es bedeutet, dass die letzten 8 bits der EAX's 32-bit Wert gedreht werden bitweise um 14 mod

Kann ich Binär zu schreiben, die integer-Konstanten in der Montage?

Anzahl der Antworten 1 Antworten
ich eine Aufgabe haben, die Sie fragt, zu definieren 4 Ganzzahlen, die jeweils eine unterschiedliche byte-Länge (1, 2, 4, 8) würde dieser code funktionieren? segment .data one db 1 two dw 01 four dd 1011 eight dq

Wie kann ich direkt auf den Bildschirm schreiben?

Anzahl der Antworten 7 Antworten
Ich bin ein teenager, der hat sich sehr interessiert in Assembler. Ich bin versucht zu schreiben, ein kleines Betriebssystem auf Intel-x86-assembler, und ich Frage mich, wie das direkte schreiben auf dem Bildschirm, wie in, ohne sich auf

Wie Sie eine assembly-Sprache funktioniert?

Anzahl der Antworten 2 Antworten
Ich Lerne Montage und ich habe diesen Assembler-code, und mit viel Mühe ihn zu verstehen, kann jemand erläutern? Dump of assembler code for function main: 0x080483ed <+0>: push ebp 0x080483ee <+1>: mov ebp,esp 0x080483f0 <+3>: sub esp,0x10

Eingabe eines multiple-stellige Zahl vom Benutzer in Assembler 8086 Sprache

Anzahl der Antworten 1 Antworten
Ich versuche, die Eingabe von drei (sagen) - stellige Nummer, von der der Benutzer durch INT 21H (DOS) und speichern Sie es in ein Widerständler. Normalerweise das, was wir tun, ist die Eingabe eines einzelnen Zeichens von

Wie kann ich den Austausch der low-128-bits und eine hohe 128-bit-in eine 256-bit AVX (YMM) registrieren

Anzahl der Antworten 2 Antworten
Ich bin Portierung SSE SIMD-code für die Verwendung der 256-bit-AVX-Erweiterungen und kann nicht scheinen zu finden, eine Anweisung, die Mischung wird/shuffle/bewegen Sie die hohe 128-bit-und die low-128 bits. Backing-Geschichte: Was ich wirklich will, ist VHADDPS/_mm256_hadd_ps zu handeln,

Das ist eine bessere Barriere auf x86: lock+Zustellbett oder xchgl?

Anzahl der Antworten 5 Antworten
Den Linux-kernel verwendet lock; addl $0,0(%%esp) als schreib-Barriere, während die RE2-Bibliothek verwendet xchgl (%0),%0 als schreib-Barriere. Was ist der Unterschied und was ist besser? Tut x86 erfordern auch Lesen barrier-Anweisungen? RE2 definiert die lese-Barriere-Funktion als no-op auf

NASM ist Reine Montage, sondern MASM ist high level Assembly?

Anzahl der Antworten 1 Antworten
So wie es momentan steht, diese Frage ist nicht eine gute Passform für unsere Q&A-format. Wir erwarten Antworten auf Tatsachen gestützt, Referenzen und know-how, aber diese Frage wird wahrscheinlich werben Debatte, Argumente, polling, oder erweiterte Diskussion. Wenn

Masm auf Windows 7

Anzahl der Antworten 4 Antworten
Will ich kompilieren und ausführen, assembly-Dateien auf windows 7. In der Schule, die Sie verwenden, DOS -, in denen wir laufen können MASM zu kompilieren und zu verknüpfen und auszuführen .asm-Dateien eingegeben haben. Gibt es eine Möglichkeit,

Gewusst wie: schreiben & Lesen von der Netzwerk-Karte in x86 Assembler?

Anzahl der Antworten 4 Antworten
weiß jemand, wie man den Zugang zu Geräten wie einem ethernet-Anschluss am mainboard oder auf einer pci-Karte? Gibt es spezielle Register? Opcodes? Muss ich um einen Anruf an das OS? Wenn ja, wie? Vielen Dank im Voraus.

x86 min/max-asm-Anweisungen?

Anzahl der Antworten 6 Antworten
Gibt es irgendwelche asm-Anweisungen, können speed-up-Berechnung von min/max eines Vektor von Double/Integer für die Core-i7-Architektur? Update: Ich hatte nicht erwartet, wie Reich Antworten, danke. So sehe ich, dass max/min ist möglich ohne Verzweigung. Ich habe die sub-Frage:

Illegal instruction in ASM: lock cmpxchg dest, src

Anzahl der Antworten 5 Antworten
Ich ve wurde Herumspielen mit einigen x86 assembly, wie Ihr in vielen meiner Klassen. Insbesondere wollte ich aussetzen, compare-and-swap (CAS) als Benutzer-Funktion. Dies ist mit der Absicht, dass ich es umsetzen kann meine eigenen Schlösser. Ich bin

x86 assembly, zum hinzufügen von Variablen im Speicher abgelegt?

Anzahl der Antworten 2 Antworten
PLATTFORM: Pentium 4-Prozessor (ich wirklich brauchen, um zu aktualisieren 🙂 unter Windows XP. Ich bin derzeit am zusammenbauen mit MASM32. Ich bin ein absoluter Anfänger mit Montage und ich bin versucht, herauszufinden, wie man Variablen. Ich verstehe,

Assembler-code zu drucken eine neue Zeile ein string

Anzahl der Antworten 1 Antworten
Ich habe eine Assembler-code zu drucken (anzeigen) eine Zeichenfolge. Mein problem ist, ich bin nicht in der Lage, wie drucken zwei Strings in verschiedenen Zeilen! .MODEL SMALL .STACK 100H .DATA MSG1 DB 'Fun $' MSG2 DB 'Day!$'

Wie erfolgt die Montage der TEST-Anweisung-arbeiten mit diesen jump-Anweisungen?

Anzahl der Antworten 3 Antworten
AT&T assembly-syntax, ich versuche zu verstehen, wie testl verwendet wird, in Assembler-code. Speziell: testl %edx, %edx jle .L3 Ich weiß testl führt eine bitweise and mit dem gleichen Wert auf den Zustand festlegen, der Flaggen, aber wie

Selection-sort-Verfahren in der Montage

Anzahl der Antworten 1 Antworten
Ich glaube, ich habe Probleme mit meinem swap, und wie ich Zugriff auf die Elemente in meinem array. Gerade jetzt, alle von der code läuft, aber die Liste ändert sich nicht, nach dem Sortieren. Er ist der

Warum Kip Irvine ist readChar nicht echo Benutzereingaben, während readInt tut?

Anzahl der Antworten 2 Antworten
Ich habe eine Frage bezüglich Kip Irvine ist include32 Datei. So hat er diesen Aufruf genannt readChar und readInt, die ich bin mir ziemlich sicher, dass viele Sie verwendet haben, und obwohl Sie sehr ähnliche Beschreibung, um

Wie Schreibe ich Einfache inline-asm-Anweisung von C auf Linux 64 bit?

Anzahl der Antworten 2 Antworten
Schreibe ich ein einfaches c-Programm, und meine Anforderung ist, drucken RIP(Instruction Pointer) von einigen Funktion des Programms. ich möchte nicht zu verwenden ptrace. die eine Sache, die ich habe versucht, mit inline-asm ist: asm("movl %%rip, %0;" :

Pfad %ProgramFiles(x86)% in 64-bit-Maschine (für die Registry)

Anzahl der Antworten 4 Antworten
Frage: Was ist das äquivalent von [INSTALLDIR] für %ProgramFiles(x86)% zu verwenden, in Registrierung in 64-bit-Maschine ? Ich habe ein Programm, das installiert wird, innerhalb %ProgramFiles(x86)% in 64-bit-Maschine. Grundsätzlich möchte ich hinzufügen, dass diese Werte in der registry

x86 NASM 'org' - Richtlinie Bedeutung

Anzahl der Antworten 2 Antworten
Ich bin nach diesem tutorial sowie einen ersten Ausflug in den bootloader/OS-Entwicklung für x86 mit NASM: http://joelgompert.com/OS/TableOfContents.htm Und ich bin auf Lektion 4, die so ist mein bootloader print "Hallo, Welt" string. Ich bin nicht das Verständnis

Das Little-Endian-byte-oder bit-Reihenfolge, in der die x86-Architektur?

Anzahl der Antworten 3 Antworten
Der Titel sagt alles. Ich will wissen, wenn ein x86-Befehl liest Daten aus dem Speicher hat es übersetzt, es bytes oder bits, um die Little-Endian-Reihenfolge. Zum Beispiel, wenn wir die folgenden Daten an der Adresse "0" (Binär)

Wie verwenden Sie printf von der Montage?

Anzahl der Antworten 2 Antworten
Habe ich ein MSVC++ - Projekt eingerichtet, um kompilieren und ausführen des Assembler-code. In main.c: #include <stdio.h> void go() ; int main() { go() ; //call the asm routine } In gehen.asm: .586 .model flat, c .code

Borland x86 inline-assembler ist, erhalten eine label-Adresse?

Anzahl der Antworten 12 Antworten
Ich bin mit Borland Turbo C++ mit einigen inline-assembler-code, so dass vermutlich der Turbo Assembler (TASM) Art Assembler-code. Ich möchte Folgendes tun: void foo::bar( void ) { __asm { mov eax, SomeLabel //... } //... SomeLabel: //...

mmap-Ersatz für malloc

Anzahl der Antworten 2 Antworten
Muss ich einen Weg finden, um mmap anstelle von malloc. Wie ist das möglich? (Ich bin nicht mit der libc nur syscalls) Und ja brk() ist möglich. Ich verwendet, sbrk (), aber erkannte seine nicht, sys-call... (x86

Was bedeutet " 0x4 " in "movl $0x2d, 0x4(%esp)"?

Anzahl der Antworten 5 Antworten
Ich bin auf der Suche in Assembler-code, erzeugt durch GCC. Aber ich verstehe nicht: movl $0x2d, 0x4(%esp) In den zweiten Operanden, was bedeutet 0x4 steht für? offset-Adresse? Und was die Verwendung von register EAX? Es bedeutet Speicher[ESP_REG

Warum ist der loop-Anweisung langsam? Konnte nicht auf Intel umgesetzt haben, ist es effizient?

Anzahl der Antworten 3 Antworten
LOOP (Intel ref manuelle Eingabe) dekrementiert ecx /rcx, und dann springt, falls nicht null. Es ist langsam, aber Sie konnte nicht Intel preiswert schnell? dec/jnz bereits makro-sicherungen in einem einzigen Upstream-Provider auf Sandybridge-Familie; der einzige Unterschied ist,

Was ist der Sinn von LEA EAX, [EAX]?

Anzahl der Antworten 3 Antworten
LEA EAX, [EAX] Traf ich diese Anweisung in eine Binärdatei kompiliert mit Microsoft C-compiler. Es klar nicht ändern können, den Wert von EAX. Dann, warum ist es dort? ist die Optimierung auf? Ja, das ist eine release-version

Was bedeutet alignment auf 16-byte-Grenze bedeuten in x86

Anzahl der Antworten 3 Antworten
Intels offizielle optimization guide hat ein Kapitel über das konvertieren von MMX-Befehlen SSE, wo Sie Staat die Stilllegung statment: Berechnung von Anweisungen, die mit einem Speicher-Operanden darf nicht ausgerichtet werden auf eine 16-byte-Grenze muss ersetzt werden durch

Berechnen Sie die JMP-Befehle

Anzahl der Antworten 3 Antworten
Ich versuche zu berechnen, die richtige op-codes für einen Sprung, ich habe das in anderen threads und ich verstehe immer noch nicht: Ich dachte, die Formel war desination - (from+5) aber nicht nur arbeiten, es ist Weg,

Carry-flag Abzug

Anzahl der Antworten 2 Antworten
Bin ich mit MASM32. Mit diesem code: mov eax,5 sub eax,10 CF-status-flag wird gesetzt. Aber mit meinem Bleistift und Papier, die ich eigentlich sehen, dass es keine carry vom MSB. Ja, ich weiß, dass aus der Subtraktion

Äquivalent für GCC nackt Attribut

Anzahl der Antworten 3 Antworten
Ich habe eine Anwendung geschrieben in reines C, gemischt mit einigen Funktionen, die enthalten reines ASM. Nackt-Attribut ist nicht verfügbar für x86 (warum? warum?!) und meine asm Funktionen nicht wie bei Prolog und Epilog ist messing mit

Wie kann Montierer Anzeigen x86 Instruction Mnemonics in Binäre Maschinenbefehle?

Anzahl der Antworten 3 Antworten
Ich bin daran interessiert, das schreiben einer x86-assembler. Ich Frage mich, was ist ein guter Weg, um die Karte x86 assembly mnemonische Anweisungen (Intel-syntax) in das entsprechende binäre Maschinencode-Anweisungen. Lesen Sie auch stackoverflow.com/questions/2546715/... InformationsquelleAutor mudge | 2010-05-03

JNB nach Vergleich mit 0 (x86)

Anzahl der Antworten 2 Antworten
Habe ich diese x86-Assembler-code: mov [ebp+var_8], 0 mov eax, Str_len cmp [ebp+var_8], eax jnb short loc_4018C4 Wenn Str_len ist immer Verschieden von 0, was bedeutet dies JNB durchführen ? Meine Argumentation ist, dass wenn Str_len variable wird

Wie findet man die maximale horizontale in eine 256-bit-AVX-Vektor

Anzahl der Antworten 3 Antworten
Ich habe ein __m256d Vektor verpackt mit vier 64-bit-floating-point-Werte. Ich muss die horizontale maximale von der vector-Elemente und speichert das Ergebnis in einer double-precision-skalaren Wert; Meine versuche wurden alle mit einer Menge von schlurfenden der vector-Elemente, so

Die Leistung der Rasberry Pi 3 im Vergleich zu Intel Core i7 Prozessor (Fließkomma-Operationen)

Anzahl der Antworten 2 Antworten
Ich habe einen einfachen Vergleich konzentriert sich auf floating point operations mit C#, für die gezielte Raspberry Pi 3 Model 2 mit Windows 10 IoT und ich haben es im Vergleich zu Intel Core i7-6500U CPU @

QWORD Speichern / Umsetzung 32-bit-REGs.?

Anzahl der Antworten 2 Antworten
Gegeben, dass die variable I ist definiert als Qword, die Gleichung I = 2*I umgesetzt werden können, mit minimal die folgenden Anweisungen: die Lösung : MOV EAX, DWORD PTR I ADD DWORD PTR I, EAX was ich

wie Sie wissen, Ort der return-Adresse auf stack c/c++

Anzahl der Antworten 1 Antworten
ich lese über eine Funktion, die überschrieben werden kann, seine Adresse zurück. void foo(const char* input) { char buf[10]; //What? No extra arguments supplied to printf? //It's a cheap trick to view the stack 8-) //We'll see

Drucken Dezimalzahl in Assembler?

Anzahl der Antworten 1 Antworten
Ich versuche, die Ausgabe in dezimaler form. Bitte sagen Sie mir, was ich tun kann, um die gleiche variable im dezimal anstelle von ASCII. .model small .stack 100h .data msg_1 db 'Number Is = $' var_1 db