unix1998
驱动老牛
驱动老牛
  • 注册日期2002-05-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:5281回复:28

如何实现用bios调用的关机?

楼主#
更多 发布于:2003-12-24 09:24
不要告诉我
mov ax,5307
...
int 15
这个在dos下可以,
bios中是不能用的,哪位提示一下呀?

最新喜欢:

changjtchangj...
DavidWang_jimei
驱动牛犊
驱动牛犊
  • 注册日期2003-09-13
  • 最后登录2005-07-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-12-24 16:10
不要告诉我
mov ax,5307
...
int 15
这个在dos下可以,
bios中是不能用的,哪位提示一下呀?

我不明白什么叫:bios中不能用,我想你的意思是在acpi模式的windows下不能用吧。调用winapi吧,ExitWindowsEx( EWX_SHUTDOWN, 0)。再不行的话,写程序关atx电源:)
unix1998
驱动老牛
驱动老牛
  • 注册日期2002-05-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-12-25 08:27
感谢回复,我的意思是说程序写在卡上的rom里的,此时没有任何os,因此,无论是dos调用还是winapi都无法使用,只能使用bios调用,或者直接对口操作。
就是如何关闭atx电源?
DavidWang_jimei
驱动牛犊
驱动牛犊
  • 注册日期2003-09-13
  • 最后登录2005-07-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-12-25 09:51
可以直接对芯片操作,完成关机。Intel的芯片是对0cf9h操作,具体参考ich的spec
unix1998
驱动老牛
驱动老牛
  • 注册日期2002-05-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-12-25 15:33
可以直接对芯片操作,完成关机。Intel的芯片是对0cf9h操作,具体参考ich的spec

我想也只有这么做了。
您说的spce在哪里可以下载到?
minsoft
驱动小牛
驱动小牛
  • 注册日期2001-07-30
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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
少了e,就少了全部
unix1998
驱动老牛
驱动老牛
  • 注册日期2002-05-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-01-08 11:35
如果你的ROM本身不是系统BIOS,int15还是可以调用的.因为BIOS运行POST段之后,这些runtime代码就已经准备好了.我想你的ROM上的代码或许是PNP ROM,由BIOS叫用的.这个时候已经可以叫用INT 15了.
端口操作也是可行,按ACPI规范,电源管理的偏移地址04/05就是控制系统电源状态可为s1-s5,它的基地址就视不同的BIOS不同,大多喜欢用0x400或0x4000

我的rom是类型网卡上的rom,我认为应该可以使用int 15了。
不过事实上它的确没有起到关机的作用。
我看到bios区域中看到472h设置5678h会关机,可是不清楚怎么操作。能否指点一下?
您后面说的地址的04/05偏移地址可以控制s1-s5状态?我试试看!多谢!
我以前看过这样的一个程序:
mov ax,3c05h
mov dx,0404h
out dx,ax
我想0404一定是偏移地址为4了,那么3c05是什么呢?
unix1998
驱动老牛
驱动老牛
  • 注册日期2002-05-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-01-08 20:05
终于让我搞定了!
 :D
DavidWang_jimei
驱动牛犊
驱动牛犊
  • 注册日期2003-09-13
  • 最后登录2005-07-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-01-09 13:00
如果你的ROM本身不是系统BIOS,int15还是可以调用的.因为BIOS运行POST段之后,这些runtime代码就已经准备好了.我想你的ROM上的代码或许是PNP ROM,由BIOS叫用的.这个时候已经可以叫用INT 15了.
端口操作也是可行,按ACPI规范,电源管理的偏移地址04/05就是控制系统电源状态可为s1-s5,它的基地址就视不同的BIOS不同,大多喜欢用0x400或0x4000

To:minisoft
我怀疑在unix1998调用int15h的时候,apm模块还没有执行,这样,就算是runtime中的int15h可以用,也不能调用apm中的function来完成关机动作。
DavidWang_jimei
驱动牛犊
驱动牛犊
  • 注册日期2003-09-13
  • 最后登录2005-07-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-01-09 13:18
[quote]如果你的ROM本身不是系统BIOS,int15还是可以调用的.因为BIOS运行POST段之后,这些runtime代码就已经准备好了.我想你的ROM上的代码或许是PNP ROM,由BIOS叫用的.这个时候已经可以叫用INT 15了.
端口操作也是可行,按ACPI规范,电源管理的偏移地址04/05就是控制系统电源状态可为s1-s5,它的基地址就视不同的BIOS不同,大多喜欢用0x400或0x4000

我的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
rajie
驱动牛犊
驱动牛犊
  • 注册日期2002-08-24
  • 最后登录2009-06-26
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-01-19 16:48
To DavidWang jimei:
   ICH3 的NOTEBOOK 也能以这样的方式进Suspend 吗?
rajie
驱动牛犊
驱动牛犊
  • 注册日期2002-08-24
  • 最后登录2009-06-26
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-01-19 16:52
To DavidWang jimei:
  类似你这段小文字的ICH3 DATASHEET能给我一份吗?
非常感谢!!
  rajie@sina.com
DavidWang_jimei
驱动牛犊
驱动牛犊
  • 注册日期2003-09-13
  • 最后登录2005-07-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-01-30 17:30
To DavidWang jimei:
   ICH3 的NOTEBOOK 也能以这样的方式进Suspend 吗?

只能是在dos下才可以用,在acpi下是不可以的。
DavidWang_jimei
驱动牛犊
驱动牛犊
  • 注册日期2003-09-13
  • 最后登录2005-07-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2004-01-30 17:32
To DavidWang jimei:
  类似你这段小文字的ICH3 DATASHEET能给我一份吗?
非常感谢!!
  rajie@sina.com

这样的datasheet在intel网站可以下载,不妨去看看。
intel的网站内容非常丰富,只是不好找,如果在软件和硬件行业工作,最好把intel,ms,ibm的网站逛熟。
rajie
驱动牛犊
驱动牛犊
  • 注册日期2002-08-24
  • 最后登录2009-06-26
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2004-01-30 19:06
真的很谢谢你!!!
硬件SPEC很容易找到像你这段就比较低难了!
你以什么关键字查找到的呢?
DavidWang_jimei
驱动牛犊
驱动牛犊
  • 注册日期2003-09-13
  • 最后登录2005-07-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2004-01-30 19:38
不是搜索的,是自己找的。
很容易就可以找到啊。
进入intel网站,在Product中选择chipset,选择845等芯片,在网叶的右边就可以看到ich4的spec。
rajie
驱动牛犊
驱动牛犊
  • 注册日期2002-08-24
  • 最后登录2009-06-26
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2004-01-31 09:21
我这样找到很多SPEC都没有你讲的那一段,或者说没有你的那么详细啊?
DavidWang_jimei
驱动牛犊
驱动牛犊
  • 注册日期2003-09-13
  • 最后登录2005-07-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2004-01-31 09:27
我这样找到很多SPEC都没有你讲的那一段,或者说没有你的那么详细啊?

我给你一个网址,是ich5的下载地址,去看看。
http://www.intel.com/design/chipsets/datashts/252516.htm
rajie
驱动牛犊
驱动牛犊
  • 注册日期2002-08-24
  • 最后登录2009-06-26
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2004-01-31 11:37
谢谢你!
    不过这个SPEC偏硬。我想了解一下软件参数设置方面的。
    打扰你这么久真不好意思!
DavidWang_jimei
驱动牛犊
驱动牛犊
  • 注册日期2003-09-13
  • 最后登录2005-07-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2004-01-31 15:58
谢谢你!
    不过这个SPEC偏硬。我想了解一下软件参数设置方面的。
    打扰你这么久真不好意思!

这不是偏硬的spec,这个就是给软件工程师用的。
你想找什么信息,也许我可以帮你。
你太客气了,大家都是朋友,相互帮助是应该的。没有交流怎么能看到自己的不足呢?你说呢?
上一页
游客

返回顶部