Suchergebnisse für Anfrage "inline-assembly"

2 die antwort

gcc, Inline-Assembly - Pushad / Popad fehlt?

So müssen Sie das @ nicht kopieren und einfügpushad/popad Anweisungskörper in meinen Code? Weil gcc (aktuelle Flags:-Wall -m32) beschwert sich, dass __asm__("pushad;");Error: keine solche Anweisung: `pushad ' __asm__("popad;");Error: keine ...

2 die antwort

ufruf von printf in erweitertem Inline-A

Ich versuche, dieselbe Zeichenfolge zweimal in Extended Inline ASM in @ auszugebe GCC, unter 64-Bit-Linux. int main() { const char* test = "test\n"; asm( "movq %[test], %%rdi\n" // Debugger shows rdi = *address of string* "movq $0, %%rax\n" ...

2 die antwort

Merit der Inline-ASM-Rundung durch Setzen von float in int-Variable

Ich habe ein ziemlich interessantes Stück Code geerbt: inline int round(float a) { int i; __asm { fld a fistp i } return i; }Mein erster Impuls war, es zu verwerfen und Anrufe durch @ zu ersetz(int)std::round (vor C ++ 11, würde @ ...

TOP-Veröffentlichungen

4 die antwort

Ist Intels Zeitstempel, der als Codebeispiel asm liest, zwei mehr Register als nötig?

Ich untersuche die Messung der Benchmark-Leistung mithilfe des Zeitstempelregisters (TSR) in x86-CPUs. Es ist ein nützliches Register, da es in einer monotonen Zeiteinheit misst, die unempfindlich gegen die Änderung der Taktfrequenz ist. Sehr ...

4 die antwort

Labels in GCC Inline Assembly

ei meinen laufenden Experimenten mit der GCC-Inline-Assembly ist mir ein neues Problem in Bezug auf Beschriftungen und Inline-Code begegne Betrachten Sie den folgenden einfachen Sprung: __asm__ ( "jmp out;" "out:;" : : );Dies macht nichts ...

14 die antwort

x86 Assembly: INC- und DEC-Anweisung und Überlauf-Flag

ei einer x86-Assembly wird das Überlaufflag gesetzt, wenn einadd odersub Operation für eine Ganzzahl mit Vorzeichen läuft über, und das Übertragsflag wird gesetzt, wenn eine Operation für eine Ganzzahl ohne Vorzeichen läuft. Allerdings, wenn es ...

2 die antwort

Wie kann ich gcc mitteilen, dass meine Inline-Assembly einen Teil des Stapels blockiert?

Betrachten Sie die Inline-Assembly wie folgt: uint64_t flags; asm ("pushf\n\tpop %0" : "=rm"(flags) : : /* ??? */);Wie kann ich dem Compiler mitteilen, dass meine Inline-Assembly ein Quadword des Speichers oben im Stapel verstopft, obwohl es ...

4 die antwort

Wie kann ein einzelnes Register als Einschränkung in der ARM GCC-Inline-Assembly angegeben werden?

In x86 Inline Assembly kann ich so etwas schreiben: asm ("cpuid" : "=a" (_eax), "=b" (_ebx), "=c" (_ecx), "=d" (_edx) : "a" (op));so in den Matchin-Einschränkungen, anstatt nur "= r" zu schreiben und den Compiler das Register auswählen zu ...

2 die antwort

Gibt es eine äquivalente Anweisung zu rdtsc in ARM?

Für mein ProjektIch muss die Inline-Montageanleitung verwenden sowie rdtsc, um die Ausführungszeit einiger C / C ++ - Anweisungen zu berechnen. Der folgende Code scheint auf Intel, aber nicht auf ARM-Prozessoren zu funktionieren: {unsigned a, ...