|
ayw
新手上路

积分 12
发帖 4
注册 2006-11-17
状态 离线
|
『楼 主』:
关机的底层实现??
使用 LLM 解释/回答一下
想知道关机的底层实现。。。。
另外:我仿照网上的一个帖子在win下编译freedos
怎么老出现一个错误?
F:\source\kernel>buildall.bat
Process UTILS ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Compilation was aborted!
The system cannot find the batch label specified - daswarwohlnix
|
|
2007-1-13 23:51 |
|
|
gezi322
初级用户
 
积分 27
发帖 12
注册 2006-12-5
状态 离线
|
|
2007-1-16 22:01 |
|
|
ayw
新手上路

积分 12
发帖 4
注册 2006-11-17
状态 离线
|
|
2007-1-20 02:16 |
|
|
darkradx
高级用户
   
积分 972
发帖 420
注册 2004-5-16
状态 离线
|
|
2007-1-21 09:33 |
|
|
defrag
中级用户
   痴迷DOS者
积分 456
发帖 570
注册 2004-10-9
状态 离线
|
『第 5 楼』:
使用 LLM 解释/回答一下
他好象也弄错了,是
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
|

DOS不是万能的,没有DOS是万万不能的
自古系统谁无死?留取胆清照汗青!uploadImages/20035317345478982.png |
|
2007-2-12 03:35 |
|
|
defrag
中级用户
   痴迷DOS者
积分 456
发帖 570
注册 2004-10-9
状态 离线
|
『第 6 楼』:
使用 LLM 解释/回答一下
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
;关不掉就死机
|

DOS不是万能的,没有DOS是万万不能的
自古系统谁无死?留取胆清照汗青!uploadImages/20035317345478982.png |
|
2007-2-12 04:01 |
|
|
dsysps
初级用户
 
积分 98
发帖 34
注册 2006-11-3
状态 离线
|
『第 7 楼』:
使用 LLM 解释/回答一下
void ReBootSys()
{
asm push 0xffff
asm push 0x0000
asm retf
}
|
|
2007-3-15 21:51 |
|
|
ons511
新手上路

积分 2
发帖 1
注册 2007-3-14
状态 离线
|
『第 8 楼』:
使用 LLM 解释/回答一下
关机也好重新启动也好,目前论坛中的方法并不是万能的。
重启通常的方法是两种:
1是利用缓冲区溢出的方法;2是使用INT19.
但对于特殊的BIOS或者主板并不起作用。
|
|
2007-3-16 03:22 |
|
|
henrya2
中级用户
  
积分 486
发帖 171
注册 2006-2-12
状态 离线
|
『第 9 楼』:
使用 LLM 解释/回答一下
还有一种简单重启方法
直接在DEBUG
-a
jmp FFFF:0
-g
如果用了SMARTDRV等一些磁盘缓冲软件,可能会导致文件丢失
|

Those who do not study the past are condemned to repeat it |
|
2007-3-19 07:27 |
|
|
henrya2
中级用户
  
积分 486
发帖 171
注册 2006-2-12
状态 离线
|
『第 10 楼』:
使用 LLM 解释/回答一下
void ReBootSys()
{
asm push 0xffff
asm push 0x0000
asm retf
}
其实是,把return address替换成了FFFF:0
|

Those who do not study the past are condemned to repeat it |
|
2007-3-19 07:35 |
|
|
henrya2
中级用户
  
积分 486
发帖 171
注册 2006-2-12
状态 离线
|
『第 11 楼』:
使用 LLM 解释/回答一下
但不是缓冲区溢出(有点像),原来的return address还在堆栈里(在新压入的return address后面)
|

Those who do not study the past are condemned to repeat it |
|
2007-3-19 07:47 |
|
|
wzsunlight
初级用户
 
积分 107
发帖 52
注册 2007-3-10
状态 离线
|
|
2007-3-22 17:37 |
|
|
wzsunlight
初级用户
 
积分 107
发帖 52
注册 2007-3-10
状态 离线
|
|
2007-3-29 22:37 |
|
|
CrispH
初级用户
 
积分 108
发帖 49
注册 2007-3-9
状态 离线
|
|
2007-3-29 23:14 |
|
|
darkradx
高级用户
   
积分 972
发帖 420
注册 2004-5-16
状态 离线
|
|
2007-5-8 03:01 |
|