DF is undefined on entry, so make sure we clear it at all entry points
where it could possibly matter.
jmp comboot_seg:100h ; Run it
; Proper return vector
+; Note: this gets invoked both via INT 21h and directly via INT 20h.
+; We don't need to cld explicitly here, because comboot_exit does that
+; when invoking RESET_STACK_AND_SEGS.
comboot_return: cli ; Don't trust anyone
push enter_command ; Normal return to command prompt
jmp comboot_exit
xor cx,cx
comboot_exit_msg:
pop bx ; Return address
- RESET_STACK_AND_SEGS SI
+ RESET_STACK_AND_SEGS SI ; Contains cld
call adjust_screen ; The COMBOOT program might have changed the screen
pusha
mov si,DOSSaveVectors
%ifdef HAVE_IDLE
comboot_int28:
cli
+ cld
pushad
xor ax,ax
push ds
;
comboot_int29:
cli
+ cld
call writechr ; Preserves registers!
iret