Приветики, у меня есть вопросик, но сначала обрисую ситуацию.
Сидела я как то вечером перед монитором и решила написать свою маленькую ось, дабы закрепить азы асемблера. А сама блондинка блондинкой в этом. Взяла копы книжек в королевстве дежавю и замке пдф. Сходила к старцу васму. Послала гонцов в гугль. В итоге написала загрузчика (конечно же на дискетку((((). Написала ядро для нее. Теперь вопрос (простите Выпросы
у меня с загрузчика на ядро управление передаеться :
да кстати ось работает в текстовом режиме 80х25
mov ah, 00h
mov al, 03h
int 10h
собственно вопрос вот в чем:
когда я ввожу команду, она идет на выполнение, вот пример:
chelp db "help", 0
chelp_tail:
......
help_msg db "тут приветствие", 0Dh,0Ah,0
......
......
lea si, command_buffer
mov cx, chelp_tail - offset chelp ; size of ['help',0] string.
lea di, chelp
repe cmpsb
je help_command
......
......
; +++++ 'help' command ++++++
help_command:
; scroll text area 11 lines up:
mov al, 11
call scroll_t_area
; set cursor position 11 lines
; above prompt line:
mov ax, 40h
mov es, ax
mov al, es:[84h]
sub al, 11
gotoxy 0, al
lea si, help_msg
call print_string
mov al, 1
call scroll_t_area
jmp processed
Как сделать так чтобы при вводе команды, допустим "tasm" у меня запускался внешний файл "exe" or "com" любой. То есть независимо от адресного пространства?
Я не знаю как назвать это, ну то есть чтобы можно было осуществить выход за пределы ядра, как бы мультизадачность.