Board logo

标题: DOS下关机的源程序(汇编) [打印本页]

作者: ko20010214     时间: 2003-6-30 00:00    标题: DOS下关机的源程序(汇编)

.Model tiny
.Code
        Org 100h
Start:

        mov  ax,5300h
        xor  bx,bx
        int  15h         ; Check APM install
        jnb  @@1
        jmp  ExitSys

@@1:
        cmp  bx,504Dh   ; sign
        jz   @@2
        jmp  ExitSys

@@2:
        cmp  ax,101h    ; ver 1.1
        jnb  @@3
        jmp  ExitSys

@@3:
        push cx
        mov  Version,ax
        mov  ax,5400h
        xor  bx,bx
        int  2Fh        ; power.exe install check?
        xor  ax,ax
        cmp  bx,504Dh
        jnz  @@4
        push ax         ; power.exe version
        mov  ax,5401h
        mov  bx,100h
        int  2Fh        ; set management enable
        pop  ax
        jb   @@4
        inc  ax
@@4:
        pop  cx
        push ax
        push bx
        push cx
        mov  ax,5301h
        xor  bx,bx
        int  15h        ; real-mode interface
        mov  ax,530Eh
        xor  bx,bx
        mov  cx,101h
        int  15h        ; driver version
        mov  ax,530Fh
        mov  bx,1
        mov  cx,bx
        int  15h        ; engage power management
        mov  ax,5308h
        mov  bx,1
        mov  cx,bx
        int  15h        ; enable power mamagement
        mov  ax,5307h
        mov  bx,1
        mov  cx,3
        int  15h        ; power off
        pop  cx         ; support device

        test cl,8       ; BIOS power management disable?
        jz   @@5
        push cx
        mov  ax,5308h
        mov  bx,1
        xor  cx,cx
        int  15h        ; system stand-by
        pop  cx

@@5:
        test cl,10h     ; BIOS power disengaged
        jz   @@6
        mov  ax,530Fh
        mov  bx,1
        xor  cx,cx
        int  15h        ; disengage power management

@@6:
        mov  ax,5304h
        xor  bx,bx
        int  15h        ; disconnect interface
        pop  bx
        pop  ax
        test ax,ax
        jz   ExitSys
        mov  ax,5401h
        mov  bl,bh
        mov  bh,1
        int  2Fh        ; set APM firmware power manager enable

ExitSys:

        mov  ax,4c00h
        int  21h

Version DW ?

        End Start

作者: 狐狸     时间: 2003-6-30 00:00
我试试看行不行。:)
作者: bgn     时间: 2003-7-2 00:00

谢谢你了,我会珍惜的。

作者: maple     时间: 2003-7-24 00:00
THANK YOU!
作者: qingwashaoye     时间: 2017-2-2 21:47
save,thank you