ok. Aber jetzt habe ich ein anderes Problem:
Ich möchte, dass der User den Pfad zum Kernel Angibt. Dazu habe ich folgenden code:
path: db " ",0
pathcnt db 0x00
prompt db "kernel>",0
kerror db "Kernel could not be found.",13,10,0
;Der Loader ruft shell auf:
shell:
mov si,prompt
call print
call userinput
kernel_error:
mov si,kerror
call print
jmp shell
retn
userinput:
mov [pathcnt],0
letterwait:
mov ah,0x00
int 0x16
cmp al,13 ;wenn ENTER
je return
mov [path+[pathcnt]],al
add [pathcnt],1
jmp letterwait
return:
mov [path+[pathcnt]],0
call load_kernel
load_kernel:
jmp kernel_error
Alles was der User eingibt wird in die Variable "path" gespeichert. Deshalb hab ich auch einen Counter (pathcnt). Nach jedem Zeichen wird diesr Counter um eins erhöht. Nun muss ich das Zeichen ja auch in die Paht-variable speichern (mov [paht+[pathcnt]],al), doch genau da meckert er, die Adresse sei zu ungenau. Ich habe auch schon Sachen wie : mov [path+ db [pathcnt]],al versucht doch ohne erfolg.
Hat jemand eine Idee oder bereits selbst eine Shell programmiert?