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]
2
Antworten
mov eax, 0 mov ebx, 0 mov edx, 0 mov ax, 31 mul cx mov bx, 12 div bx add bp, ax mov eax, 0 mov ebx, 0 mov bp, bp mov al, 7 div al kann
3
Antworten
Ich bin Programmierung Assembler (x86) in MASM mit Visual Studio 2013 Ultimate. Ich bin versucht, ein array zur Berechnung einer Fibonacci-Folge für n Elemente mit Hilfe eines Arrays. In anderen Worten, ich bin versucht zu gehen, um
5
Antworten
Habe ich umgesetzt durch eigene malloc und frei mit mmap. Jetzt da Sie im Gegensatz zu frei, munmap auch dauert Länge als parameter, daher setzte ich Länge als zusätzliche Informationen in dem zugeordneten Speicher. Den code für
3
Antworten
Ich habe einige code, der aus einer Funktion subl $24, %esp movl 8(%ebp), %eax cmpl 12(%ebp), %eax Bevor der code wird einfach die 'ENTER' - Befehl und danach gibt es eine if-Anweisung gibt 1 zurück, wenn ebp
2
Antworten
Ich versuche, call printf drucken eine ganze Zahl ist, setzen Sie es nicht drucken Sie die rechts-Wert: section .data an: db 1 format: db "num: %d" , 10, 0 section .text global main extern printf main: push
6
Antworten
Wie die Größe von int ist beschlossen? Ist es wahr, dass die Größe von int abhängen wird, auf den Prozessor. Für 32-bit-Maschine, es werden 32-bit-und 16-bit sind es 16. Auf meinem Rechner zeigt als 32 bit, obwohl
2
Antworten
Ich versuche einen Wert in ein register auf null zu später testen, ob einige andere Wert ist null. Ich habe gesucht, um das internet zu überprüfen, was die Darstellung der null ist in IA32, aber konnte nicht
1
Antworten
Habe ich dieses : Je nach Prozessor, die heruntergeladene Datei hat eine der folgende Namen haben: xxx-macosx-amd64.dmg xxx-macosx-x64.dmg xxx-macosc-x86.dmg Ich brauche, um zu verstehen, diese Begriffe einmal für alle bitte. Danke InformationsquelleAutor | 2012-11-11
4
Antworten
Heruntergeladen ich eine binäre Datei, die kompiliert wurde (ein C-Programm) mit GCC 4.4.4 für x86-64 Red Hat Linux. Ist es normal, dass wenn ich versuche, führen Sie es auf Mac OS X (Lion also auch x86-64) mit
3
Antworten
Ich versuche zu lernen, die C-Aufrufkonventionen in Assembler. Dazu habe ich ein einfaches Programm mit dem puts Funktion aus der C Standardbibliothek. Ich zusammengebaut und verknüpft das Programm mit folgenden Befehlen :- nasm -f elf file.asm gcc
3
Antworten
möchte ich, um die Rücksprungadresse einer Funktion in der Assemblierung und dann vergleichen, die Rücksprungadresse zu Wert mit einem anderen Wert, ohne korrumpiert den stack, oder ändert sich nichts, im Stapel, wie kann man das in Assembler?
3
Antworten
Immer wenn ich versuche zu verwenden __sync_fetch_and_add mit -m32 auf einer 64 bit Maschine, bekomme ich die folgende Fehlermeldung, während es kompiliert einwandfrei mit normalen 64 bit. Ich benutze den gcc-compiler 4.1.2. Was kann hier das problem
6
Antworten
Ich habe die folgende Aufgabe: Betrachten Sie die folgende Sequenz von hexadezimal-Werte: 55 89 E5 83 EC 08 83 E4 F0 31 C9 BA 01 00 00 00 B8 0D 00 00 00 01 D1 01 CA
1
Antworten
In meinem Bestreben, zu lernen, NASM, ich bin versuchen, um ein wirklich einfaches Programm, das eine division aus und gibt das Ergebnis aus. Durch die Bücher, sollte alles gut laufen. Ich bin Division von 15 durch 3,
1
Antworten
Für diejenigen, für die Antwort, da es, wie es ist nicht klar, auf anderen Webseiten. Dies ist erforderlich, um mindestens den Intel-compiler. Vielleicht hilft es auch für andere software. InformationsquelleAutor The Quantum Physicist | 2015-05-14
3
Antworten
Versuchen herauszufinden, wie apps funktionieren auf Android x86 in VMWare, wenn Sie kompiliert wurden für ARM. Ist die GUI läuft auf Qemu? Wie genau Sie ausgeführt werden, wenn Android-x86 ist wirklich x86? InformationsquelleAutor Joel | 2013-08-09
4
Antworten
Bin ich angefangen zu lernen, Assembler und ich arbeite in Unix. Ich will eine Datei öffnen und schreiben "Hello world" auf. section.data textoutput db 'Hello world!', 10 lentext equ $ - textoutput filetoopen db 'hi.txt' section .text
4
Antworten
Führt eine interrupt-service-routine vorhanden ist, um mir zu helfen löscht den Bildschirm des Terminals? Funktioniert es auf windows? Die Umwelt ist das Ziel? Windows oder MS-DOS? 16-bit oder 32-bit? Text-Modus oder Grafik-Modus? Wir verwenden x86-Emulatoren, so die
2
Antworten
Ok, also ich bin ziemlich neu in der Montage, in der Tat, ich bin sehr neu in der Montage. Ich schrieb ein Stück code, das ist einfach gedacht, um nehmen Sie die numerische Eingabe von dem Benutzer,
3
Antworten
Ich versuchte, führen Sie das folgende Programm in meinem computer (Fedora 17 (32bit). Wie kann ich tun, damit mein system zur Unterstützung der popcnt Instruktion für die schnelle Bevölkerung zählen? #include <stdio.h> #include <nmmintrin.h> int main(void) {
3
Antworten
Ich geschrieben habe folgenden Assembler-code für das hinzufügen von 10 zahlen.Ich bin in der Lage, um es zu kompilieren und es auszuführen, aber ich bin immer falsche Ergebnis. Ich wollte nur wissen, wie kann ich drucken Sie
6
Antworten
Machte ich meine eigene Implementierung von strlen in der Montage, aber nicht den richtigen Wert zurück. Es gibt die string-Länge + 4. Folglich. Ich sehe nicht, warum.. und ich hoffe, dass alle Sie tun... Montage Quelle: section
1
Antworten
Habe ich eine code-Basis, die bestimmt ist, zu kompilieren, ohne Warnungen und laufen ohne irgendwelche Störungen, die auf mehreren Architekturen, alle x86: MS-DOS, Windows-32-Konsole-Modus, Windows 32 GUI-Modus, Linux 32, Linux 64. Vor dem hinzufügen der Unterstützung von
4
Antworten
Ich versuche zu lernen NASM Montage, aber ich scheine zu kämpfen mit dem, was scheint einfach in high-level-Sprachen. Alle Lehrbücher, die ich verwende, diskutieren die Verwendung von Zeichenfolgen-in der Tat, das scheint eine Ihrer Lieblingsbeschäftigungen. Druck-Hallo Welt,
1
Antworten
Ich möchte die Summe einer array-Elemente. Dieses array enthält positive und negative zahlen. array db 07, 00, -3, 10, -7, 14, 9, -5, -100 lea ax, data mov ds, ax mov es, ax lea si, array mov
2
Antworten
Ich brauche, um eine routine, die konvertiert eine Speicher-Adresse in einen string von bytes. Dieser string wäre dann der input für eine Funktion, druckt null-terminierte strings (was konnte ich schon machen). Zum Beispiel, wenn ich eine Adresse
1
Antworten
cmp %al, %cl js x Ich bin verwirrt, was die js (Klick auf anmelden) tut. Ist es zu sagen, dass, wenn al ist positiv und cl negativ ist, Umgekehrt dann springen? Auch, was passiert, wenn %cl 0
5
Antworten
Wie Titel schon sagt bin ich kompilieren von C# Anwendung mit VS 2012 auf einem 64-bit-Maschine. Ich möchte das Programm wurde auf einem 32-bit-Maschine. Jetzt die einzige Hilfe, die ich online gefunden haben, war für: Menü -
2
Antworten
Ich habe versucht, laden Sie eine 32-bit-dll mit C++ (aus einem 32-bit-Anwendung auf einem windows 7 64-bit). LoadLibrary gibt NULL zurück, und GetLastError gibt 126 für "Das angegebene Modul konnte nicht gefunden werden." Leite ich in der
2
Antworten
asm_execve.s: .Abschnitt .Daten file_to_run: .ascii - "/bin/sh" .Abschnitt .text .globl main main: pushl %ebp movl %esp, %ebp subl $0x8, %esp # array mit zwei Zeigern. array[0] = file_to_run array[1] = 0 movl file_to_run, %edi movl %edi, -0x4(%ebp)
4
Antworten
Mein Hallo & Grüße an alle. Ich habe ein C-Programm, im Grunde schrieb für die Prüfung Buffer overflow. #include<stdio.h> void display() { char buff[8]; gets(buff); puts(buff); } main() { display(); return(0); } Ich jetzt zerlegen, display und
5
Antworten
Ich versuche, zu Experimentieren, mit inline Assembler, und ich bin versucht, hinzuzufügen Dezimalzahlen (Nein, NICHT ganzen zahlen) in inline-Montage. Problem ist, wenn ich rufen Sie die folgende Funktion: inline double ADD(double num1, double num2) { double res;
6
Antworten
Wie bestimmen Sie, ob der computer, den Sie auf ist eine 32-bit-Computer oder einem 64-bit-Maschine? Muss ich dies in vba bevorzugt. Warum willst du es? Dies könnte ermittelt werden, mit #IfWin64 #Else #End If zum kompilieren der
1
Antworten
hoffe, dies ist nicht eine dumme Frage, aber ich bin versucht zu wickeln meinem Kopf herum Zeiger in der Montage. Was genau ist der Unterschied zwischen: mov eax, ebx und mov [eax], ebx und Wann sollte dword
2
Antworten
Habe ich einige x86-code, die wie folgt aussieht: ; The carry flag is set to 1 here jae an_address ; The jump instruction does not take place Macht das Sinn? Ich dachte, dass das springen stattfinden sollte,
3
Antworten
Ich versuche zu rufen, eine assembly-Funktion von c,aber ich bekomme immer Fehler. .text .globl integrate .type integrate, @function integrate: push %ebp mov %esp, %ebp mov $0,%edi start_loop: cmp %edi,1024 je loop_exit mov 8(%ebp),%eax mov 12(%ebp),%ecx sub %eax,%ecx
2
Antworten
Die ganze Flagge, was irreführend ist, ist die heck aus mir heraus. Die Definitionen im web scheint wirklich flach. Ich kann nicht scheinen, um eine wirklich gute anwendbare Erklärung für all dies. Entsprechend Ihrer Definitionen, - tragen:
1
Antworten
Habe ich gelesen, dass kurze Sprünge werden verwendet, wenn die relative jump ist weniger als 124 Adresse, und lange Sprünge sollte anderweitig genutzt werden. Was ist der Unterschied in Bezug auf die Operationen in der CPU /Leistung
1
Antworten
Ich bin tracing einige x86-code für eine Aufgabe, und ich Frage mich, was genau "cmpl" tut und wie man Vorhersagen, ob oder nicht die "jne" wird erfüllt werden. 80484bf: 83 7d f0 07 cmpl $0x7,-0x10(%ebp) 80484c3: 75
2
Antworten
Wie funktioniert die Montageanleitung MOVSX Arbeit in diesem folgenden Beispiel: MOVSX ECX,BYTE PTR DS:[EDX] In diesem Fall, hier sind der Zustand der Register an: ECX = 0000000F EDX = 0012FD9F Aus, was ich dachte, es dauert letzten
1
Antworten
Kapitel 3 Computer-Systeme, A Programmer ' s Perspective (2. Auflage) erwähnt, dass cltq entspricht movslq %eax, %rax. Warum haben Sie das erstellen einer neuen Anweisung ( cltq ), anstatt einfach movslq %eax,%rax? Ist das nicht redundant? Zuerst
4
Antworten
Ich versuche zu tun, einige Code-Optimierung, Beseitigen Sie Äste, die ursprüngliche c-code ist if( a < b ) k = (k<<1) + 1; else k = (k<<1) Ich beabsichtige, ersetzen Sie es mit Assembler-code, wie unten mov
3
Antworten
Ich Lerne Montage und ich brauche, um ein großes array. Ich sah zu, wie Sie arrays deklarieren und ich bin gekommen, über. array db 10 dup(?) Denen eine Reihe von 10 nicht initialisiertes Byte deklariert ist. Ich
6
Antworten
Wie schreibt man eine Anweisung löscht die bits 0 und 1 in das AL-register mit der Montage? In welcher assembler? Auf was für eine CPU? Die CPU ist natürlich x86, da ist die Rede von AL. Muss
2
Antworten
Derzeit arbeite ich an einem Auftrag im AT&T Montage-und nun muss ich anfügen, zwei Streicher: message: .asciz "String 1" before: .asciz "String 2" Ich habe wirklich keine Ahnung, wie dies zu tun, oder wie, um zu beginnen.
2
Antworten
Stieß ich auf viele online-Ressourcen zu x86 Assembler. Jedoch, bevor Sie beginnen, möchte ich feedback von anderen. Gibt es eine video-Ressourcen konzentrierte sich besonders auf x86 Assembler-Programmierung? Ich kenne C und haben Grundlagen in Java. Ich weiß
3
Antworten
Ich versuche, code zu einer exe-packer/protector als eine Art des Lernens mehr über assembler, c++, und wie PE-Dateien arbeiten. Ich habe derzeit arbeite daran haben, so dass der Abschnitt mit den EP ist XORed mit ein Schlüssel
2
Antworten
Will ich mein Programm für die Ausführung im 32-bit Modus, wenn in einem 32-bit OS oder 64-bit-Modus, wenn es in einem 64 bit OS. Das Programm ist erstellt mit Bat To Exe Converter v2.1.4, so ist es
4
Antworten
Ich habe einen alten PC. Ich möchte berechnen MIPS(Million Instruction Per Second) und DMIPS seiner Prozessor genau. Was kann ich tun? InformationsquelleAutor Soroush | 2012-07-09
5
Antworten
Weiß ich, wie man die opcodes und die entsprechende assembly-syntax aus einer ausführbaren Datei; allerdings gibt es eine einfache Möglichkeit, um die Befehle einer bestimmten assembly instruction allein, ohne ein Programm schreiben mit dem gleichen, und Sie