Hi Leute,
da oft gefragt wird, wie man mit (n)asm einen Kernel schreibt, der etwas einliest,
hab ich hier mal meine Lösung abgedruckt (putstr und getkey ist aus lowlevel 1) [ich
hoffe, dass es diese version noch nicht gibt, denn die readln-funktion ist nur von
mir]:
MfG Scorpion
PS: Ihr habt doch mal nach einer sicheren Reboot-Funktion gefragt (irgendein thread).
Hier eine Lösung: int 0x19
funktioniert super!
da oft gefragt wird, wie man mit (n)asm einen Kernel schreibt, der etwas einliest,
hab ich hier mal meine Lösung abgedruckt (putstr und getkey ist aus lowlevel 1) [ich
hoffe, dass es diese version noch nicht gibt, denn die readln-funktion ist nur von
mir]:
Code: [Auswählen]
mov ax,1000h ; Start
mov ds,ax
mov es,ax
start:
call readln
int 0x19
buffer db 0
readarray db 0
times 20 db 0
putstr: ; Normale Ausgabe-Funktion aus
lodsb ; Lowlevel 1
or al,al
jz short putstrd
mov ah,0x0E
mov bx,0x0007
int 0x10
jmp putstr
putstrd:
retn
getkey: ; GetKey-Funktion aus Lowlevel 1
mov ah,0
int 16h
retn
readln: ; readln-Funktion
call getkey ; Taste holen
cmp al,13 ; wenn enter...
je Return ; ...Return
mov [buffer],al ; Buffer = al (Buchstabe)
mov si,buffer ; Buchstabe anzeigen
call putstr ; ...
mov [readarray+1],al ; Buchstabe zu Array hinzufügen
jmp readln ; Wiederholen
Return:
ret
Ich hoffe ich konnte jemanden helfen.MfG Scorpion
PS: Ihr habt doch mal nach einer sicheren Reboot-Funktion gefragt (irgendein thread).
Hier eine Lösung: int 0x19
funktioniert super!

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken

Gespeichert
