![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-10-31 19:16 |
共 47,815 主题排行 / 349,930 发帖 / 今日 0 篇 / 48,290 会员排行 |
| DOS开发编程 & 发展交流 (开发室) » 关机的底层实现?? |
| 可打印版本 3,808 / 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 |