1 1 00000000 [FORMAT "WCOFF"]
2 2 00000000 [INSTRSET "i486p"]
3 3 00000000 [OPTIMIZE 1]
6 6 00000000 EXTERN _io_out8
7 7 00000000 EXTERN _io_in8
8 8 00000000 EXTERN _fifo32_put
9 9 00000000 EXTERN _wait_KBC_sendready
10 10 00000000 [FILE "mouse.c"]
12 12 00000000 GLOBAL _inthandler2c
13 13 00000000 _inthandler2c:
14 14 00000000 55 PUSH EBP
15 15 00000001 89 E5 MOV EBP,ESP
16 16 00000003 6A 64 PUSH 100
17 17 00000005 68 000000A0 PUSH 160
18 18 0000000A E8 [00000000] CALL _io_out8
19 19 0000000F 6A 62 PUSH 98
20 20 00000011 6A 20 PUSH 32
21 21 00000013 E8 [00000000] CALL _io_out8
22 22 00000018 6A 60 PUSH 96
23 23 0000001A E8 [00000000] CALL _io_in8
24 24 0000001F 03 05 [00000004] ADD EAX,DWORD [_mousedata0]
25 25 00000025 50 PUSH EAX
26 26 00000026 FF 35 [00000000] PUSH DWORD [_mousefifo]
27 27 0000002C E8 [00000000] CALL _fifo32_put
30 30 00000033 GLOBAL _enable_mouse
31 31 00000033 _enable_mouse:
32 32 00000033 55 PUSH EBP
33 33 00000034 89 E5 MOV EBP,ESP
34 34 00000036 8B 45 08 MOV EAX,DWORD [8+EBP]
35 35 00000039 A3 [00000000] MOV DWORD [_mousefifo],EAX
36 36 0000003E 8B 45 0C MOV EAX,DWORD [12+EBP]
37 37 00000041 A3 [00000004] MOV DWORD [_mousedata0],EAX
38 38 00000046 E8 [00000000] CALL _wait_KBC_sendready
39 39 0000004B 68 000000D4 PUSH 212
40 40 00000050 6A 64 PUSH 100
41 41 00000052 E8 [00000000] CALL _io_out8
42 42 00000057 E8 [00000000] CALL _wait_KBC_sendready
43 43 0000005C 68 000000F4 PUSH 244
44 44 00000061 6A 60 PUSH 96
45 45 00000063 E8 [00000000] CALL _io_out8
46 46 00000068 8B 45 10 MOV EAX,DWORD [16+EBP]
47 47 0000006B C6 40 03 00 MOV BYTE [3+EAX],0
50 50 00000071 GLOBAL _mouse_decode
51 51 00000071 _mouse_decode:
52 52 00000071 55 PUSH EBP
53 53 00000072 89 E5 MOV EBP,ESP
54 54 00000074 56 PUSH ESI
55 55 00000075 53 PUSH EBX
56 56 00000076 8B 55 08 MOV EDX,DWORD [8+EBP]
57 57 00000079 8B 4D 0C MOV ECX,DWORD [12+EBP]
58 58 0000007C 89 CE MOV ESI,ECX
59 59 0000007E 8A 42 03 MOV AL,BYTE [3+EDX]
60 60 00000081 84 C0 TEST AL,AL
61 61 00000083 75 11 JNE L4
62 62 00000085 80 F9 FA CMP CL,-6
63 63 00000088 74 06 JE L13
65 65 0000008A 31 C0 XOR EAX,EAX
67 67 0000008C 5B POP EBX
68 68 0000008D 5E POP ESI
69 69 0000008E 5D POP EBP
72 72 00000090 C6 42 03 01 MOV BYTE [3+EDX],1
73 73 00000094 EB F4 JMP L12
75 75 00000096 3C 01 CMP AL,1
76 76 00000098 74 61 JE L14
77 77 0000009A 3C 02 CMP AL,2
78 78 0000009C 74 54 JE L15
79 79 0000009E 3C 03 CMP AL,3
80 80 000000A0 74 05 JE L16
81 81 000000A2 83 C8 FF OR EAX,-1
82 82 000000A5 EB E5 JMP L3
84 84 000000A7 8A 1A MOV BL,BYTE [EDX]
85 85 000000A9 81 E6 000000FF AND ESI,255
86 86 000000AF 89 D8 MOV EAX,EBX
87 87 000000B1 88 4A 02 MOV BYTE [2+EDX],CL
88 88 000000B4 83 E0 07 AND EAX,7
89 89 000000B7 89 72 08 MOV DWORD [8+EDX],ESI
90 90 000000BA 89 42 0C MOV DWORD [12+EDX],EAX
91 91 000000BD 88 D8 MOV AL,BL
92 92 000000BF 0F B6 4A 01 MOVZX ECX,BYTE [1+EDX]
93 93 000000C3 83 E0 10 AND EAX,16
94 94 000000C6 89 4A 04 MOV DWORD [4+EDX],ECX
95 95 000000C9 C6 42 03 01 MOV BYTE [3+EDX],1
96 96 000000CD 84 C0 TEST AL,AL
97 97 000000CF 74 09 JE L10
98 98 000000D1 81 C9 FFFFFF00 OR ECX,-256
99 99 000000D7 89 4A 04 MOV DWORD [4+EDX],ECX
101 101 000000DA 83 E3 20 AND EBX,32
102 102 000000DD 84 DB TEST BL,BL
103 103 000000DF 74 07 JE L11
104 104 000000E1 81 4A 08 FFFFFF00 OR DWORD [8+EDX],-256
106 106 000000E8 F7 5A 08 NEG DWORD [8+EDX]
107 107 000000EB B8 00000001 MOV EAX,1
108 108 000000F0 EB 9A JMP L3
110 110 000000F2 88 4A 01 MOV BYTE [1+EDX],CL
111 111 000000F5 C6 42 03 03 MOV BYTE [3+EDX],3
112 112 000000F9 EB 8F JMP L12
114 114 000000FB 83 E6 C8 AND ESI,-56
115 115 000000FE 89 F0 MOV EAX,ESI
116 116 00000100 3C 08 CMP AL,8
117 117 00000102 75 86 JNE L12
118 118 00000104 88 0A MOV BYTE [EDX],CL
119 119 00000106 C6 42 03 02 MOV BYTE [3+EDX],2
120 120 0000010A E9 FFFFFF7B JMP L12
121 121 0000010F GLOBAL _mousefifo
123 123 00000000 ALIGNB 4
124 124 00000000 _mousefifo:
125 125 00000000 00 00 00 00 RESB 4
126 126 00000004 GLOBAL _mousedata0
128 128 00000004 ALIGNB 4
129 129 00000004 _mousedata0:
130 130 00000004 00 00 00 00 RESB 4