Rev 318 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 318 | Rev 485 | ||
---|---|---|---|
Line 128... | Line 128... | ||
128 | cmp byte [f], 5 |
128 | cmp byte [f], 5 |
129 | jne noAMDK6 |
129 | jne noAMDK6 |
130 | mov eax, 68 ; AMD-K6 (p.30) |
130 | mov eax, 68 ; AMD-K6 (p.30) |
131 | mov ebx, 3 |
131 | mov ebx, 3 |
132 | mov edx, 0x0C0000087 |
132 | mov edx, 0x0C0000087 |
133 | int 0x40 ; eax - low dword |
133 | mcall ; eax - low dword |
134 | and eax, 111b |
134 | and eax, 111b |
135 | mov cl, [athloncoef3 + eax] |
135 | mov cl, [athloncoef3 + eax] |
136 | cmp eax, 6 |
136 | cmp eax, 6 |
137 | jne @f |
137 | jne @f |
138 | cmp byte[m], 8 |
138 | cmp byte[m], 8 |
Line 150... | Line 150... | ||
150 | cmp edx, 6 |
150 | cmp edx, 6 |
151 | je AMDK7M |
151 | je AMDK7M |
152 | @@: mov eax, 68 ; Athlon/AthlonXP |
152 | @@: mov eax, 68 ; Athlon/AthlonXP |
153 | mov ebx, 3 |
153 | mov ebx, 3 |
154 | mov edx, 0x0C0010015 |
154 | mov edx, 0x0C0010015 |
155 | int 0x40 |
155 | mcall |
156 | mov ebx, eax |
156 | mov ebx, eax |
157 | shr ebx, 24 |
157 | shr ebx, 24 |
158 | and ebx, 0x0F |
158 | and ebx, 0x0F |
159 | shr eax, 20 |
159 | shr eax, 20 |
160 | jnc @f |
160 | jnc @f |
Line 163... | Line 163... | ||
163 | ret |
163 | ret |
Line 164... | Line 164... | ||
164 | 164 | ||
165 | AMDK7M: mov eax, 68 ; AthonXP-M |
165 | AMDK7M: mov eax, 68 ; AthonXP-M |
166 | mov ebx, 3 |
166 | mov ebx, 3 |
167 | mov edx, 0xC0010042 |
167 | mov edx, 0xC0010042 |
168 | int 0x40 |
168 | mcall |
169 | and eax, 0x1F |
169 | and eax, 0x1F |
170 | mov cl, [athlonmcoef + eax] |
170 | mov cl, [athlonmcoef + eax] |
Line 171... | Line 171... | ||
171 | ret |
171 | ret |
Line 178... | Line 178... | ||
178 | cmp edx, 6 |
178 | cmp edx, 6 |
179 | je AMDK8M |
179 | je AMDK8M |
180 | mov eax, 68 ; Athon64 |
180 | mov eax, 68 ; Athon64 |
181 | mov ebx, 3 |
181 | mov ebx, 3 |
182 | mov edx, 0xC0010015 |
182 | mov edx, 0xC0010015 |
183 | int 0x40 |
183 | mcall |
184 | shr eax, 24 |
184 | shr eax, 24 |
185 | and al, 0x3F |
185 | and al, 0x3F |
186 | shr al, 1 |
186 | shr al, 1 |
187 | add al, 4 |
187 | add al, 4 |
188 | mov dl, 10 |
188 | mov dl, 10 |
Line 191... | Line 191... | ||
191 | ret |
191 | ret |
Line 192... | Line 192... | ||
192 | 192 | ||
193 | AMDK8M: mov eax, 68 ; Athon64-M |
193 | AMDK8M: mov eax, 68 ; Athon64-M |
194 | mov ebx, 3 |
194 | mov ebx, 3 |
195 | mov edx, 0xC0010042 |
195 | mov edx, 0xC0010042 |
196 | int 0x40 |
196 | mcall |
197 | and al, 0x3F |
197 | and al, 0x3F |
198 | shr al, 1 |
198 | shr al, 1 |
199 | add al, 4 |
199 | add al, 4 |
200 | mov dl, 10 |
200 | mov dl, 10 |
Line 209... | Line 209... | ||
209 | cmp byte [t], 6 |
209 | cmp byte [t], 6 |
210 | jne @f |
210 | jne @f |
211 | mov eax, 68 ; Pentium M |
211 | mov eax, 68 ; Pentium M |
212 | mov ebx, 3 |
212 | mov ebx, 3 |
213 | mov edx, 0x2A |
213 | mov edx, 0x2A |
214 | int 0x40 |
214 | mcall |
215 | shr eax, 22 |
215 | shr eax, 22 |
216 | and eax, 0x1F |
216 | and eax, 0x1F |
217 | mov dl, 10 |
217 | mov dl, 10 |
218 | mul dl |
218 | mul dl |
219 | mov cl, al |
219 | mov cl, al |
Line 221... | Line 221... | ||
221 | @@: cmp byte [m], 2 |
221 | @@: cmp byte [m], 2 |
222 | jae @f |
222 | jae @f |
223 | mov eax, 68 ; Pentium 4 / Xeon (model < 2) Willamete |
223 | mov eax, 68 ; Pentium 4 / Xeon (model < 2) Willamete |
224 | mov ebx, 3 |
224 | mov ebx, 3 |
225 | mov edx, 0x2A |
225 | mov edx, 0x2A |
226 | int 0x40 |
226 | mcall |
227 | shr eax, 8 |
227 | shr eax, 8 |
228 | and eax, 0x0F |
228 | and eax, 0x0F |
229 | mov cl, [p4coef + eax] |
229 | mov cl, [p4coef + eax] |
230 | ret |
230 | ret |
231 | @@: mov eax, 68 ; Pentium 4 / Xeon (model >= 2) NorthWood |
231 | @@: mov eax, 68 ; Pentium 4 / Xeon (model >= 2) NorthWood |
232 | mov ebx, 3 |
232 | mov ebx, 3 |
233 | mov edx, 0x2C |
233 | mov edx, 0x2C |
234 | int 0x40 |
234 | mcall |
235 | shr eax, 24 |
235 | shr eax, 24 |
236 | and eax, 0x1F |
236 | and eax, 0x1F |
237 | mov dl, 10 |
237 | mov dl, 10 |
238 | mul dl |
238 | mul dl |
239 | mov cl, al |
239 | mov cl, al |
Line 242... | Line 242... | ||
242 | cmp byte[f], 6 |
242 | cmp byte[f], 6 |
243 | jne noIntelP6 |
243 | jne noIntelP6 |
244 | mov eax, 68 ; Pentium Pro / Pentium II / Pentium III |
244 | mov eax, 68 ; Pentium Pro / Pentium II / Pentium III |
245 | mov ebx, 3 |
245 | mov ebx, 3 |
246 | mov edx, 0x2A |
246 | mov edx, 0x2A |
247 | int 0x40 |
247 | mcall |
248 | shr eax, 22 |
248 | shr eax, 22 |
249 | test al, 0x20 |
249 | test al, 0x20 |
250 | jz @f |
250 | jz @f |
251 | or al, 0x10 |
251 | or al, 0x10 |
252 | @@: and eax, 0x1f |
252 | @@: and eax, 0x1f |