📄 coldboot.asm
字号:
; by: David Nugent via ECPROG echo
;
; works VERY reliably under all the protected mode environments I've
; tried (namely DV and PC-MOS). Haven't tried VM386 or NX386 yet, but
; I'm hopeful.... ;-)
BIOS_POST equ 0472H ; POST (warm boot) flag
xor BX,BX ; AL=1 for warm boot, 0 for cold
mov ES,BX
cmp AL,1
jnz @NcB
mov AX,1234H ; Avoid POST
@NcB:
mov ES:[BIOS_POST],AX ; Install flag
cli ; Reboot
xor AX,AX
mov DS,AX
mov ES,AX
mov SS,AX
mov SP,AX
@cP:
in AL,64H ; Wait on AT keyboard controller
test AL,2
jne @cP
xor AL,AL ; Try reset lines
out 64H,AL
iodelay
mov AL,0FEh
out 64H,AL
iodelay
mov AX,0002H ; Jump to reset vector
push AX ; via IRET
mov AX,0F000H
push AX
mov AX,0FFF0H
push AX
iret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -