• 当前位置:首页>>汇编语言>>汇编语言实例分析>>FASTREBOOT V1.0
  • FASTREBOOT V1.0
  •    内存驻留键盘激活的快速复位程序,按 Ctrl-F10 就可重启动DOS.

    源码:
    code segment
    assume cs:code,ds:code
    org 100h
    begin:jmp init
    zd db 'FASTREBOOT V1.0 ZDsoft 1995',0dh,0ah,'$'
    mes db 'Press CTRL-F10 to fastreboot!',0dh,0ah,'$'
    mes1 db 'Already Install!$'
    int9 dd ?
    mark db 'ZD'
    new_int proc far
    sti
    push ax
    push es
    xor ax,ax
    mov es,ax
    in al,60h
    test al,80h
    jnz exit1
    test byte ptr es:[0417h],100b
    jz exit1
    cmp al,68
    jz ok
    jmp exit1
    ok:
    push ax
    push bx
    push cx
    push dx
    push bp
    push di
    push si
    push ds

    push cs
    pop ds
    in al,61h
    push ax
    or al,80h
    out 61h,al
    pop ax
    out 61h,al
    mov al,20h
    out 20h,al
    call my

    pop ds
    pop si
    pop di
    pop bp
    pop dx
    pop cx
    pop bx
    pop ax

    exit1:
    pop es
    pop ax
    jmp cs:int9
    new_int endp
    my proc near
    int 19h
    ret
    my endp

    init :
    cli
    push cs
    pop ds

    mov dx,offset zd
    mov ah,9
    int 21h

    mov ax,3509h
    int 21h
    cmp word ptr es:[bx-2],'DZ'
    jnz install
    mov dx,offset mes1
    mov ah,9
    int 21h
    mov ah,4ch
    int 21h

    install:
    mov di,offset int9
    mov [di],bx
    mov [di+2],es
    push cs
    pop ds
    mov dx,offset new_int
    mov ax,2509h
    int 21h
    sti
    mov dx,offset mes
    mov ah,9
    int 21h

    mov dx,offset init
    int 27h
    code ends
    end begin
    

     

    [1]

  • 上一篇:给程序加个图标
    下一篇:专截320*200的截画程序