; Proper return vector
comboot_return: cli ; Don't trust anyone
- xor ax,ax
jmp comboot_exit
;
mov ax,err_notdos
;
; Generic COMBOOT return to command line code
-; AX -> message (if any)
; BX -> where to go next
;
comboot_exit:
mov bx,enter_command ; Normal return to command prompt
comboot_exit_special:
- mov cx,ax
xor ax,ax
mov ds,ax
mov es,ax
sti
cld
call adjust_screen ; The COMBOOT program might have changed the screen
- jcxz .nomsg
- mov ax,cx
- mov si,KernelCName
- call cwritestr
- xchg si,ax
- call cwritestr
-.nomsg: jmp bx
+ jmp bx
;
; INT 21h system calls
mov si,P_BX
mov di,command_line
call strcpy
- xor ax,ax
mov bx,load_kernel ; Run a new kernel
jmp comboot_exit_special ; Terminate task, clean up
mov [IPAppend],al
%endif
- xor ax,ax
mov bx,.finish
jmp comboot_exit_special