Compare commits
1 Commits
5be8fad422
...
25e4f6c711
Author | SHA1 | Date |
---|---|---|
CrazyEttin | 25e4f6c711 |
|
@ -86,13 +86,12 @@ int 0x21
|
|||
cmp byte [input], 0x0
|
||||
jz shell
|
||||
|
||||
;Set SI at the command
|
||||
;Check for a current drive change command
|
||||
;Set SI at input
|
||||
mov si, input
|
||||
;Ignore leading spaces
|
||||
call ignoreleading
|
||||
|
||||
;Check for a current drive change command
|
||||
;Check
|
||||
cmp byte [si + 0x1], ":"
|
||||
jne extract
|
||||
cmp byte [si + 0x2], 0x0
|
||||
|
@ -102,8 +101,11 @@ je changecurdrive
|
|||
|
||||
;Extract the specification of the program file
|
||||
extract:
|
||||
;Set DI at program
|
||||
;Set SI at input and DI at program
|
||||
mov si, input
|
||||
mov di, program
|
||||
;Ignore leading spaces
|
||||
call ignoreleading
|
||||
;Initialise program with spaces
|
||||
mov cx, 0xe
|
||||
mov al, 0x20
|
||||
|
@ -153,13 +155,6 @@ call ignoreleading
|
|||
;Execute the program
|
||||
jmp 0x3000
|
||||
|
||||
;Print a command error message and return to the shell
|
||||
cmderror:
|
||||
mov si, cmderrormsg
|
||||
mov ah, 0x2
|
||||
int 0x21
|
||||
jmp shell
|
||||
|
||||
;Change the current drive
|
||||
;Get the BIOS equipment list
|
||||
changecurdrive:
|
||||
|
@ -194,10 +189,17 @@ mov [curdrive], dl
|
|||
call setcurdriveletter
|
||||
jmp shell
|
||||
|
||||
;Print a command error message and return to the shell
|
||||
cmderror:
|
||||
mov si, cmderrormsg
|
||||
mov ah, 0x2
|
||||
int 0x21
|
||||
jmp shell
|
||||
|
||||
;Welcome message
|
||||
welcomemsg db 0xd, 0xa, "Welcome to EttinOS!", 0xd, 0xa, 0x0
|
||||
|
||||
;Drive stuff
|
||||
;Drive
|
||||
curdrive db 0x0
|
||||
driveletters db "AaBbCcDd"
|
||||
|
||||
|
|
Loading…
Reference in New Issue