阅读:5278回复:28
如何实现用bios调用的关机?
不要告诉我
mov ax,5307 ... int 15 这个在dos下可以, bios中是不能用的,哪位提示一下呀? |
|
最新喜欢:changj... |
沙发#
发布于:2003-12-24 16:10
不要告诉我 我不明白什么叫:bios中不能用,我想你的意思是在acpi模式的windows下不能用吧。调用winapi吧,ExitWindowsEx( EWX_SHUTDOWN, 0)。再不行的话,写程序关atx电源:) |
|
板凳#
发布于:2003-12-25 08:27
感谢回复,我的意思是说程序写在卡上的rom里的,此时没有任何os,因此,无论是dos调用还是winapi都无法使用,只能使用bios调用,或者直接对口操作。
就是如何关闭atx电源? |
|
地板#
发布于:2003-12-25 09:51
可以直接对芯片操作,完成关机。Intel的芯片是对0cf9h操作,具体参考ich的spec
|
|
地下室#
发布于:2003-12-25 15:33
可以直接对芯片操作,完成关机。Intel的芯片是对0cf9h操作,具体参考ich的spec 我想也只有这么做了。 您说的spce在哪里可以下载到? |
|
5楼#
发布于:2004-01-08 10:32
如果你的ROM本身不是系统BIOS,int15还是可以调用的.因为BIOS运行POST段之后,这些runtime代码就已经准备好了.我想你的ROM上的代码或许是PNP ROM,由BIOS叫用的.这个时候已经可以叫用INT 15了.
端口操作也是可行,按ACPI规范,电源管理的偏移地址04/05就是控制系统电源状态可为s1-s5,它的基地址就视不同的BIOS不同,大多喜欢用0x400或0x4000 |
|
|
6楼#
发布于:2004-01-08 11:35
如果你的ROM本身不是系统BIOS,int15还是可以调用的.因为BIOS运行POST段之后,这些runtime代码就已经准备好了.我想你的ROM上的代码或许是PNP ROM,由BIOS叫用的.这个时候已经可以叫用INT 15了. 我的rom是类型网卡上的rom,我认为应该可以使用int 15了。 不过事实上它的确没有起到关机的作用。 我看到bios区域中看到472h设置5678h会关机,可是不清楚怎么操作。能否指点一下? 您后面说的地址的04/05偏移地址可以控制s1-s5状态?我试试看!多谢! 我以前看过这样的一个程序: mov ax,3c05h mov dx,0404h out dx,ax 我想0404一定是偏移地址为4了,那么3c05是什么呢? |
|
7楼#
发布于:2004-01-08 20:05
终于让我搞定了!
:D |
|
8楼#
发布于:2004-01-09 13:00
如果你的ROM本身不是系统BIOS,int15还是可以调用的.因为BIOS运行POST段之后,这些runtime代码就已经准备好了.我想你的ROM上的代码或许是PNP ROM,由BIOS叫用的.这个时候已经可以叫用INT 15了. To:minisoft 我怀疑在unix1998调用int15h的时候,apm模块还没有执行,这样,就算是runtime中的int15h可以用,也不能调用apm中的function来完成关机动作。 |
|
9楼#
发布于:2004-01-09 13:18
[quote]如果你的ROM本身不是系统BIOS,int15还是可以调用的.因为BIOS运行POST段之后,这些runtime代码就已经准备好了.我想你的ROM上的代码或许是PNP ROM,由BIOS叫用的.这个时候已经可以叫用INT 15了. 我的rom是类型网卡上的rom,我认为应该可以使用int 15了。 不过事实上它的确没有起到关机的作用。 我看到bios区域中看到472h设置5678h会关机,可是不清楚怎么操作。能否指点一下? 您后面说的地址的04/05偏移地址可以控制s1-s5状态?我试试看!多谢! 我以前看过这样的一个程序: mov ax,3c05h mov dx,0404h out dx,ax 我想0404一定是偏移地址为4了,那么3c05是什么呢? [/quote] To:unix1998 我想知道你的bios是ami还是award的? 另外,你提到的向40:72h写5678,我察看了helppc,上面的解释是:system suspend,也就是说,这不是关机指令,而是一条让计算机进入suspend状态的指令。而且,这还不是一条所有系统都支持的指令,我在我的机子上试验,结果没有任何用处。不建议你使用这条指令。 其实,我建议你还是按照minisoft大侠的说法,使用acpi定义的关机吧,或者apm下的int15h也可以啊。 上面你的上面那小段程序的推断是正确的,404h是PMBase+04h的地址(这里PMBase是400h),至于3c05是什么,我给你发一段小文字,你就知道了。下面是ich5的datasheet上关于PMBase+04-07h的定义: PM1_CNT―Power Management 1 Control I/O Address: PMBASE + 04h (ACPI PM1a_CNT_BLK) Attribute: R/W, WO Default Value: 0000h Size: 32-bit Lockable: No Usage: ACPI or Legacy Power Well: Bits 0 |
|
10楼#
发布于:2004-01-19 16:48
To DavidWang jimei:
ICH3 的NOTEBOOK 也能以这样的方式进Suspend 吗? |
|
11楼#
发布于:2004-01-19 16:52
To DavidWang jimei:
类似你这段小文字的ICH3 DATASHEET能给我一份吗? 非常感谢!! rajie@sina.com |
|
12楼#
发布于:2004-01-30 17:30
To DavidWang jimei: 只能是在dos下才可以用,在acpi下是不可以的。 |
|
13楼#
发布于:2004-01-30 17:32
To DavidWang jimei: 这样的datasheet在intel网站可以下载,不妨去看看。 intel的网站内容非常丰富,只是不好找,如果在软件和硬件行业工作,最好把intel,ms,ibm的网站逛熟。 |
|
14楼#
发布于:2004-01-30 19:06
真的很谢谢你!!!
硬件SPEC很容易找到像你这段就比较低难了! 你以什么关键字查找到的呢? |
|
15楼#
发布于:2004-01-30 19:38
不是搜索的,是自己找的。
很容易就可以找到啊。 进入intel网站,在Product中选择chipset,选择845等芯片,在网叶的右边就可以看到ich4的spec。 |
|
16楼#
发布于:2004-01-31 09:21
我这样找到很多SPEC都没有你讲的那一段,或者说没有你的那么详细啊?
|
|
17楼#
发布于:2004-01-31 09:27
我这样找到很多SPEC都没有你讲的那一段,或者说没有你的那么详细啊? 我给你一个网址,是ich5的下载地址,去看看。 http://www.intel.com/design/chipsets/datashts/252516.htm |
|
18楼#
发布于:2004-01-31 11:37
谢谢你!
不过这个SPEC偏硬。我想了解一下软件参数设置方面的。 打扰你这么久真不好意思! |
|
19楼#
发布于:2004-01-31 15:58
谢谢你! 这不是偏硬的spec,这个就是给软件工程师用的。 你想找什么信息,也许我可以帮你。 你太客气了,大家都是朋友,相互帮助是应该的。没有交流怎么能看到自己的不足呢?你说呢? |
|
上一页
下一页