coldboot.asm
来自「由8051/8096/8099/8048单片机汇编工具、 汇编语言、摩托罗拉m」· 汇编 代码 · 共 43 行
ASM
43 行
; 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 + =
减小字号Ctrl + -
显示快捷键?