21
Lowlevel-Coding / Return bei Interrupts
« am: 23. August 2005, 13:38 »
Hallo,
ich habe folgendes problem ...
Wenn ich in einer externen Anwendung den Systeminterrupt (int 30h) aufrufe, kann ich zwar Funktionen ohne Rückgabewert problemlos ausführen, jedoch keine die einen Rückgabewert haben ... Also ich möchte den Returnwert der Funktion an die Anwendung (die den Interrupt aufgerufen hat) zurückgeliefern ...
Also so rufe ich die Ints über die externen Programme auf:
Hier bekomme ich den Wert in a problemlos im Kernel geliefert.
So wie müsste diese funktion aussehen wenn Sie vom kernel einen Rückgabe wert bekäme?
Ich hoffe ihr könnt mir helfen ...
ich habe folgendes problem ...
Wenn ich in einer externen Anwendung den Systeminterrupt (int 30h) aufrufe, kann ich zwar Funktionen ohne Rückgabewert problemlos ausführen, jedoch keine die einen Rückgabewert haben ... Also ich möchte den Returnwert der Funktion an die Anwendung (die den Interrupt aufgerufen hat) zurückgeliefern ...
Also so rufe ich die Ints über die externen Programme auf:
Hier bekomme ich den Wert in a problemlos im Kernel geliefert.
Code: [Auswählen]
void test( unsigned int a )
{
asm("movl %0, %%ebx":: "g"(a));
asm("movl $0x01, %eax");
asm("int $0x30");
}
So wie müsste diese funktion aussehen wenn Sie vom kernel einen Rückgabe wert bekäme?
Code: [Auswählen]
unsigned int test( unsigned int a )
{
unsigned int b;
...
...
...
returne(b);
}
Ich hoffe ihr könnt mir helfen ...