%elif IS_PXELINUX
lss esp,[BaseStack]
%elif IS_ISOLINUX
- lss sp,[cs:Stack]
+ lss sp,[Stack]
%else
NEED TO KNOW HOW TO RESET STACK
%endif
call cwritestr ; Expects SI -> error msg
; If NOESCAPE is active, then execute the default command
- cmp byte [KbdFlags],0
+ cmp byte [KbdFlagMask],0
jz auto_boot ; Default command
jmp enter_command ; Otherwise command prompt
check_for_key:
cmp word [ForcePrompt],byte 0 ; Force prompt?
jnz enter_command
- test byte [KbdFlags],5Bh ; Caps, Scroll, Shift, Alt
+ mov al,[KbdFlags]
+ test al,[KbdFlagMask]
jz auto_boot ; If neither, default boot
enter_command:
%endif
; Otherwise Linux kernel
+ section .data
+KbdFlagMask db 5Bh ; Caps, Scroll, Shift, Alt
+
section .bss
alignb 2
KernelExtPtr resw 1 ; During search, final null pointer