Heute hab ich versucht die C-Calling Convention schneller zu machen:
angenommen ich will eine Textschreibe Funktion aufrufen:
push dx ;in dx steht die Adresse
call text ;Text ist die Schreibfunktion
add sp, 2 ;hier wird dx dann wieder gelöscht
nun dachte ich, dass es ja eigentlich doof ist jedesmal wieder sp um 2 zu addieren,
dass kann man ja einfach direkt in der Funktion machen, dann muss mans nicht immer wieder machen:
text:
push bp
mov bp, sp
;eigentliche Funktion
mov sp, bp
pop bp
add sp, 2
ret
und dafür hab ich das bei de aufrufenden Teil weggelassen
danach hab ich 2 Stunden rumprobiert, bis ich mein Programm wieder am Laufen hatte, ich dachte das hat nix damit zu tun,
hatte es am Ende aber doch
jetzt dürf ihr mal raten wo der Fehler ist -.-