有关机的中断(int)吗?
我想问一下:
在windows里,我可以选关闭计算机来实现关机。
或者用exitwindowsex这个api函数来实现关机。
他们是怎么实现的呢?调用bios的中断?
在asm里,怎么实现呢?希望16位和32位的。
有这样一个中断吗?还是什么别的?
问题点数:111、回复次数:15Top
1 楼Leemaasn(小鸟)回复于 2001-07-30 08:52:21 得分 0
我等。下学期开学。来结帐!Top
2 楼Leemaasn(小鸟)回复于 2001-08-11 14:03:13 得分 0
no answer?Top
3 楼roy_hu(roy_hu)回复于 2001-08-12 13:54:28 得分 11
在windows底下用汇编编程,基本上vc等程序可以用的api都可以通过汇编来调用。可以参看一些windows汇编教程。
如果是自己实现关机的话,我想和那些电源管理的标准都有关系吧,我不知道到哪里查。
我是新手,请多关照!一点分都没了,给电吧。Top
4 楼succ(詹天佐)回复于 2001-08-13 02:45:45 得分 10
不同于Dos,在Win32下写汇编程序一般用不到自己调用某个软中断.直接用call调用系统提
供的API即可.在Masm中,'invoke',可以帮助你完成调用.例如,
invoke MessageBoxA, NULL, addr szString, addr szTitle, MB_OK
Top
5 楼wenhaoy(wenhaoy)回复于 2001-08-14 16:13:45 得分 10
有Top
6 楼Leemaasn(小鸟)回复于 2001-08-16 16:32:01 得分 0
各位大虾,能再详细点吗?
to : roy_hu(roy_hu) (2001-8-12 13:54:29) 得0分
我会给分的。(最少10分)Top
7 楼thickhead_cat(笨猫)回复于 2001-08-16 17:49:11 得分 50
用这段吧:
Mov AX, 5301h
Xor BX, BX
Int 15h
Mov AX, 530Eh
Xor BX, BX
Mov CX, 102h
Int 15h
Mov AX, 5307h
Mov BX, 1
Mov CX, 3
Int 15h
Top
8 楼roy_hu(roy_hu)回复于 2001-08-16 21:14:52 得分 0
我同意succ的看法。笨猫的办法我不清楚有没有用。Top
9 楼thickhead_cat(笨猫)回复于 2001-08-16 21:36:12 得分 0
支持ATX的主板bios提供的关机中断就是这个,大家不信的话,可以在dos下,用debug试一下Top
10 楼roy_hu(roy_hu)回复于 2001-08-18 11:37:50 得分 0
我找了一下,果然如笨猫所说。
就是在phoneix bios公司的主页上下载一个pdf文档,里面关于int 15就是apm的。Top
11 楼740609(蜘蛛)回复于 2001-08-19 15:11:36 得分 10
int 19h ;无参数Top
12 楼wenhaoy(wenhaoy)回复于 2001-08-19 16:00:43 得分 10
int 19h is rebootTop
13 楼xiaotiao()回复于 2001-08-19 22:30:07 得分 10
在Windows下面,int15h和int19h都已经被屏蔽了!
除了invoke exitwindowsex之外,根本就没有办法关机Top
14 楼thickhead_cat(笨猫)回复于 2001-08-20 12:04:19 得分 0
xiaotiao讲的有道理,int15是在dos下用的,在windows下还是应调用exitwindows,否则会说你执行非法指令。Top
15 楼Leemaasn(小鸟)回复于 2001-08-28 16:18:05 得分 0
谢谢大家,特别是笨猫大哥,
在此结帐送分了,,,,,Top




