Aus externe ASM Funktion zurückkehren

üäpöol

Erfahrenes Mitglied
Hi,

ich komm gleich mal zum Problem.
Ich habe ein .c Datei, in der ich eine Funktion ausführe, die ich in einer ASM Datei programmiert habe.
Hier mein Code:

C:
extern int func();

int main() {	
	func();
	return 0;
}

Code:
global func	

func:
	mov al, "j"
	mov ah, 0x0E
	int 0x10
	
	ret

Das Problem ist, dass der Code nach func() hängt und Dosbox abstürzt. Daher vermute ich, dass nicht wirklich*zurückgekehrt wird.

Ich assembliere mit NASM, kompiliere mit GCC und linke die beiden Dateien dann.

Danke im Voraus.
 
Zuletzt bearbeitet:

üäpöol

Erfahrenes Mitglied
Ich glaube, das Problem hat sich erledigt.
Ich habe den Rückgabewert vergessen.
Code:
mov ax, 0
vor dem return und alles funktioniert soweit. :)