Tag: inline-assembly

Montage, die eingebettet ist innerhalb von einer Quelle in eine andere, höhere Sprache, wie etwa die x86-assembly eingebettet in C oder C++.

Wie Adresse verwenden Sie Konstanten, die in GCC inline Assembler x86

Anzahl der Antworten 2 Antworten
Den GCC toolchain verwendet AT&T-assembler-syntax standardmäßig, aber die Unterstützung für Intel-syntax ist über die .intel_syntax Richtlinie. Außerdem, AT&T-und Intel-syntax sind in einer prefix und ein noprefix version, die unterscheiden sich darin, ob oder nicht Sie benötigen, um

Gcc-inline-assembly-was bedeutet "'asm' operand unmöglich Einschränkungen" bedeuten?

Anzahl der Antworten 1 Antworten
Ich habe diesen code unten in die Funktion: void makeSystemCall(uint32_t num, uint32_t param1, uint32_t param2, uint32_t param3){ asm volatile ( "mov %0, %%eax\n\t"//Move num to eax "mov %1, %%ebx\n\t"//Move param1 to ebx "mov %2, %%ecx\n\t"//Move param2 to

Wie Sie angeben, registrieren Sie Einschränkungen auf der Intel x86-64-register r8 bis r15 im GCC-inline-assembly?

Anzahl der Antworten 2 Antworten
Hier ist die Liste der register Beladung codes: einer eax b ebx c ecx d edx S esi D edi Ich konstanter Wert (0 bis 31) q,r dynamisch zugewiesenen register (siehe unten) g eax, ebx, ecx, edx

floating-point-zahlen in ASM

Anzahl der Antworten 2 Antworten
In den letzten Tagen spielte ich mit C++, ASM und inline-ASM. Ich weiß, wie ich access basic-Variablen im Speicher und ähnliche Dinge. Jetzt versuche ich, die Arbeit mit floating-point-zahlen in ASM. Ich habe zerlegt diesen code: float

Ist es möglich, den Zugriff auf 32-bit-Register in C?

Anzahl der Antworten 7 Antworten
Ist es möglich, den Zugriff auf 32-bit-Register in C ? Wenn ja, wie ? Und wenn nicht, dann ist es eine Möglichkeit zum einbetten von Assembler-code in C ? Ich bin mit dem MinGW-compiler, durch die Art

Retq Anleitung, wo kommt es zurück

Anzahl der Antworten 1 Antworten
Ich bin nicht in der Lage zu verstehen, wo die assembly-Anweisung retq wieder auf. Ich verstehe, dass wenn meine normale code ausgeführt wird, dann ist es die Rückkehr an die angegebene Adresse in den stack. Aber Woher

Code-Injektion/Montage inlining in Java?

Anzahl der Antworten 6 Antworten
Ich weiß, Java ist eine sichere Sprache, aber bei matrix-Berechnungen erforderlich sind, kann ich versuchen, etwas schneller? Ich Lerne __asm{} in C++, Digital Mars-compiler und FASM. Ich möchte das gleiche zu tun in Java. Wie kann ich

Effiziente integer compare-Funktion

Anzahl der Antworten 7 Antworten
Den compare Funktion ist eine Funktion, die zwei Argumente nimmt a und b ab und gibt einen integer Beschreibung Ihrer Bestellung. Wenn a ist kleiner als b, das Ergebnis ist eine negative Ganzzahl. Wenn a größer ist

gcc-inline-assembly-Fehler "operand Typenkonflikt für mov"

Anzahl der Antworten 3 Antworten
//quick inline asm statements performing the swap_byte for key_scheduling inline void swap_byte(unsigned char *x, unsigned char *y) { unsigned char t; asm("movl %1, %%eax;" "movl %%eax, %0;" :"=r"(t) :"r"(*x) :"%eax"); asm("movl %1, %%eax;" "movl %%eax, %0;" :"=r"(*x)

Was ist die Bedeutung von MOV EAX, DWORD PTR SS:[EBP+8] und wie kann ich es übersetzen in AT&T format?

Anzahl der Antworten 3 Antworten
Ich bin mit Code::Blocks code, sondern ein code den ich verwiesen wird, ist von Visual C++,so dass ich Schwierigkeiten habe, den Unterschied...:( den vollständigen code sind hier NAKED void ijlWrite() { __asm { PUSH EBP MOV EBP,

GCC-inline-assembly-Fehler: error: junk `(%esp) " nach Ausdruck

Anzahl der Antworten 1 Antworten
GCC-inline-assembly-Fehler: error: junk `(%esp) " nach Ausdruck Ich studiere im gcc-inline-assembly. Meine Umgebung ist Win 7 32bit, mingw-gcc 4.6.1. Ich habe ein problem über den 'm' - Bedingung. Hier ist mein c-Funktion code: static int asm_test(int a,

Assembler-code in C++ code

Anzahl der Antworten 5 Antworten
Wie kann ich die Intel asm code in mein c++ - Anwendung? Ich bin mit Dev-C++. Will ich tun, sth so: int temp = 0; int usernb = 3; pusha mov eax, temp inc eax xor usernb,

arm Inline Assembler in gcc

Anzahl der Antworten 1 Antworten
Ich habe einige Schwierigkeiten mit den inline-Assembler-code. Ich weiß, was getan werden sollte, aber ich vermisse das "wie" ! Habe ich diese checksum-Funktion, die ist "fast" funktioniert : static unsigned long cksum_unroll( unsigned short **w, int *mlen)

calling-assembly-Funktion von c

Anzahl der Antworten 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

gcc-inline-assembly - operand Typenkonflikt `add', die versuchen, um astfreie code

Anzahl der Antworten 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

How to: Inline-assembler in C++ (unter Visual Studio 2010)

Anzahl der Antworten 6 Antworten
Schreibe ich eine performance-kritische, number-crunching C++ - Projekt, wo 70% der Zeit verwendet wird, von der 200 Linie core-Modul. Möchte ich zur Optimierung der Kern-Verwendung von inline-assembly, aber ich bin komplett neu hier. Ich muss allerdings wissen,

Wie stellen hex-Wert wie FFFFFFBB in x86 Assembler-Programmierung?

Anzahl der Antworten 4 Antworten
Lerne ich über x86 inline Assembler Programmierung. Wollte ich schreiben mov ecx, FFFFFFBB aber der compiler nicht erkennen. Wie sollte die hex-zahlen wie die, die geschrieben werden, die inline-assembler-code? Welchen compiler / assembler? InformationsquelleAutor Arcytoi | 2012-07-31

Linux assembler-Fehler "impossible constraint in 'asm'"

Anzahl der Antworten 3 Antworten
Fange ich mit assembler unter Linux. Ich habe gespeichert, den folgenden code als testasm.c und es kompiliert mit: gcc testasm.c -otestasm Der compiler antwortet: "impossible constraint in 'asm'". #include <stdio.h> int main(void) { int foo=10,bar=15; __asm__ __volatile__

So setzen Sie eine variable in GCC mit Intel-syntax für inline Montage?

Anzahl der Antworten 3 Antworten
Nicht warum dieser code-set temp 1? Wie kann ich eigentlich tun? int temp; __asm__( ".intel_syntax;" "mov %0, eax;" "mov eax, %1;" ".att_syntax;" : : "r"(1), "r"(temp) : "eax"); printf("%d\n", temp); InformationsquelleAutor Mehrdad | 2011-03-22

Gewusst wie: speichern eine C++ - variable in einem register

Anzahl der Antworten 8 Antworten
Möchte ich einige Klarstellungen in Bezug auf einen Punkt über die Lagerung von register-Variablen: Gibt es eine Möglichkeit, um sicherzustellen, dass, wenn wir erklärt haben, eine register-variable in unserem code, es werden NUR dann gespeichert in einem

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,

Negative clock-cycle-Messungen mit back-to-back rdtsc?

Anzahl der Antworten 9 Antworten
Schreibe ich ein C-code für die Messung der Anzahl von Taktzyklen benötigt, ist der Erwerb einer semaphore. Ich bin mit rdtsc und vor der Messung auf die semaphore, ich nenne rdtsc zwei mal hintereinander zu Messen, der

Was ist die Verwendung von .byte assembler-Direktive in gnu-Montage?

Anzahl der Antworten 4 Antworten
Während durch einige C-code mit inline Assembler kam ich über die .byte (mit einem Punkt am Anfang) - Richtlinie. Ist die überprüfung der assembly-Verweis auf die Website, die ich fand, dass es reserviert ein byte im Speicher.

Lesen eines Registerwerts in eine C-Variable

Anzahl der Antworten 8 Antworten
Ich erinnere mich an eine Weise zur Verwendung des erweiterten gcc-inline-assembly zu Lesen, ein register-Wert und speichern ihn in einer C-variable. Ich kann nicht, obwohl für das Leben von mir denken Sie daran, wie Sie form die

Kann ich die Intel-Syntax der x86-Assembly mit GCC verwenden?

Anzahl der Antworten 2 Antworten
Ich will schreiben Sie eine kleine low-level-Programm. Für einige Teile davon werde ich brauchen, um assembly-Sprache verwenden, aber der rest des Codes geschrieben werden, die auf C/C++. So, wenn ich mit GCC zu mischen, C/C++ mit Assembler-code

64-Bit-Anwendungen und Inline-Assembly

Anzahl der Antworten 3 Antworten
Ich benutze Visual C++ 2010 Entwicklung von 32-bit-windows-Anwendungen. Es ist etwas, was ich wirklich wollen, für inline-Montage. Aber ich habe gerade festgestellt, dass visual C++ nicht unterstützt inline-assembly in 64bit-Anwendungen. Also die Portierung auf 64bit in der

Labels in GCC Inline-Assembly

Anzahl der Antworten 2 Antworten
In meinen Laufenden Experimenten mit GCC-inline-assembly, habe ich ein neues problem in Bezug auf Etiketten und inline-code. Betrachten Sie die folgenden einfachen Sprung: __asm__ ( "jmp out;" "out:;" : : ); Dieser tut nichts, außer zu springen,

Wie führe ich die Inline-Montage am IPhone durch?

Anzahl der Antworten 4 Antworten
Wie wird es gemacht? Welche Schritte muss ich ergreifen müssen, und welche Tücken und Fallstricke gibt es zu beachten? InformationsquelleAutor der Frage Hans Sjunnesson | 2008-10-26

Effiziente Ganzzahlvergleichsfunktion

Anzahl der Antworten 7 Antworten
Den compare Funktion ist eine Funktion, die zwei Argumente nimmt a und b ab und gibt einen integer Beschreibung Ihrer Bestellung. Wenn a ist kleiner als bdas Ergebnis ist eine negative Ganzzahl. Wenn a größer ist als

x86 / x64 CPUID in C #

Anzahl der Antworten 6 Antworten
Bezug auf meine andere Fragebitte helfen Sie mir debug "Eine nicht behandelte Ausnahme des Typs 'System.AccessViolationException " ist in Modul Unbekannt. Zusätzliche Informationen: es wurde Versucht, Lesen oder schreiben von geschütztem Speicher. Dies ist Häufig ein Hinweis

Wie kann ich einen Systemaufruf über den Synthesizer in der Inline-Assembly aufrufen?

Anzahl der Antworten 1 Antworten
Wie können wir die Umsetzung der system-Aufruf mittels sysenter/syscall direkt in x86-Linux? Kann jemand helfen? Es wäre noch besser, wenn Sie auch zeigen zu können, den code für amd64-Plattform. Weiß ich, x86, wir können __asm__( " movl

Was macht __asm__ __volatile__ in C?

Anzahl der Antworten 3 Antworten
Schaute ich in C-code aus http://www.mcs.anl.gov/~kazutomo/rdtsc.html Verwenden Sie Sachen wie "inline", "asm" usw. wie folgt: code1: static __inline__ tick gettick (void) { unsigned a, d; __asm__ __volatile__("rdtsc": "=a" (a), "=d" (d) ); return (((tick)a) | (((tick)d) <<

Der Unterschied zwischen asm, asm volatile und Clobbering Memory

Anzahl der Antworten 3 Antworten
Bei der Implementierung von lock-free data structures and timing-code ist es oft notwendig, um zu unterdrücken, die compiler-Optimierungen. Normalerweise Menschen tun dies mit Hilfe asm volatile mit memory in die clobber-Liste, aber manchmal sieht man nur asm

Gibt es eine Möglichkeit, Assemblercode in C einzufügen?

Anzahl der Antworten 4 Antworten
Ich erinnere mich zurück in den Tag, mit dem alten borland compiler konnte man etwas wie das hier tun: asm { mov ax,ex etc etc... } Gibt es eine semi-Plattform-unabhängigen Weg, dies jetzt zu tun? Ich habe

Was ist der Unterschied zwischen "asm", "asm" und "asm"?

Anzahl der Antworten 4 Antworten
Soweit ich das beurteilen kann, der einzige Unterschied zwischen __asm { ... }; und __asm__("..."); ist, dass die erste verwendet mov eax, var und die zweite verwendet movl %0, %%eax mit :"=r" (var) am Ende. Welche weiteren