DOS下鼠标驱动源程序
; The mouse driver source program under DOS
; Priority resides in high-end memory
; Drive the PS / 2 interface mouse
; Hardware environment:
; The CPU
; Processor: Intel Intel;
; Core: Coppermine 128 (0.18 micrometer)/step: C0 / core number:
1;
; Number of logical processors: 1
; Socket/Socket: Socket 370 (fc-pga/fc-pga2)
; Speed: 601 MHz (66 MHz x 9.0)/front-end bus: 66 MHz
; Primary data cache: 16 KB, 4-way, 32 byte lines
; Level 1 code cache: 16 KB, 4-way, 32 byte lines
; Level 2 cache: 128 KB, 4-way, 32 byte lines (speed: 601 MHz)
; Features: MMX, SSE
;
; The main board
; Motherboard: Intel i810-ns363
; Chipset: Intel 82810 810 chipset - 82801AA
; BIOS: Award Software International, Inc. 6.00 PG/manufacturing date: 12/13/2000
; The graphics card
; Product: Intel 82810 Chipset Graphics Controller (32 MB)
; Manufacturer: Intel
; The BIOS: 02/25/20
; Driver: 6.13.01.3198 (20080413) - Intel (R) 82810 Graphics Controller (Microsoft Corporation)
; BIOS serial number: 12/13/2000-i810 - NS363-6a69mv3fc-00
; display
; Product: default monitor
; Display ratio: 4:3
; Resolution: 800 x 600 24 true colors
; memory
; DIMM 0: unknown PC133 128MB
; DIMM 1: unknown PC133 256MB
;
; Hard disk 1
; Product: Hitachi HDS728080PLAT20 (82 GB / 7200 RPM)
; Cache/firmware: 1719 KB/PF2OA21B
;; The hard drive is used: 3240 times, 19161 hours
; Interface: udma-6 (Ultra ATA - 133)
; Data transfer rate: 133 MB/s
; Features: S.M.A.R.T., 48 - bit LBA
;
; Hard disk 2
; Product: Seagate ST320413A (20 GB / 7200 RPM)
; Cache: 512 KB
; The hard drive has been used: 3,784 times, with a total of
8,543 hours
; Interface: udma-5 (Ultra ATA - 100)/ATA/ATAPI -5
; Data transfer rate: 100 MB/s
; Features: S.M.A.R.T.
;;
; audio
; Sound card: Intel 82801AA AC '97 Audio Controller
;
; Input devices
; Keyboard: HID Keyboard Device
; Keyboard: PC/AT PS / 2 Keyboard (84 - Key)
; Mouse: VMware pointer
;
; Software environment:
; Use Borland c + + 3.1 TASM.exe
; Compiler command line syntax: TASM/ML MOUSE. ASM
; Linker command line syntax: TLINK/t MOUSE. OBJ
The MODEL TINY
386.
XRES 640
YRES 480
16 CURSORWIDTH EQU
16 CURSORHEIGHT EQU
CURSORWIDTH * CURSORHEIGHT
BREAKPOINT corruption (65535 - (640 * 15 + 16) + 2)
The CODE
The STARTUP
JMP INSTALL
START:
MSFLAG DB 00H
MSBCOLOR DB 00H
MSFCOLOR DB 0FH
MSICOLOR DB 15H
MSMOVE DB 00H
MSBREAKX DW 0000H
MSWIDTH1 DW 0000H
MSWIDTH2 DW 0000H
MSHEIGHT1 DW 0000 h
MSHEIGHT2 DW 0000 h
ORIGINOFFSET DW 0000 h
ORIGINPAGE DW 0000 h
MSTARTOFFSET DW 0000 h
MSTARTPAGE DW 0000 h
MSNEWSTATE DW 0000 h
MSOLDSTATE DW 0000 h
MSHOTX DW 0000H
MSHOTY DW 0000H
Mby-x DW XRES / 2
DW 0000 h
MSCURY DW YRES / 2
DW 0000 h
箭头DW 03 fffh、01 fffh 00 fffh,007 ffh 003 ffh 001 ffh,000
ffh 0007跳频
DW 0003 fh,0001 fh 0003 fh 010 ffh 030 ffh 0 f87fh fc7fh 0 f87fh,0
DW 00000 h、00000 h,00000 h,07000 h,07800 h,07年c00h,07年
e00h,07年f00h
DW 07 f80h、07 fc0h 06 c00h,04600 h,00600 h,00300 h,00300
h,00300 h
DW 00000 h,00000 h
背景DB CURSORSIZE DUP(0)
前景DB CURSORSIZE DUP(0)
OLD1CH DD 00000000 h
OLD60H DD 00000000 h
这是一种补偿,抵消了MSHIDE的偏移量
DW补偿MSENABLE,偏移MSDISABLE,偏移SETSHAPE,偏移MSRESET
GETIMAGE PROC附近
推动DS
IMUL ESI,DWORD PTR[MSCURY],大xr
添加ESI DWORD PTR[MSCURX]
添加ESI DWORD PTR[ORIGINOFFSET]
MOV DWORD PTR MSTARTOFFSET,应急服务国际公司
MOV啊,字节PTR(MSTARTPAGE + 0)
MOV AL 11 h
MOV DX,03年水文中心
推动0 a000h
流行DS
推动计算机科学
流行西文
MOV DI,抵消背景
MOV BX,CURSORHEIGHT
DX,斧头
GI12:
MOV残雪,CURSORWIDTH
MOV BP,如果
添加BP,残雪
JNC GI10
子残雪,英国石油公司
代表MOVSB
公司啊
DX,斧头
MOV残雪,英国石油公司
残雪,3
代表MOVSB
MOV残雪,英国石油公司
GI10:
月残雪,2
代表MOVSD
添加硅、XRES-CURSORWIDTH
JNC GI11
公司啊
DX,斧头
GI11:
12月BX
JNZ GI12
流行DS
MOV残雪,CURSORSIZE / 4
MOV SI,抵消背景
MOV DI,抵消前景
代表MOVSD
MOV BP CURSORWIDTH
MOV AX,xr
子AX,词PTR[MSCURX]
CMP AX,英国石油公司
JAE PI30
MOV BP,斧头
PI30:
MOV BX,CURSORHEIGHT
MOV DX,CURSORWIDTH
子DX,英国石油公司
MOV SI,2
MOV DI,抵消前景
PI22:
MOV残雪,英国石油公司
PI21:
LODSB
CMP,字节PTR[MSICOLOR]
我PI20
MOV字节PTR(DI)
PI20:
公司迪
循环PI21
添加硅,DX
加迪,DX
12月BX
JNZ PI22
受潮湿腐烂
GETIMAGE ENDP
PUTIMAGE PROC附近
推动0 a000h
流行西文
MOV DI,词PTR[MSTARTOFFSET]
MOV啊,字节PTR(MSTARTPAGE + 0)
MOV AL 11 h
MOV DX,03年水文中心
MOV BX,CURSORHEIGHT
DX,斧头
PI12:
MOV残雪,CURSORWIDTH
MOV BP,迪
添加BP,残雪
JNC PI10
子残雪,英国石油公司
代表MOVSB
公司啊
DX,斧头
MOV残雪,英国石油公司
残雪,3
代表MOVSB
MOV残雪,英国石油公司
PI10:
月残雪,2
代表MOVSD
加迪,XRES-CURSORWIDTH
JNC PI11
公司啊
DX,斧头
PI11:
12月BX
JNZ PI12
受潮湿腐烂
PUTIMAGE ENDP
HANDLEMOUSE PROC远
推动BP;0 - BP 2 - ip 4 - cs 6 - 0000
MOV BP,SP
把斧头
推动DX
推动DS
推动计算机科学
流行DS
MOV,字节PTR(BP + 0 ch)
和AX,0003 h
MOV词PTR MSNEWSTATE,斧头
MOV,字节PTR(BP + 0 ch)
艾尔,03 h
SBB DH,DH
生化武器
MOV,字节PTR(BP + 0啊)
MOV DL,字节PTR[BP + 08 h]
NEG DX
添加AX,词PTR[MSCURX]
添加DX,词PTR[MSCURY]
CMP AX,0000 h
JGE HM1
XOR斧头,斧头
HM1:
CMP AX,xr
JL款HM2
MOV AX,XRES-1
款HM2:
CMP DX 0000 h
JGE HM3
XOR DX,DX
HM3:
CMP DX,年
JL HM4
MOV DX,YRES-1
HM4:
CMP AX,词PTR[MSCURX]
JNE HM5
CMP DX,词PTR[MSCURY]
我HM6
HM5:
MOV词PTR MSCURX,斧头
MOV词PTR MSCURY,DX
CMP字节PTR MSFLAG,01 h
JNE HM6
MOV字节PTR MSMOVE,01 h
HM6:
流行DS
流行DX
流行的斧头
流行英国石油公司
RETF
HANDLEMOUSE ENDP
NEW1CH PROC远
CMP字节PTR[CS:MSMOVE],01 h
JNE哪
PUSHAD
MOV DX,03年哒
在阿尔,DX
测试基地,09年h
生理改变MC2
摩根大通MC3
MC2:
在阿尔,DX
测试基地,08年h
生理改变MC2
CLI
推动DS
推动西文
MOV AL 11 h
MOV DX,03年水文中心
DX,艾尔
在AX,DX
把斧头
CLD
推动计算机科学
流行DS
MOV SI,抵消背景
叫PTR PUTIMAGE附近
叫PTR GETIMAGE附近
MOV SI,抵消前景
叫PTR PUTIMAGE附近
MOV字节PTR MSMOVE,00 h
流行的斧头
MOV AL 11 h
MOV DX,03年水文中心
DX,斧头
流行西文
流行DS
MC3:
POPAD
MC1:
IRET
NEW1CH ENDP
MSINIT PROC附近;如果= 0000 h
MOV字节PTR MSFLAG,00 h
MOV词PTR MSCURX,xr / 2
MOV词PTR MSCURY,年/ 2
MOV,3 ch
43小时,艾尔
aeh MOV,0
40小时,艾尔
MOV,04 dh
40小时,艾尔
受潮湿腐烂
MSINIT ENDP
MSSHOW PROC附近;如果= 0001 h
MOV词PTR ORIGINPAGE,BX
MOV词PTR ORIGINOFFSET,残雪
叫PTR GETIMAGE附近
MOV SI,抵消前景
叫PTR PUTIMAGE附近
MOV字节PTR MSFLAG,01 h
受潮湿腐烂
MSSHOW ENDP
MSHIDE PROC附近;如果= 0002 h
MOV字节PTR MSFLAG,00 h
MOV SI,抵消背景
叫PTR PUTIMAGE附近
受潮湿腐烂
MSHIDE ENDP
MSHIT PROC附近;如果= 0003 h
MOV AX,词PTR[MSNEWSTATE]
MOV PTR[BP + 14 h],斧头
MOV AX,词PTR[MSCURX]
MOV词PTR BP + 1 ch,斧头
MOV AX,词PTR[MSCURY]
MOV PTR[BP + 18 h],斧头
受潮湿腐烂
MSHIT ENDP
MSENABLE PROC附近;如果= 0004 h
MOV字节PTR MSFLAG,01 h
受潮湿腐烂
MSENABLE ENDP
MSDISABLE PROC附近;如果= 0005 h
MOV字节PTR MSFLAG,00 h
受潮湿腐烂
MSDISABLE ENDP
SETSHAPE PROC附近;如果= 0006 h
受潮湿腐烂
SETSHAPE ENDP
MSRESET PROC附近;如果= 0007 h
摩门教的DX,DWORD PTR[CS OLD1CH):
MOV AX,251 ch
INT 21 h
摩门教的DX,DWORD PTR[CS OLD60H):
MOV AX,2560 h
INT 21 h
MOV,3 ch
43小时,艾尔
ffh MOV,0
40小时,艾尔
ffh MOV,0
40小时,艾尔
c207h MOV AX,0
XOR BX,软
MOV,软
INT 15 h
c201h MOV AX,0
INT 15 h
推动计算机科学
流行西文
MOV啊,49 h
INT 21 h
受潮湿腐烂
MSRESET ENDP
NEW60H PROC远
CMP SI 7
JA N601
CLI
PUSHAD
推动DS
推动西文
MOV BP,SP
推动计算机科学
流行DS
添加硅、硅
叫词PTR NEW60HFUNC(SI)
流行西文
流行DS
POPAD
N601:
IRET
NEW60H ENDP
安装:
MOV AX,351 ch
INT 21 h
MOV词PTR[OLD1CH + 2],ES
MOV词PTR OLD1CH + 0,BX
MOV AX,3560 h
INT 21 h
CMP BX,抵消ES:NEW60H
我卸载
MOV词PTR[OLD60H + 2],ES
MOV词PTR OLD60H + 0,BX
MOV AX,5800 h
INT 21 h
JNB MS1
或斧头,斧头
我MS1
MOV AX,360
叫PTR SAYERROR附近
MS1:
MOV词PTR(策略),斧头
MOV AX,5802 h
INT 21 h
JNB一
或斧头,斧头
我一份
MOV AX,369
叫PTR SAYERROR附近
一份:
MOV词PTR UMBSTATE,斧头
MOV AX,5803 h
MOV BX,0001 h
INT 21 h
JNB MS3
或斧头,斧头
我MS3
MOV AX,379
叫PTR SAYERROR附近
MS3:
MOV AX,5801 h
MOV BX,0041 h
INT 21 h
JNB可以
或斧头,斧头
我可以
MOV AX,5801 h
MOV BX,0081 h
INT 21 h
JNB可以
或斧头,斧头
我可以
MOV AX,394
叫PTR SAYERROR附近
可以:
MOV啊,48 h
MOV BX,抵消安装
添加BX,0跳频
月BX 4
INT 21 h
JNB 5级
MOV AX,403
叫PTR SAYERROR附近
5级:
推动DS
MOV DX,DS
12月DX
MOV DS,DX
12月的斧头
MOV,斧头
MOV SI 8
MOV DI,如果
MOVSD
MOVSD
流行DS
INC . AX
MOV词PTR[ES:0001],斧头
MOV,斧头
MOV词PTR[ES:0000],4 c18h
MOV残雪,CURSORSIZE /尺寸(长)
MOV SI,抵消CURSORDATA
MOV DI,2
代表MOVSD
MOV CX(抵消安装)-(偏移量开始)
添加残雪,3
月残雪,2
MOV SI,抵消开始
MOV DI,如果
代表MOVSD
c205h MOV AX,0
MOV BH,03 h
INT 15 h
c203h MOV AX,0
MOV BH,03 h
INT 15 h
CLI
c207h MOV AX,0
MOV BX,抵消HANDLEMOUSE
INT 15 h
c200h MOV AX,0
MOV BH,01 h
INT 15 h
推动西文
流行DS
MOV AX,251 ch
MOV DX,抵消NEW1CH
INT 21 h
MOV AX,2560 h
MOV DX,抵消NEW60H
INT 21 h
STI
推动计算机科学
流行DS
MOV AX,5803 h
MOV BX、文字PTR[UMBSTATE]
INT 21 h
MOV AX,5801 h
MOV黑洞,
00 h
MOV提单,字节PTR(策略)
INT 21 h
.EXIT
卸载:
MOV SI 0007 h
INT 60 h
.EXIT
SAYERROR PROC附近
MOV BX,10
XOR残雪,残雪
SE1:
XOR DX,DX
DIV BX
推动DX
公司CX
或斧头,斧头
JNZ SE1
SE2:
MOV啊,02年h
流行DX
添加DL,' 0 '
INT 21 h
循环SE2
MOV啊,4 ch
INT 21 h
受潮湿腐烂
SAYERROR ENDP
字长标签
战略DW 0000 h
UMBSTATE DW 0000 h
CURSORDATA DB 00 h,00 h,15 h,h,15 15 h,h,15 15 h,h,15 15 h,h,15 15 h,h,15 15 h,h,15 15 h,15 h
DB 00 h,0 fh,00 h,h,15 15 h,h,15 15 h,h,15 15 h,h,15 15 h,h,15 15 h,h,15 15 h,15 h
DB 00 h,0 fh,0 fh,00 h,15 h,h,15 15 h,h,15 15 h,h,15 15 h,h,15 15 h,h,15 15 h,15 h
DB 00 h,0 fh,0 fh,0 fh,00 h,h,15 15 h,h,15 15 h,h,15 15 h,h,15 15 h,h,15 15 h,15 h
DB 00 h,0 fh,0 fh,0 fh,0 fh,00 h,15 h,h,15 15 h,h,15 15 h,h,15 15 h,h,15 15 h,15 h
DB 00 h,0 fh,0 fh,0 fh,0 fh,0 fh,00 h,h,15 15 h,h,15 15 h,h,15 15 h,h,15 15 h,15 h
DB 00 h,0 fh,0 fh,0 fh,0 fh,0 fh,0 fh,00 h,15 h,h,15 15 h,h,15 15 h,h,15 15 h,15 h
DB 00 h,0 fh,0 fh,0 fh,0 fh,0 fh,0 fh,0 fh,00 h,h,15 15 h,h,15
15 h,h,15 15 h,15 h
DB 00 h,0 fh,0 fh,0 fh,0 fh,0 fh,0 fh,0 fh,0 fh,00 h,15 h,h,15 15 h,h,15 15 h,15 h
DB 00 h,0 fh,0 fh,0 fh,0 fh,0 fh,0 fh,0 fh,0 fh,0 fh,00 h,h,15 15 h,h,15 15 h,15 h
DB 00 h,0 fh,0 fh,00 h,0 fh,0 fh,00 h,15 h,00 h,h,00 00 h,00 h,15 h,h,15 15 h,15 h
DB 00 h,0 fh,00 h,15 h,00 h,0 fh,0 fh,00 h,15 h,h,15 15 h,h,15 15 h,h,15 15 h,15 h
DB 00 h,00 h,h,15 15 h,00 h,0 fh,0 fh,00 h,15 h,h,15 15 h,h,15 15 h,h,15 15 h,15 h
DB 15 h,15 h,15 h,h,15 15 h,00 h,0 fh,0 fh,00 h,h,15 15 h,h,15 15 h,h,15 15 h,15 h
DB 15 h,15 h,15 h,h,15 15 h,00 h,0 fh,0 fh,00 h,h,15 15 h,h,15 15 h,h,15 15 h,15 h
DB 15 h,15 h,15 h,15 h,h,15 15 h,00 h,h,00 00 h,15 h,h,15 15 h,h,15 15 h,15 h,15 h
结束