OSDN Git Service

first commit
[winexe-harib/winexe-harib.git] / haribote / mouse.lst
1      1 00000000                                 [FORMAT "WCOFF"]
2      2 00000000                                 [INSTRSET "i486p"]
3      3 00000000                                 [OPTIMIZE 1]
4      4 00000000                                 [OPTION 1]
5      5 00000000                                 [BITS 32]
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"]
11     11                                          [SECTION .text]
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
28     28 00000031 C9                                      LEAVE
29     29 00000032 C3                                      RET
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
48     48 0000006F C9                                      LEAVE
49     49 00000070 C3                                      RET
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
64     64 0000008A                                 L12:
65     65 0000008A 31 C0                                   XOR     EAX,EAX
66     66 0000008C                                 L3:
67     67 0000008C 5B                                      POP     EBX
68     68 0000008D 5E                                      POP     ESI
69     69 0000008E 5D                                      POP     EBP
70     70 0000008F C3                                      RET
71     71 00000090                                 L13:
72     72 00000090 C6 42 03 01                             MOV     BYTE [3+EDX],1
73     73 00000094 EB F4                                   JMP     L12
74     74 00000096                                 L4:
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
83     83 000000A7                                 L16:
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
100    100 000000DA                                 L10:
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
105    105 000000E8                                 L11:
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
109    109 000000F2                                 L15:
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
113    113 000000FB                                 L14:
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
122    122                                          [SECTION .data]
123    123 00000000                                         ALIGNB  4
124    124 00000000                                 _mousefifo:
125    125 00000000 00 00 00 00                             RESB    4
126    126 00000004                                         GLOBAL  _mousedata0
127    127                                          [SECTION .data]
128    128 00000004                                         ALIGNB  4
129    129 00000004                                 _mousedata0:
130    130 00000004 00 00 00 00                             RESB    4