Changeset 116 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Boot/BootVars.asm
- Timestamp:
- Feb 26, 2011, 11:55:06 PM (14 years ago)
- google:author:
- krille_n_@hotmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Boot/BootVars.asm
r96 r116 28 28 ; POST stack is not large enough when DPTs are stored to 30:0h. 29 29 ; 30 ; Note regarding LOAD_BDA_SEGMENT_TO: If you force the use of SP 31 ; then you also have to unconditionally enable the CLI/STI pair. 32 ; The reason for this is that only some buggy 808x CPU:s need the 33 ; CLI/STI instruction pair when changing stacks. Other CPU:s disable 34 ; interrupts automatically when SS is modified for the duration of 35 ; the immediately following instruction to give time to change SP. 36 ; 30 37 ; BootVars_SwitchToBootMenuStack 31 38 ; Parameters: … … 39 46 BootVars_SwitchToBootMenuStack: 40 47 pop ax ; Pop return address 48 %ifndef USE_186 41 49 cli ; Disable interrupts 50 %endif 42 51 LOAD_BDA_SEGMENT_TO ss, sp 43 52 mov sp, BOOTVARS.rgbMnuStack ; Load offset to stack 53 %ifndef USE_186 44 54 sti ; Enable interrupts 55 %endif 45 56 jmp ax 46 57 … … 48 59 ;-------------------------------------------------------------------- 49 60 ; Restores SS and SP to initial boot loader values. 61 ; 62 ; Before doing any changes, see the note regarding 63 ; LOAD_BDA_SEGMENT_TO in BootVars_SwitchToBootMenuStack 50 64 ; 51 65 ; BootVars_SwitchBackToPostStack … … 60 74 BootVars_SwitchBackToPostStack: 61 75 pop ax ; Pop return address 76 %ifndef USE_186 62 77 cli ; Disable interrupts 78 %endif 63 79 LOAD_BDA_SEGMENT_TO ss, sp 64 80 %ifndef USE_386 … … 68 84 lss sp, [ss:BOOTVARS.dwPostStack] 69 85 %endif 86 %ifndef USE_186 70 87 sti ; Enable interrupts 88 %endif 71 89 jmp ax
Note:
See TracChangeset
for help on using the changeset viewer.