Rev 1131 | Rev 1332 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1131 | Rev 1331 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2004-2008. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2008. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 7... | Line 7... | ||
7 | 7 | ||
Line 8... | Line 8... | ||
8 | $Revision: 1131 $ |
8 | $Revision: 1331 $ |
9 | 9 | ||
10 | 10 | ||
Line 203... | Line 203... | ||
203 | shr ecx, 12 ; ecx = number of pages |
203 | shr ecx, 12 ; ecx = number of pages |
204 | jz .next |
204 | jz .next |
205 | mov edi, [ebx] |
205 | mov edi, [ebx] |
206 | shr edi, 12 ; edi = first page |
206 | shr edi, 12 ; edi = first page |
207 | mov eax, edi |
207 | mov eax, edi |
208 | neg eax |
- | |
209 | shr edi, 5 |
208 | shr edi, 5 |
- | 209 | shl edi, 2 |
|
210 | add edi, sys_pgmap-OS_BASE |
210 | add edi, sys_pgmap-OS_BASE |
211 | and eax, 31 |
211 | and eax, 31 |
212 | jz .startok |
212 | jz .startok |
213 | sub ecx, eax |
213 | add ecx, eax |
- | 214 | sub ecx, 32 |
|
214 | jbe .onedword |
215 | jbe .onedword |
215 | push ecx |
216 | push ecx |
216 | mov ecx, eax |
217 | mov ecx, eax |
217 | xor eax, eax |
218 | or eax, -1 |
218 | inc eax |
- | |
219 | shl eax, cl |
219 | shl eax, cl |
220 | dec eax |
- | |
221 | or [edi], eax |
220 | or [edi], eax |
222 | add edi, 4 |
221 | add edi, 4 |
223 | pop ecx |
222 | pop ecx |
224 | .startok: |
223 | .startok: |
225 | push ecx |
224 | push ecx |
226 | shr ecx, 5 |
225 | shr ecx, 5 |
227 | or eax, -1 |
226 | or eax, -1 |
228 | rep stosd |
227 | rep stosd |
229 | pop ecx |
228 | pop ecx |
230 | and ecx, 31 |
229 | and ecx, 31 |
231 | not eax |
230 | neg eax |
232 | shl eax, cl |
231 | shl eax, cl |
- | 232 | dec eax |
|
233 | or [edi], eax |
233 | or [edi], eax |
234 | jmp .next |
234 | jmp .next |
235 | .onedword: |
235 | .onedword: |
- | 236 | add ecx, 32 |
|
236 | add ecx, eax |
237 | sub ecx, eax |
237 | @@: |
238 | @@: |
238 | dec eax |
- | |
239 | bts [edi], eax |
239 | bts [edi], eax |
- | 240 | inc eax |
|
240 | loop @b |
241 | loop @b |
241 | .next: |
242 | .next: |
242 | add ebx, 20 |
243 | add ebx, 20 |
243 | dec edx |
244 | dec edx |
244 | jnz .scanmap |
245 | jnz .scanmap |