Suchergebnisse für Anfrage "calling-convention"

2 die antwort

Ist in x86-64 SysV ABI Müll in hohen Bits von Parameter- und Rückgabewertregistern zulässig?

Das x86-64 SysV ABI legt unter anderem fest, wie Funktionsparameter in Registern übergeben werden (erstes Argument inrdi, dannrsi und so weiter) und wie ganzzahlige Rückgabewerte zurückgegeben werden (inrax und dannrdx für wirklich große ...

4 die antwort

Schiebt jeder PUSH-Befehl ein Vielfaches von 8 Bytes auf x64?

ei x64 überträgt jeder PUSH-Befehl ein Vielfaches von 8 Bytes? Wenn nicht, wie viel schiebt es? Auch wie viel Stapelspeicher verbraucht jeder Funktionsparameter?

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" ...

TOP-Veröffentlichungen

2 die antwort

Schreibe ein Fizz-Programm in Assembly / Using C library

Kann mir jemand bei diesem Montageprogramm helfen: Drucken Sie zuerst die Nummern 1 bis 100 aus. Befolgen Sie dann die Regeln für das Kinderzählspiel Fizz: Wenn die Nummer gleichmäßig durch 5 teilbar ist oder die Ziffer 5 enthält, ersetzen Sie ...

4 die antwort

Aufrufen eines Funktionszeigers, dessen zugeordnete Funktion weniger Argumente hat als der Zeigertyp

Betrachten Sie den folgenden Code: #include <iostream> typedef int (*test_func_t) (int, int, int); int print_integer (int a) { std::cout << "num: " << a << "\n"; return a; } int main (int argc, char * argv[]) { test_func_t func = (test_func_t) ...

6 die antwort

x86-Aufrufkonvention: Sollen Argumente, die vom Stack übergeben werden, schreibgeschützt sein?

Es scheint, dass hochmoderne Compiler Argumente, die vom Stack übergeben werden, als schreibgeschützt behandeln. Beachten Sie, dass der Aufrufer in der x86-Aufrufkonvention Argumente auf den Stapel überträgt und der Angerufene die Argumente im ...

4 die antwort

Wie funktioniert die Verkettung von Methoden?

Wie funktioniertgetRequestDispatcher("xxx") von @ angerufen werdgetServletContext() im nachstehenden Beispiel? Wie funktioniert das Aufrufen von Prozeduren wie dieser im Allgemeinen? Bitte geben Sie mir ein klares Bild über diesen ...

2 die antwort

Wie wird der Stapelzeiger in diesem Programm mit call and ret geändert?

Meine Fragen beziehen sich auf die Aktionen, die scheinbar zwischen den Zeilen stattfinden, wenn sich der Kontext ändert, insbesondere in Bezug aufRSP undRBP. Angesichts dieses sehr einfachen Programms: Reading symbols from ...

6 die antwort

Reihenfolge der Auswertung von Argumenten beim Funktionsaufruf?

Ich studiere undefiniertes Verhalten in C und bin zu einer Aussage gekommen, die das besagt Es gibt keine bestimmte Reihenfolge der Auswertung von Funktionsargumenten aber wie sieht es dann mit den Standard-Aufrufkonventionen ...

4 die antwort

Wie kann man in c in eine andere Funktion „gehen“?

Grundsätzlich versuche ich, Assembler-Code in C zu simulieren. Hier ist der C-Code: int main() { test(); main_next: printf("Hello, World!"); } void test() { goto main_next; }Beim Versuch, diesen Code zu kompilieren (Linux 32-Bit, gcc ...