Hallo! ich bins mal wieder!
Ich will einer funktion einen eigenen Stack zuweisen, dafür will ich mit:
[code]mov cx,ss ; 0x9000
mov bx,sp ; anfänglich 0x00FF
cli ; Keine Interrupts!
mov ax, 0x9010 ; Stackadresse
mov ss, ax ; SS = 9010 (neuer Stack)
mov sp, 0x000F ; SP = 000F
sti ; Interrupts zulassen
[\code]
einen neuen Stack definieren, davor speichere ich den alten satckpointer und das alte stacksegment in ax und bx, und push beide dann auf den neunen stack, damit ich sie am ende der funktion wieder runter popen und zum alten stack zurückwechseln kann. Aber wenn ich das Programm laufen lasse rebootet der Pc einfach an dieser stelle. Ich hab schon in Google und im Forum gesucht aber nicht entsprechnendes gefunden, wo liegt der fehler?
danke!
Ich will einer funktion einen eigenen Stack zuweisen, dafür will ich mit:
[code]mov cx,ss ; 0x9000
mov bx,sp ; anfänglich 0x00FF
cli ; Keine Interrupts!
mov ax, 0x9010 ; Stackadresse
mov ss, ax ; SS = 9010 (neuer Stack)
mov sp, 0x000F ; SP = 000F
sti ; Interrupts zulassen
[\code]
einen neuen Stack definieren, davor speichere ich den alten satckpointer und das alte stacksegment in ax und bx, und push beide dann auf den neunen stack, damit ich sie am ende der funktion wieder runter popen und zum alten stack zurückwechseln kann. Aber wenn ich das Programm laufen lasse rebootet der Pc einfach an dieser stelle. Ich hab schon in Google und im Forum gesucht aber nicht entsprechnendes gefunden, wo liegt der fehler?
danke!

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken

Gespeichert
