Klar es wird schwierig aber ich habe ja auch keine grossen ansprüche
/////////////////EDIT//////////////////
Erster Kernel Läuft schon gut
Code:
mov ax, 1000h
mov ds, ax
mov es, ax
start: ; Hier fängt unser eigentliches "Betriebssystem" an
mov si, nachricht ; Wir zeigen einfach nur einen String an
call schreiben ; "schreiben" gibt den String am Bildschirm aus
// mov si, nachricht2 ; Wir zeigen einfach nur einen String an
// call schreiben ; "schreiben" gibt den String am Bildschirm aus
// mov si, nachricht3 ; Wir zeigen einfach nur einen String an
// call schreiben ; "schreiben" gibt den String am Bildschirm aus
call lesen ; "lesen" wartet bis eine Taste gedrückt wurde
jmp reset ; Danach wird die Funktion "reset" aufgerufen
nachricht
db "Eine Taste drücken, um neu zu starten...",13,10,0
// nachricht2
db "",13,10,0
// nachricht3
db "Druecken sie eine Taste um das System neu zu Starten...",13,10,0
schreiben:
lodsb
or al, al
jz short schreiben_d
mov ah, 0x0E
mov bx, 0x0007
int 0x10
jmp schreiben
schreiben_d:
retn
lesen:
mov ah, 0
int 016h
ret
reset:
db 0Eah
dw 0000h
dw 0FFFFh
Er läuft gut ohne die Eingefügten stellen die ich mit den // markiert habe
Mit den eingefügten stellen schreibt er nur PS Z Z auf dem bildschirm
Woran liegt das und was mus ich verändern um den code so zum Laufen zu bringen wie ich es gedacht habe?
grüsschen