貌似很多游戏保护系统都是这么重启的 HS的重启
cli 异曲同工之处! BIOS知识点滴Follow Bini系列之—系统重启
复制内容到剪贴板 ;; 如下代码参照 《PC技术内幕》第8章 键盘系统
START:
IODELAY MACRO
;———————————————-
; 调用 bl = 命令字节
keyboard_cmd PROC NEAR
cmd_wait: jmp cmd_error ; 超时,失败 cmd_send:
xor cx, cx ; 超时计数器(64K) cmd_error: ; 超时失败
cmd_ok: cmd_exit:
END START
复制内容到剪贴板 3、Reset Control Register(Port CF9h)
计算机研发论坛,BIOS技术网站,BIOS技术论坛,BIOS SPEC,BIOS手册,BIOS入门,ACPI,SMBIOS,BIOS技术,EC资料,EC开发,PS/2,KBC) f$ w9 t7 X) l) h6 U 这里大家可以认识几种Reset的名词: Platform Reset, PCI Reset, System Reset, Reset CPU.我们来看Intel的文档,如下图: 1.GIF (21.4 KB)
因此你可以用下如代码Hard Reset:
复制内容到剪贴板 也可以用如下代码“关机”(看你的机器的做法,也就是对SLP_S3#,SLP_S4#,SLP_S5#的处理):
复制内容到剪贴板 4、Ctrl+Alt+Del 这种方法“基本”是在“DOS”下有效,教课书上常称为”热启”。键盘中断会hook住你的按键,Hook就是BIOS的INT 09h软中断,当你按下这三个键时,就相当于Far jmp到 F000:FFF0处。用如下代码在DOS可实现热启动。
复制内容到剪贴板 OK,你对系统重启是否又清楚了一些呢? |