6 void decode_data_asm(ubyte *data, int num_pixels, ubyte * colormap, int * count );
7 #pragma aux decode_data_asm parm [esi] [ecx] [edi] [ebx] modify exact [esi edi eax ebx ecx] = \
11 "inc dword ptr [ebx+eax*4]" \
17 #elif defined __GNUC__
18 static inline void decode_data_asm(ubyte *data, int num_pixels, ubyte * colormap, int * count ) {
20 __asm__ __volatile__ (
24 "incl (%%ebx, %%eax, 4);"
25 "movb (%%edi, %%eax), %%al;"
30 : "=S" (dummy[0]), "=c" (dummy[1]), "=D" (dummy[2]), "=b" (dummy[3])
31 : "0" (data), "1" (num_pixels), "2" (colormap), "3" (count)
34 #elif defined _MSC_VER
35 __inline void decode_data_asm(ubyte *data, int num_pixels, ubyte * colormap, int * count )
45 inc dword ptr [ebx+eax*4]
54 #define NO_ASM 1 // We really do want no assembler...
59 static void decode_data_asm(ubyte *data, int num_pixels, ubyte *colormap, int *count)
64 for (i = 0; i < num_pixels; i++) {
67 *data = colormap[mapped];