![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-10-31 07:19 |
共 47,815 主题排行 / 349,930 发帖 / 今日 0 篇 / 48,290 会员排行 |
| DOS开发编程 & 发展交流 (开发室) » DOS下软关机程序的源代码 |
| 可打印版本 6,338 / 25 |
| 第1楼 Wengier | 发表于 2002-11-28 00:00 |
| 系统支持 发帖 10,521 积分 27,736 | |
|
DOS下软关机程序的源代码 DOS下的软关机程序有不少,我知道的就有SHUTDOWN、POWEROFF、OFF、PLOP等等。这儿有PLOP的源代码:
http://plop.at/files/SHUTDOWN.ASM |
|
| 第2楼 herons | 发表于 2002-11-28 00:00 |
| 初级用户 发帖 6 积分 126 | |
|
用这么麻烦吗?
.model tiny .286 .code org 100h mov ax, 5301h ;APM v1.1 or v1.2 BIOS switches to APM v1.0 mov bx,0 ;compatibility mode int 15h ; mov ax, 5307h ;TURN OFF SYSTEM mov bx, 1 mov cx, 3 int 15h ;mov ax,4c00h ;int 21h end |
|
| 第3楼 LiveOnLove | 发表于 2002-11-29 00:00 |
| 中级用户 发帖 161 积分 493 来自 ZHCN | |
|
在那时只知道WIN可以自动关机啊。后来分析了一个网卡的TEST程序,其中有一个叫APM.COM的程序,就是和二楼的差不多,还可以软关机显示器,可以看到显示器的POWER LED在闪烁。
[ Last edited by LiveOnLove on 2016-7-14 at 13:02 ] |
|
| 第4楼 copy114 | 发表于 2002-11-30 00:00 |
| 初级用户 发帖 37 积分 229 | |
|
哦!有了这些源代码,用什么软件把它编译成EXE啊?
|
|
| 第5楼 Wengier | 发表于 2002-11-30 00:00 |
| 系统支持 发帖 10,521 积分 27,736 | |
|
最简单的是用DEBUG编成EXE文件,或者正规的话用MASM等编译。
|
|
| 第6楼 LiveOnLove | 发表于 2002-12-01 00:00 |
| 中级用户 发帖 161 积分 493 来自 ZHCN | |
|
是用DEBUG编成COM文件吧?
例如: C:\windows\>debug -A(''-''是DEBUG的提示符号,A是DEBUG的汇编命令,输入A后回车) XXXX:0100 mov ax, 5301(XXXX:0100是内存的代码段(随机的)和DEBUG自动给出的偏移,以下略) mov bx,0 int 15 mov ax, 5307 mov bx, 1 mov cx, 3 int 15 mov ax,4c00 int 21 -rcx 25(CX寄存器表示文件长度,这里输入的比实际大些) -n POWEROFF.com(给文件取名) -w(写入文件) -Q(退出DEBUG) Ok,运行POWEROFF.com就可以看到效果了 |
|
| 第7楼 worrk | 发表于 2002-12-10 00:00 |
| 初级用户 发帖 7 积分 124 | |
|
呵,谢谢了,我看的很清楚!
|
|
| 第8楼 柳飘逸 | 发表于 2002-12-14 00:00 |
| 初级用户 发帖 11 积分 119 | |
|
能不能说一下用MASM的操作
|
|
| 第9楼 superdos | 发表于 2003-04-04 00:00 |
| 中级用户 发帖 43 积分 272 | |
|
mov bx,0
int 15 mov ax, 5307 mov bx, 1 mov cx, 3 int 15 mov ax,4c00 int 21 这些是什么意思? |
|
| 第10楼 Wengier | 发表于 2003-04-04 00:00 |
| 系统支持 发帖 10,521 积分 27,736 | |
|
前面是调用INT15中断以执行关机操作,后面是退出。
|
|
| 第11楼 Lydong | 发表于 2003-04-07 00:00 |
| 元老会员 发帖 407 积分 1,468 来自 广州 | |
|
软关机和重新启动的程序已经有这么多了,可是还没有可以直接重新启动DOS的程序,下面这个程序:
C>DEBUG↓ -A↓ XXXX:0100 XOR AX,AX↓ XXXX:0102 INT 19↓ XXXX:0104 ↓ -N,CQ.COM↓ -RCX↓ :4↓ -W↓ -Q↓ 和 Wengier 写的: MOV AX,0 INT 19 都不能顺利重启DOS.都是刚出现启动画面时就死机了,请问谁有办法呢? |
|
| 第12楼 Lydong | 发表于 2003-04-08 00:00 |
| 元老会员 发帖 407 积分 1,468 来自 广州 | |
|
找到了一个重新启动计算机的软件,有冷启动,热启动,系统启动等多个功能,其中的系统启动菜单可以顺利重启DOS.
打开附件 |
|
| 第13楼 iwons | 发表于 2003-04-10 00:00 |
| 初级用户 发帖 5 积分 114 | |
|
97就想在DOS下编写一个程序实现软关机功能......那时请教了很多老师都不知道怎样编写...
现在,呵呵..........终于知道了,却是在5年之后 |
|
| 第14楼 Wengier | 发表于 2003-04-10 00:00 |
| 系统支持 发帖 10,521 积分 27,736 | |
|
那个RE-BOOT软件我也有,不过系统启动(即重启OS)那个功能在我的两台电脑上都不能用,在第三台旧电脑上虽能用,但却发现并不是很稳定.
|
|
| 第15楼 Lydong | 发表于 2003-04-10 00:00 |
| 元老会员 发帖 407 积分 1,468 来自 广州 | |
|
我这里都能用,但稳定性也不是很好!
|
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |