RS-232 Mouse Driver
; Main opcode out of
range of PGID functions supported
;
just
return RS_UNSUPPORTED
~iY:
t
; ••• DRIVER HEADER ••••••••••••••••••••••••••••••••••••••••••••••••••••••
NAME:
PGID_DRIVER
DESCRIPTION:
pgid_driver
endp
••• FUNCTION
HEAg~~=
••••••••••••••••••••••••••••••••••••••••••••••••••••
NAME:
PGID_ISR
FUNCTIONAL DESCRIPTION'
I U
b t t l PG 10M a i n en try poi n t
page
:~~~T~ ~~Ig~~tv~~:
not hing
NOTE
****
No driver header for PGID
****
Only
2
function. are lupported: F_ISR, F SYSTEM --
III
otherl are unlupported
;Define the number of buttonl to 3
;Dislble interrupts while working on stick frlme
;Get
address of old stack storage,
;Restore stack pointer.
;Get old stick legment.
;And restore
it.
;Re-enable interrupts,
ah, RS_UNSUPPORTED
SI,OFFSET STACK_PTR
SP, [SI]
SI ,2
~~J~I]
EXIT
ENDP
ENDP
AX
I
0
ES , AX
ES.
ES:~HP
ENTRY
*
4
+
2]
~~tEE~+.Vr~~~~U~5~4~UTTON,
3
AX
-
-
ES
DI.DWORD PTR REQ HDR OFf
;Re10ad ES:DI with address of
request
header.
ES:[DI).RH_END_Orf,OrFSET END_Of_DRIVER
;Return end of
relident
code to
ES:[DI].RH_END_SEG,CS
;MS-DOS.
STACK FRAME AND EXIT
pgid_opcode_bad:
mov
i
ret
pg1d_dr1ver
p roc
nelr
cmp
ah,F ISR
F
ISR?
jne
cheCK f
sYltem
call
pgid_Isf
i
ret
check _f_IYltem:
cmp
ah
I
F
SYSTEM
F
-
SYSTEM?
jn.
pg id:=opc ode_b ad
call
pg1d_IYltem
i ret
function has I ' t
r. turn code
LI1~h~~.F~~~Jf?~~~ n~:u~~:t~~ ~~~eN6~ ~~~~ORTED,
F
ISR
F:=SVSTEM
PARAMETERS:
See function headerl for specific valuel
for other entry and exit
par ame t e r
I
REGISTERS PRESERVED:
DEFINITION MODIFICATION HISTORY
VERSION:
DESCRIPTION OF CHANGES:
MeV
MeV
MOV
MeV
MeV
POP
POP
LES
MOV
MeV
; RESTORE OLD
CLI
MeV
MeV
ADD
MOV
MOV
STI
JMP
DEV INTERRUPT
DEV=:ORIVER
0411
0411
84 02
0413
CF
0414
03FF
03FF
80 FC 00
0402
75 04
0404
E8 0414
R
0407
CF
0408
0408
80 FC 02
040B
75 04
040D
E8 0496
R
0410
CF
03C8
88
0000
03CB
8E CO
03CD
26:
8E 08 018E
03D2
26:
SE 06 OODO
03D7
26:
C6 06 004C 03
03DD
58
03DE
07
03DF
2E: C4 3E 0050 R
03E4
26:
C7 45
OE
0401
03EA
26:
8C 40 10
03EE
FA
03EF
BE 0124 R
03F2
88 24
03F4
83 C6 02
03F
7
8B 04
03F9
SE DO
03FB
FB
03FC
E9 029E
03FF
03FF
84'1
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
888
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
888
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
Driver Writer's Guide
471
Need help?
Do you have a question about the Vectra and is the answer not in the manual?