|
▄︻┻┳═
初级用户
积分 132
发帖 6
注册 2004-5-17
状态 离线
|
『第
16 楼』:
shutdown -s 就行了
想查看shutdown的另外一些其它命令键入shutdown回车就行了
|
|
2004-5-20 00:00 |
|
|
dbback
初级用户
积分 189
发帖 22
注册 2004-5-25
状态 离线
|
|
2004-5-25 00:00 |
|
|
kaede
初级用户
积分 117
发帖 4
注册 2004-5-25
状态 离线
|
『第
18 楼』:
?!这也可以,我还以为是POWER呢
|
|
2004-5-26 00:00 |
|
|
shawell518
中级用户
积分 310
发帖 97
注册 2004-5-26
状态 离线
|
|
2004-5-27 00:00 |
|
|
Kinglion
铂金会员
痴迷DOS者
积分 5792
发帖 1921
注册 2003-6-20 来自 金獅電腦軟體工作室
状态 离线
|
『第
20 楼』:
;*****************************;
; ;
; Code by BiTByte ;
; [Elmar Hanlhofer] ;
; ;
;-----------------------------;
; ;
; SHUTDOWN PC IN DOS ;
; ;
; - Sourcecode is FREE - ;
; ;
;-----------------------------;
; ;
; assembling: ;
; ;
; tasm shutdown ;
; tlink /t shutdown ;
; ;
;-----------------------------;
; ;
; http://plop.at ;
; ;
;*****************************;
assume cs:code,ds:code
assume es:nothing,ss:nothing
code segment
.286
org 100h
start:
push cs
pop ds
call ProcessCommandline
cmp parameter,WRONGPARAMETER
jne @main1
mov ah,9
lea dx,WrongTxt
int 21h
jmp @exit
@main1:
cmp parameter,NOOUTPUT
je @main2
mov ah,9
lea dx,TitleTxt
int 21h
@main2:
cmp parameter,0
je @main30
cmp parameter,HELP
jne @main3
@main30:
mov ah,9
lea dx,HelpTxt
int 21h
int 20h
@main3:
mov ah,2ch
int 21h
call Print
@again:
mov countw,dh
cmp ignore,1
je @again2
mov ah,1
int 16h
jne @exit
@again2:
mov ah,2ch
int 21h
cmp countw,dh
je @again
call Print
cmp seconds,0
je @chknxt1
dec seconds
jmp @again
@chknxt1:
cmp minutes,0
je @nl
mov seconds,59
dec minutes
jmp @again
@nl:
call Poweroff
@exit:
xor ax,ax
int 16h
mov ah,9
lea dx,aborttxt
int 21h
int 20h
Print:
cmp parameter,NOOUTPUT
jne @prn
ret
@prn:
pusha
mov ax,seconds
lea di,outpsec
mov byte ptr ds:[di-1]," "
call integer
mov ax,minutes
lea di,outpmin
mov byte ptr ds:[di-1]," "
call integer
lea dx,outputtxt
mov ah,9
int 21h
popa
ret
Integer:
pusha
mov bx,10 ; set base (10 values)
mov byte ptr ds:[di],"0" ; write "0"
@decagain:
or ax,ax ; check if ax=0
je @decexit
xor dx,dx ; clear dx for div
div bx
add dl,"0" ; in dx=rest & add value "0"
mov ds:[di],dl ; write it
dec di ; sub pointer 1
jmp @decagain
@decexit:
popa
ret
ProcessCommandline:
pusha
mov si,81h
@proces1:
call RemoveSpaces
cmp byte ptr ds:[si],0dh
je @procescmdexit
cmp word ptr ds:[si],"m-"
jne @proces2
add si,2
call RemoveSpaces
call convert
mov minutes,ax
jmp @proces1
@proces2:
cmp word ptr ds:[si],"s-"
jne @proces3
add si,2
call RemoveSpaces
call convert
mov seconds,ax
jmp @proces1
@proces3:
cmp word ptr ds:[si],"h-"
jne @proces4
add si,2
mov parameter,HELP
call RemoveSpaces
cmp byte ptr ds:[si],0dh
je @procescmdexit
mov parameter,TOOMANYPARAMETERS
jmp @procescmdexit
@proces4:
cmp word ptr ds:[si],"n-"
jne @proces5
add si,2
call RemoveSpaces
mov parameter,NOOUTPUT
jmp @proces1
@proces5:
cmp word ptr ds:[si],"i-"
jne @proces6
add si,2
call RemoveSpaces
mov ignore,1
jmp @proces1
@proces6:
mov parameter,WRONGPARAMETER
@procescmdexit:
popa
ret
Convert:
mov parameter,OK
mov di,si
push si
call ToStringEnd
sub si,di
mov cx,si
pop si
push cx
call rinteger
pop cx
add si,cx
ret
RemoveSpaces:
cmp byte ptr ds:[si],20h
jne @removeexit
inc si
jmp removespaces
@removeexit:
ret
ToStringEnd:
cmp byte ptr ds:[si],20h
je @tostrexit
cmp byte ptr ds:[si],0dh
je @tostrexit
inc si
jmp tostringend
@tostrexit:
ret
rinteger:
push bx dx si
xor ax,ax
xor dx,dx
mov bx,10 ; set base 10
@rdecagain:
mul bx ; x10
mov dx,ax ; save old eax
lodsb ; load next value
cmp al,"0" ; value valid?
jb @rdecexit
cmp al,"9"
ja @rdecexit
and ax,0ffh
sub al,"0" ; yes -> sub ascii value
add dx,ax ; add new to old
mov ax,dx ; save new value
loop @rdecagain ; loop during the string
@rdecexit:
pop si dx bx
ret
PowerOff:
mov ax,5300h
mov bx,0
int 15h
push ax
mov ax,5308h
mov bx,1
mov cx,1
int 15h
mov ax,5308h
mov bx,0ffffh
mov cx,1
int 15h
mov ax,5301h
mov bx,0
int 15h
mov ax,530Eh
mov bx,0
pop cx
int 15h
mov ax,530Dh
mov bx,1
mov cx,1
int 15h
mov ax,530Fh
mov bx,1
mov cx,1
int 15h
mov ax,5307h
mov bx,1
mov cx,3
int 15h
int 20h
OK = 1
NOOUTPUT = 2
HELP = 3
TOOMANYPARAMETERS = 5
WRONGPARAMETER = 6
TitleTxt db "PLOP Shutdown program v1.1 Coded by Elmar Hanlhofer "
db "http://plop.at",0dh,0ah,0ah,"$"
WrongTxt db "Error: wrong parameter use -h for help",0dh,0ah,"$"
Param1Txt db "-m"
Param2Txt db "-s"
Param3Txt db "-h"
Param4Txt db "-n"
HelpTxt db "shutdown [-s value] [-m value] [-n] [-i] [-h]",0dh,0ah,0ah
db " turns the pc off"
db 0dh,0ah,0ah
db " -s seconds",0dh,0ah
db " -m minutes",0dh,0ah
db " -n no output",0dh,0ah
db " -i ignore key press to abort",0dh,0ah
db " -h help",0dh,0ah,"$"
OutputTxt db 0dh,"Shutdown in Minutes: "
outpmin db " Seconds: "
outpsec db " $"
ignore db 0
aborttxt db 0dh,"Abort ",0dh,0ah,"$"
parameter db 0
minutes dw 0
seconds dw 0
count db ?
countw db ?
code ends
end start
|
熟能生巧,巧能生精,一艺不精,终生无成,精亦求精,始有所成,臻于完美,永无止境!
金狮電腦軟體工作室愿竭诚为您服务!
QQ群:8393170(定期清理不发言者)
个人网站:http://www.520269.cn
电子邮件:doujiehui@vip.qq.com
微信公众号: doujiehui
|
|
2004-6-2 00:00 |
|
|
bush
银牌会员
积分 2165
发帖 730
注册 2004-4-21
状态 离线
|
『第
21 楼』:
DOS没有关机的“命令”, 哪些都是来自外部的程序……
|
|
2004-6-2 00:00 |
|
|
谈笑风生123
初级用户
积分 130
发帖 6
注册 2004-5-25
状态 离线
|
『第
22 楼』:
前几天在一个网站看到有一个“off.exe"的程序,不过忘记是哪个了?
|
请多多帮忙,谢谢谢谢! |
|
2004-6-2 00:00 |
|
|
如是大师
元老会员
步行的人
积分 9654
发帖 3351
注册 2003-3-11 来自 湖北
状态 离线
|
『第
23 楼』:
相关的关机命令很多的.甚至可以用debug程序在dos下实现..
|
弄花香满衣,掬水月在手。
明月鹭鸟飞, 芦花白马走。
我自一过后,野渡现横舟。
青云碧空在,净瓶水不流。
http://dos.e-stone.cn/guestbook/index.asp
======中國DOS聯盟=====
我的新网页http://rsds.7i24.com欢迎光顾 |
|
2004-6-2 00:00 |
|
|
chenjie20214
初级用户
积分 105
发帖 1
注册 2004-6-3 来自 贵州
状态 离线
|
『第
24 楼』:
很简单,拔掉电源,就是了,
还有我的机子,没坏,但是就是无法软关机,后来我就只好拔线了,还是P4的CPU呢?
|
花间一壶酒 |
|
2004-6-3 00:00 |
|
|