Subversion Repositories Kolibri OS

Rev

Rev 2874 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2874 Rev 3020
Line 24... Line 24...
24
        $pop     ebx
24
        $pop     ebx
25
        return  EAX;
25
        return  EAX;
26
}
26
}
Line 27... Line 27...
27
 
27
 
28
//mem.ReAlloc
-
 
29
inline fastcall dword mem_ReAllocR( ECX, EDX)
-
 
30
{
-
 
31
        $mov     eax, 68
-
 
32
        $mov     ebx, 20
-
 
33
        $int     0x40
-
 
34
}
-
 
35
 
28
//mem.ReAlloc
36
stdcall dword mem_ReAlloc(dword mptr, size)
29
stdcall dword mem_ReAlloc(dword mptr, size)
37
{
30
{
38
        $push    ebx
31
        $push    ebx
39
        $push    ecx
32
        $push    ecx
Line 70... Line 63...
70
 
63
 
71
//stdcall dword ??
64
//stdcall dword ??
72
inline fastcall mem_Move( EDI, ESI, ECX)
65
inline fastcall mem_Move( EDI, ESI, ECX)
73
{
66
{
74
  asm {
67
  asm {
75
    mov eax, ecx
68
    MOV EAX, ECX
76
    cmp edi, esi
69
    CMP EDI, ESI
77
    jg l1
70
    JG L1
78
    je l2
71
    JE L2
79
    sar ecx, 2
72
    SAR ECX, 2
80
    js l2
73
    JS L2
81
    rep movsd
74
    REP MOVSD
82
    mov ecx, eax
75
    MOV ECX, EAX
83
    and ecx, 3
76
    AND ECX, 3
84
    rep movsb
77
    REP MOVSB
85
    jmp short l2
78
    JMP SHORT L2
86
l1: lea esi, dsdword[ esi+ecx-4]
79
L1: LEA ESI, DSDWORD[ ESI+ECX-4]
87
    lea edi, dsdword[ edi+ecx-4]
80
    LEA EDI, DSDWORD[ EDI+ECX-4]
88
    sar ecx, 2
81
    SAR ECX, 2
89
    js l2
82
    JS L2
90
    std
83
    STD
91
    rep movsd
84
    REP MOVSD
92
    mov ecx, eax
85
    MOV ECX, EAX
93
    and ecx, 3
86
    AND ECX, 3
94
    add esi, 3
87
    ADD ESI, 3
95
    add edi, 3
88
    ADD EDI, 3
96
    rep movsb
89
    REP MOVSB
97
    cld
90
    CLD
98
l2:
91
L2:
99
  }
92
  }
Line 100... Line 93...
100
}
93
}