Rev 145 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
145 | halyavin | 1 | format ELF |
159 | halyavin | 2 | include "public_stdcall.inc" |
145 | halyavin | 3 | section '.text' executable |
159 | halyavin | 4 | public_stdcall _msys_get_pci_version,0 |
145 | halyavin | 5 | mov edx,ebx |
6 | mov eax,62 |
||
7 | xor ebx,ebx |
||
8 | int 0x40 |
||
9 | movzx eax,ax |
||
10 | mov ebx,edx |
||
11 | ret |
||
12 | |||
159 | halyavin | 13 | public_stdcall _msys_get_last_pci_bus,0 |
145 | halyavin | 14 | mov edx,ebx |
15 | mov eax,62 |
||
16 | xor ebx,ebx |
||
17 | inc ebx |
||
18 | int 0x40 |
||
19 | movzx eax,al |
||
20 | mov ebx,edx |
||
21 | ret |
||
22 | |||
159 | halyavin | 23 | public_stdcall _msys_get_pci_access_mechanism,0 |
145 | halyavin | 24 | mov edx,ebx |
25 | mov eax,62 |
||
26 | mov ebx,2 |
||
27 | int 0x40 |
||
28 | movzx eax,al |
||
29 | mov ebx,edx |
||
30 | ret |
||
31 | |||
159 | halyavin | 32 | public_stdcall _msys_pci_read_config_byte,16 |
145 | halyavin | 33 | ;arg1 - bus |
34 | ;arg2 - dev |
||
35 | ;arg3 - fn |
||
36 | ;arg4 - reg |
||
37 | mov edx,ebx |
||
38 | mov eax,62 |
||
39 | mov bl,4 |
||
40 | mov bh,[esp+4] |
||
41 | mov ch,[esp+8] |
||
42 | shl ch,3 |
||
43 | add ch,[esp+12] |
||
44 | mov cl,[esp+16] |
||
45 | int 0x40 |
||
46 | mov ebx,edx |
||
47 | ret 16 |
||
48 | |||
159 | halyavin | 49 | public_stdcall _msys_pci_read_config_word,16 |
145 | halyavin | 50 | ;arg1 - bus |
51 | ;arg2 - dev |
||
52 | ;arg3 - fn |
||
53 | ;arg4 - reg |
||
54 | mov edx,ebx |
||
55 | mov eax,62 |
||
56 | mov bl,5 |
||
57 | mov bh,[esp+4] |
||
58 | mov ch,[esp+8] |
||
59 | shl ch,3 |
||
60 | add ch,[esp+12] |
||
61 | mov cl,[esp+16] |
||
62 | int 0x40 |
||
63 | mov ebx,edx |
||
64 | ret 16 |
||
65 | |||
159 | halyavin | 66 | public_stdcall _msys_pci_read_config_dword,16 |
145 | halyavin | 67 | ;arg1 - bus |
68 | ;arg2 - dev |
||
69 | ;arg3 - fn |
||
70 | ;arg4 - reg |
||
71 | mov edx,ebx |
||
72 | mov eax,62 |
||
73 | mov bl,6 |
||
74 | mov bh,[esp+4] |
||
75 | mov ch,[esp+8] |
||
76 | shl ch,3 |
||
77 | add ch,[esp+12] |
||
78 | mov cl,[esp+16] |
||
79 | int 0x40 |
||
80 | mov ebx,edx |
||
81 | ret 16 |
||
82 | |||
159 | halyavin | 83 | public_stdcall _msys_pci_write_config_byte,20 |
145 | halyavin | 84 | ;arg1 - bus |
85 | ;arg2 - dev |
||
86 | ;arg3 - fn |
||
87 | ;arg4 - reg |
||
88 | ;arg5 - value |
||
89 | push ebx |
||
90 | mov eax,62 |
||
91 | mov bl,8 |
||
92 | mov bh,[esp+8] |
||
93 | mov ch,[esp+12] |
||
94 | shl ch,3 |
||
95 | mov ch,[esp+16] |
||
96 | mov cl,[esp+20] |
||
97 | movzx edx,byte [esp+24] |
||
98 | int 0x40 |
||
99 | pop ebx |
||
100 | ret 20 |
||
101 | |||
159 | halyavin | 102 | public_stdcall _msys_pci_write_config_word,20 |
145 | halyavin | 103 | ;arg1 - bus |
104 | ;arg2 - dev |
||
105 | ;arg3 - fn |
||
106 | ;arg4 - reg |
||
107 | ;arg5 - value |
||
108 | push ebx |
||
109 | mov eax,62 |
||
110 | mov bl,9 |
||
111 | mov bh,[esp+8] |
||
112 | mov ch,[esp+12] |
||
113 | shl ch,3 |
||
114 | mov ch,[esp+16] |
||
115 | mov cl,[esp+20] |
||
116 | movzx edx,word [esp+24] |
||
117 | int 0x40 |
||
118 | pop ebx |
||
119 | ret 20 |
||
120 | |||
159 | halyavin | 121 | public_stdcall _msys_pci_write_config_dword,20 |
145 | halyavin | 122 | ;arg1 - bus |
123 | ;arg2 - dev |
||
124 | ;arg3 - fn |
||
125 | ;arg4 - reg |
||
126 | ;arg5 - value |
||
127 | push ebx |
||
128 | mov eax,62 |
||
129 | mov bl,10 |
||
130 | mov bh,[esp+8] |
||
131 | mov ch,[esp+12] |
||
132 | shl ch,3 |
||
133 | mov ch,[esp+16] |
||
134 | mov cl,[esp+20] |
||
135 | mov edx,[esp+24] |
||
136 | int 0x40 |
||
137 | pop ebx |
||
138 | ret 20 |