5 ;extern "C" int blur_bitmap_16
6 ; (unsigned char *dest,int len);
12 push edi ; point to screen
13 push edx ; temporary for unwrapping
19 xor ebx,ebx ; Last pixel
21 mov edi,[esp+20] ; edi is a pointer to the bitmap
22 mov ecx,[esp+24] ; ecx is the amount of pixels to blur
32 ; Now we have unwrapped the green middle out of eax
33 mov edx,eax ; ebx=this pixel (unwrapped) before we changed it
34 add eax,ebx ; add last pixel to this one
35 mov ebx,edx ; ebx=this pixel for next time
60 ; --------------------------------------
64 ;extern "C" int blur_bitmap_15
65 ; (unsigned char *dest,int len);
70 push edi ; point to screen
71 push edx ; temporary for unwrapping
77 xor ebx,ebx ; Last pixel
79 mov edi,[esp+20] ; edi is a pointer to the bitmap
80 mov ecx,[esp+24] ; ecx is the amount of pixels to blur
90 ; Now we have unwrapped the green middle out of eax
91 mov edx,eax ; ebx=this pixel (unwrapped) before we changed it
92 add eax,ebx ; add last pixel to this one
93 mov ebx,edx ; ebx=this pixel for next time
103 ;finished pixel in ax
117 ; ----------------------------
121 ;extern "C" int test_ctv
122 ; (unsigned char *dest,int len);
125 times
($$
-$
) & 3 db 0
127 push edi ; point to screen
128 push edx ; temporary for unwrapping
130 push ebx ; last pixel
134 xor ebx,ebx ; Last pixel
136 mov edi,[esp+20] ; edi is a pointer to the bitmap
137 mov ecx,[esp+24] ; ecx is the amount of pixels to blur
145 mov edx,eax ; ebx=this pixel (unwrapped) before we changed it
146 mov ebx,edx ; ebx=this pixel for next time
152 ;finished pixel in ax
166 %ifdef NASM_STACK_NOEXEC
167 section .note.GNU
-stack noalloc noexec nowrite progbits