gcc inline asm write syscall
-
Hallo I
Ich bekomme leider den Linux SysCall write nicht zum laufen.
Der Code kompiliert ohne probleme, jedoch gibt er nichts auch ...:-(#include <stdio.h> int main(void) { char test[]="test\n"; asm ("mov $4,%%eax;" "movl $1,%%ebx;" "movl %0,%%ecx;" "movl $5,%%edx;" "int $0x80;" ::"r"(test) ); }Danke
-
#include <stdio.h>
int main(void)
{
char test[]="test\n";
asm ("mov $4,%%eax;"
"movl $1,%%ebx;"
"movl %0,%%ecx;"
"movl $5,%%edx;"
"int $0x80;"
::"r"(test):"%eax"
);
return 0;
}
Funktioniert intressanterweise, kann mir jemand sagen für was der clobbered eintrag gut ist bzw. links geben.Danke
-
Ok objdump hat mir die erkenntnis gebracht , der clobbered Register verhindert das die daten in diesen register geschoben werden.
Also Solved.