Rev 3067 | Rev 3128 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3067 | Rev 3107 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | //mem.Init |
1 | dword mem_init() |
2 | dword mem_Init() |
2 | { |
3 | { |
3 | $push ebx |
4 | $push ebx |
4 | $mov eax, 68 |
5 | $mov eax, 68 |
5 | $mov ebx, 11 |
6 | $mov ebx, 11 |
6 | $int 0x40 |
7 | $int 0x40 |
7 | |
Line 8... | Line 8... | ||
8 | 8 | $pop ebx |
|
9 | $pop ebx |
9 | return EAX; |
10 | return EAX; |
10 | } |
Line 11... | Line -... | ||
11 | } |
- | |
12 | 11 | ||
13 | //mem.Alloc |
12 | dword malloc(dword size) |
14 | dword mem_Alloc(dword size) |
13 | { |
15 | { |
14 | $push ebx |
16 | $push ebx |
15 | $push ecx |
17 | $push ecx |
16 | $mov eax, 68 |
Line 23... | Line 22... | ||
23 | $pop ecx |
22 | $pop ebx |
24 | $pop ebx |
23 | return EAX; |
25 | return EAX; |
24 | } |
26 | } |
25 | |
Line 27... | Line -... | ||
27 | - | ||
28 | //mem.ReAlloc |
26 | stdcall dword realloc(dword mptr, size) |
29 | stdcall dword mem_ReAlloc(dword mptr, size) |
27 | { |
30 | { |
28 | $push ebx |
31 | $push ebx |
29 | $push ecx |
32 | $push ecx |
30 | $push edx |
33 | $push edx |
31 | $mov eax, 68 |
Line 41... | Line 39... | ||
41 | $pop ecx |
39 | $pop ebx |
42 | $pop ebx |
40 | return EAX; |
43 | return EAX; |
41 | } |
44 | } |
42 | |
Line 45... | Line -... | ||
45 | - | ||
46 | //mem.Free |
43 | dword free(dword mptr) |
47 | void mem_Free(dword mptr) |
44 | { |
48 | { |
45 | $push eax |
49 | $push eax |
46 | $push ebx |
50 | $push ebx |
47 | $push ecx |
51 | $push ecx |
48 | $mov eax, 68 |
Line 57... | Line 54... | ||
57 | $int 0x40 |
54 | @end0: |
58 | @end0: |
55 | $pop ecx |
59 | $pop ecx |
56 | $pop ebx |
60 | $pop ebx |
57 | $pop eax |
61 | $pop eax |
58 | return 0; |
- | 59 | } |
|
62 | } |
60 | |
Line 63... | Line -... | ||
63 | - | ||
64 | //stdcall dword ?? |
61 | inline fastcall memmov( EDI, ESI, ECX) |
65 | inline fastcall mem_Move( EDI, ESI, ECX) |
62 | { |
66 | { |
63 | asm { |
67 | asm { |
64 | MOV EAX, ECX |
68 | MOV EAX, ECX |
65 | CMP EDI, ESI |
69 | CMP EDI, ESI |
66 | JG L1 |
Line 90... | Line 87... | ||
90 | CLD |
87 | L2: |
91 | L2: |
88 | } |
92 | } |
89 | } |
93 | } |
90 | |
Line -... | Line 91... | ||
- | 91 | #define mem_Alloc malloc |
|
- | 92 | #define mem_ReAlloc realloc |
|
- | 93 | #define mem_Free free |
|
- | 94 | #define mem_Init mem_init |
|
Line 94... | Line 95... | ||
94 | 95 | ||
95 | 96 | /*:void fastcall memsetz( EDI, ECX) |
|
96 | /*:void fastcall memsetz( EDI, ECX) |
97 | { |
97 | { |
98 | asm { |
Line 104... | Line 105... | ||
104 | AND ECX, 3 |
105 | REP STOSB |
105 | REP STOSB |
106 | } |
106 | } |
107 | } |
107 | } |
108 | |
Line 108... | Line 109... | ||
108 | 109 | :void fastcall memset( EDI, ECX, AL) //copy AL to EDI of ECX num (void *dest, size_t, char c ) |
|
109 | :void fastcall memset( EDI, ECX, AL) |
110 | { |
110 | { |
111 | asm { |
111 | asm { |
112 | MOV AH, AL |
112 | MOV AH, AL |
113 | MOVZX EDX, AX |
113 | MOVZX EDX, AX |
114 | SHL EAX, 16 |