中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-10-31 21:23
共 47,815 主题排行 / 349,930 发帖 / 今日 0 篇 / 48,290 会员排行
DOS开发编程 & 发展交流 (开发室) » 关机的底层实现??
可打印版本  3,820 / 16
第1楼 ayw 发表于 2007-01-13 23:51
新手上路 发帖 4 积分 12
关机的底层实现??
想知道关机的底层实现。。。。


另外:我仿照网上的一个帖子在win下编译freedos
怎么老出现一个错误?
F:\source\kernel>buildall.bat

Process UTILS ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Compilation was aborted!
The system cannot find the batch label specified - daswarwohlnix
第2楼 gezi322 发表于 2007-01-16 22:01
初级用户 发帖 12 积分 27
Mov dx,64h
Mov ax,0feh
OUT dx,ax
第3楼 ayw 发表于 2007-01-20 02:16
新手上路 发帖 4 积分 12
怎么调试的
保存为com格式的然后运行么?
我怎么没调试成功?
第4楼 darkradx 发表于 2007-01-21 09:33
高级用户 发帖 420 积分 972
那是KBC重起的代码
第5楼 defrag 发表于 2007-02-12 03:35
中级用户 发帖 570 积分 456
他好象也弄错了,是
mov al,feh
out 64h,al
不过关机是
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
第6楼 defrag 发表于 2007-02-12 04:01
中级用户 发帖 570 积分 456
code segment
assume cs:code,ds:code
org 100h
start:
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
cli
mov ds,0
mov [6],cs
mov [4],offset halt
halt:
JMP halt
code ends
end start
;关不掉就死机
第7楼 dsysps 发表于 2007-03-15 21:51
初级用户 发帖 34 积分 98
void ReBootSys()
{
asm push 0xffff
asm push 0x0000
asm retf
}
第8楼 ons511 发表于 2007-03-16 03:22
新手上路 发帖 1 积分 2
关机也好重新启动也好,目前论坛中的方法并不是万能的。

重启通常的方法是两种:
1是利用缓冲区溢出的方法;2是使用INT19.
但对于特殊的BIOS或者主板并不起作用。
第9楼 henrya2 发表于 2007-03-19 07:27
中级用户 发帖 171 积分 486
还有一种简单重启方法
直接在DEBUG
-a
jmp FFFF:0
-g

如果用了SMARTDRV等一些磁盘缓冲软件,可能会导致文件丢失
第10楼 henrya2 发表于 2007-03-19 07:35
中级用户 发帖 171 积分 486
void ReBootSys()
{
asm push 0xffff
asm push 0x0000
asm retf
}

其实是,把return address替换成了FFFF:0
第11楼 henrya2 发表于 2007-03-19 07:47
中级用户 发帖 171 积分 486
但不是缓冲区溢出(有点像),原来的return address还在堆栈里(在新压入的return address后面)
第12楼 wzsunlight 发表于 2007-03-22 17:37
初级用户 发帖 52 积分 107
关机?重新启动?
以上是重新启动
第13楼 wzsunlight 发表于 2007-03-29 22:37
初级用户 发帖 52 积分 107
用
win /z
可以关机

但不知是否喜欢
第14楼 CrispH 发表于 2007-03-29 23:14
初级用户 发帖 49 积分 108
向 PMBASE + 05h 的地方丢 3C h
第15楼 darkradx 发表于 2007-05-08 03:01
高级用户 发帖 420 积分 972
楼上兄台是做BIOS Porting的?牛啊
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023