|
ayw
新手上路
积分 12
发帖 4
注册 2006-11-17
状态 离线
|
『楼 主』:
关机的底层实现??
想知道关机的底层实现。。。。
另外:我仿照网上的一个帖子在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
状态 离线
|
『第
2 楼』:
Mov dx,64h
Mov ax,0feh
OUT dx,ax
|
|
2007-1-16 22:01 |
|
|
ayw
新手上路
积分 12
发帖 4
注册 2006-11-17
状态 离线
|
『第
3 楼』:
怎么调试的
保存为com格式的然后运行么?
我怎么没调试成功?
|
|
2007-1-20 02:16 |
|
|
darkradx
高级用户
积分 972
发帖 420
注册 2004-5-16
状态 离线
|
『第
4 楼』:
那是KBC重起的代码
|
平生进退如飙风 |
|
2007-1-21 09:33 |
|
|
defrag
中级用户
痴迷DOS者
积分 456
发帖 570
注册 2004-10-9
状态 离线
|
『第
5 楼』:
他好象也弄错了,是
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是万万不能的
自古系统谁无死?留取胆清照汗青![upload=bmp]uploadImages/20035317345478982.png[/upload] |
|
2007-2-12 03:35 |
|
|
defrag
中级用户
痴迷DOS者
积分 456
发帖 570
注册 2004-10-9
状态 离线
|
『第
6 楼』:
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是万万不能的
自古系统谁无死?留取胆清照汗青![upload=bmp]uploadImages/20035317345478982.png[/upload] |
|
2007-2-12 04:01 |
|
|
dsysps
初级用户
积分 98
发帖 34
注册 2006-11-3
状态 离线
|
『第
7 楼』:
void ReBootSys()
{
asm push 0xffff
asm push 0x0000
asm retf
}
|
|
2007-3-15 21:51 |
|
|
ons511
新手上路
积分 2
发帖 1
注册 2007-3-14
状态 离线
|
『第
8 楼』:
关机也好重新启动也好,目前论坛中的方法并不是万能的。
重启通常的方法是两种:
1是利用缓冲区溢出的方法;2是使用INT19.
但对于特殊的BIOS或者主板并不起作用。
|
|
2007-3-16 03:22 |
|
|
henrya2
中级用户
积分 486
发帖 171
注册 2006-2-12
状态 离线
|
『第
9 楼』:
还有一种简单重启方法
直接在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 楼』:
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 楼』:
但不是缓冲区溢出(有点像),原来的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
状态 离线
|
『第
12 楼』:
关机?重新启动?
以上是重新启动
|
|
2007-3-22 17:37 |
|
|
wzsunlight
初级用户
积分 107
发帖 52
注册 2007-3-10
状态 离线
|
『第
13 楼』:
用
win /z
可以关机
但不知是否喜欢
|
|
2007-3-29 22:37 |
|
|
CrispH
初级用户
积分 108
发帖 49
注册 2007-3-9
状态 离线
|
『第
14 楼』:
向 PMBASE + 05h 的地方丢 3C h
|
|
2007-3-29 23:14 |
|
|
darkradx
高级用户
积分 972
发帖 420
注册 2004-5-16
状态 离线
|
『第
15 楼』:
楼上兄台是做BIOS Porting的?牛啊
|
平生进退如飙风 |
|
2007-5-8 03:01 |
|