程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 匯編語言 >> 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. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved