阅读:1984回复:6
windows 如何对硬件输入输出保护?
windows 不是对硬件输入输出保护吗?
为什么以下代码可在win32 GUI 用户模式下运行,望好心人指点, 谢谢 mfc dialog program : CDialog CSpeakerDlg; void CSpeakerDlg::OnOK() { // TODO: Add extra validation here WORD origin=0; _asm { in ax,61h; mov origin,ax; or ax,3; out 61h,ax; //open system speaker } MessageBox("ok"); _asm { mov ax,origin; out 61h,ax; //close system speaker } } |
|
沙发#
发布于:2001-08-01 14:34
嵌入汇编当然可以执行了
//你指的是什么windows? |
|
|
板凳#
发布于:2001-08-01 18:49
动态连接库(DLL)能做到核心级么? 为什么我的DLL潜入汇编也不能再2000下正确使用? 但是写到driver里可以, 是不是微软的系统都支持潜入汇编的操作呢? |
|
|
地板#
发布于:2001-08-01 21:02
我是说 win2k,win98 both
ring 3 的硬件输入输出不是受限制吗? 好象是intel cpu支持对ring 3 的硬件输入输出的限制。。。 望指点 谢谢 |
|
地下室#
发布于:2001-08-02 13:56
对特定的端口操作在User Mode里是没有问题的,Microsoft保留了这样的端口,但是如果访问其他地址,是User Mode的虚拟地址,如果没有映射的话,Windows会报错,另外,在WDM的驱动使用的地址时kernel mode的虚拟地址,也不是物理地址
|
|
|
5楼#
发布于:2001-08-04 02:04
你一定是在9x系列的系统下,在9x系列是不对IO和1M以下的内存进行保护的,但是你要是用中断的话我想就得编核心驱动了吧
|
|
|
6楼#
发布于:2001-08-04 11:04
谢谢各位,不过我不知咋给分,对不起大家啦!
谢谢! |
|