Rev 9461 | Rev 9726 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 9461 | Rev 9691 | ||
---|---|---|---|
Line 397... | Line 397... | ||
397 | 397 | ||
398 | mov [size_table],dword '----' |
398 | mov [size_table],dword '----' |
399 | mov [size_table+4],word '- ' |
399 | mov [size_table+4],word '- ' |
400 | jmp .date |
400 | jmp .date |
- | 401 | ;-------------------------------------- |
|
- | 402 | .qword_div: |
|
- | 403 | mov eax,[edx-40+32] |
|
- | 404 | mov ebx,[edx-40+32+4] |
|
- | 405 | @@: ; /1024 |
|
- | 406 | shrd eax,ebx,5 ; /32 |
|
- | 407 | shr ebx,5 ; /32 |
|
- | 408 | shrd eax,ebx,5 ; /32 |
|
- | 409 | shr ebx,5 ; /32 |
|
- | 410 | dec ecx |
|
- | 411 | jnz @b |
|
- | 412 | ; /(1024*1024) |
|
- | 413 | shr eax,20 |
|
- | 414 | test eax,eax |
|
- | 415 | ret |
|
401 | ;-------------------------------------- |
416 | ;-------------------------------------- |
- | 417 | .copy_size: |
|
- | 418 | ;/0x1000000000000000 - EB |
|
- | 419 | ;/0x4000000000000 - PB |
|
402 | .copy_size: |
420 | ;/0x10000000000 - TB |
403 | ;/0x40000000 - Gb |
421 | ;/0x40000000 - GB |
404 | ;/0x100000 - Mb |
422 | ;/0x100000 - MB |
405 | ;/0x400 Kb |
423 | ;/0x400 - KB |
406 | mov [size_table],dword ' ' |
424 | mov [size_table],dword ' ' |
407 | mov [size_table+4],word ' ' |
425 | mov [size_table+4],word ' ' |
408 | push ebx |
426 | push ebx edx |
409 | push edx |
- | |
410 | mov eax,[edx-40+32] |
427 | push ecx |
411 | mov ebx,0x40000000 |
428 | mov ecx,4 |
412 | xor edx,edx |
429 | call .qword_div |
413 | div ebx |
- | |
414 | cmp eax,0 |
430 | pop ecx |
Line 415... | Line 431... | ||
415 | je @f |
431 | jz @f |
416 | 432 | ||
417 | mov ebx,size_table |
433 | mov ebx,size_table |
418 | call decimal_string_4 |
434 | call decimal_string_4 |
419 | mov [ebx],byte 'G' |
435 | mov [ebx],byte 'E' ; Exa Byte |
420 | jmp .size_convert_end |
436 | jmp .size_convert_end |
421 | ;-------------------------------------- |
437 | ;-------------------------------------- |
422 | @@: |
- | |
423 | mov edx,[esp] |
438 | @@: |
424 | mov eax,[edx-40+32] |
439 | push ecx |
425 | mov ebx,0x100000 |
440 | mov ecx,3 |
426 | xor edx,edx |
- | |
427 | div ebx |
441 | call .qword_div |
Line 428... | Line 442... | ||
428 | cmp eax,0 |
442 | pop ecx |
429 | je @f |
443 | jz @f |
430 | 444 | ||
431 | mov ebx,size_table |
445 | mov ebx,size_table |
432 | call decimal_string_4 |
446 | call decimal_string_4 |
433 | mov [ebx],byte 'M' |
447 | mov [ebx],byte 'P' ; Peta Byte |
- | 448 | jmp .size_convert_end |
|
434 | jmp .size_convert_end |
449 | ;-------------------------------------- |
435 | ;-------------------------------------- |
450 | @@: |
- | 451 | push ecx |
|
- | 452 | mov ecx,2 |
|
- | 453 | call .qword_div |
|
436 | @@: |
454 | pop ecx |
- | 455 | jz @f |
|
- | 456 | ||
- | 457 | mov ebx,size_table |
|
- | 458 | call decimal_string_4 |
|
- | 459 | mov [ebx],byte 'T' ; Tera Byte |
|
437 | mov edx,[esp] |
460 | jmp .size_convert_end |
438 | mov eax,[edx-40+32] |
461 | ;-------------------------------------- |
- | 462 | @@: |
|
439 | mov ebx,0x400 |
463 | push ecx |
440 | xor edx,edx |
464 | mov ecx,1 |
Line 441... | Line 465... | ||
441 | div ebx |
465 | call .qword_div |
442 | cmp eax,0 |
466 | pop ecx |
443 | je @f |
467 | jz @f |
444 | 468 | ||
445 | mov ebx,size_table |
469 | mov ebx,size_table |
446 | call decimal_string_4 |
470 | call decimal_string_4 |
447 | mov [ebx],byte 'K' |
- | |
448 | jmp .size_convert_end |
471 | mov [ebx],byte 'G' ; Giga Byte |
- | 472 | jmp .size_convert_end |
|
- | 473 | ;-------------------------------------- |
|
- | 474 | @@: |
|
- | 475 | mov eax,[edx-40+32] |
|
- | 476 | mov ebx,eax |
|
- | 477 | shr eax,20 ; /(1024*1024) |
|
- | 478 | test eax,eax |
|
- | 479 | jz @f |
|
- | 480 | ||
- | 481 | mov ebx,size_table |
|
- | 482 | call decimal_string_4 |
|
- | 483 | mov [ebx],byte 'M' ; Mega Byte |
|
- | 484 | jmp .size_convert_end |
|
- | 485 | ;-------------------------------------- |
|
- | 486 | @@: |
|
- | 487 | mov eax,ebx |
|
- | 488 | shr eax,10 ; /1024 |
|
- | 489 | test eax,eax |
|
- | 490 | jz @f |
|
- | 491 | ||
- | 492 | mov ebx,size_table |
|
- | 493 | call decimal_string_4 |
|
- | 494 | mov [ebx],byte 'K' ; Kilo Byte |
|
449 | ;-------------------------------------- |
495 | jmp .size_convert_end |
450 | @@: |
496 | ;-------------------------------------- |
451 | mov edx,[esp] |
497 | @@: |
452 | mov eax,[edx-40+32] |
498 | mov eax,ebx |
453 | ;.size_convert: |
499 | ;.size_convert: |
Line 471... | Line 517... | ||
471 | std |
517 | std |
472 | rep movsb |
518 | rep movsb |
473 | jmp @r |
519 | jmp @r |
474 | ;-------------------------------------- |
520 | ;-------------------------------------- |
475 | @@: |
521 | @@: |
476 | pop edx |
- | |
477 | pop ebx |
522 | pop edx ebx |
478 | ;-------------------------------------- |
523 | ;-------------------------------------- |
479 | .date: |
524 | .date: |
480 | xor eax,eax |
525 | xor eax,eax |
481 | mov al,[edx-40+28] |
526 | mov al,[edx-40+28] |
482 | push ebx |
527 | push ebx |