asembler


#include
#include


//extern void asmm(char * tab1, char * tab2, int a, int b);
extern void filter(char tab1[], char tab2[], int l1, int p1, int l2, int p2, int l3, int p3, int l4, int p4);
extern void asmm(char * tab1, char * tab2, int a, int b);

int main(int argc, char *argv[])
{

int i,j,k;

FILE *f1 = fopen("aaa.bmp", "rb");
FILE *f2 = fopen("bbb.bmp", "wb");
FILE *f3 = fopen("ccc.bmp","wb");
fseek (f1 , 0 , SEEK_END);

int n = ftell (f1);
fseek (f1 , 0 , SEEK_SET);

char *tab1 = (char*) malloc (sizeof(char)*n);

char *tab2 = (char*) malloc (sizeof(char)*n);
char *tab3 = (char*) malloc (sizeof(char)*n);
fread(tab1, 1, n, f1);

for(i=0;i<54;i++){tab2[i]=tab1[i];}
for(i=0;i<600;i++)
{

for(j=0;j<865;j=j+2)
{
//funkcja asmm jako moduł asemblera
// asmm(tab1, tab2, (i*865*3+i)+(j*3)+54,(i*865*3+i)+(865*3)-(j*3)+54);
// asmm(tab1, tab2, (i*865*3+i)+(j*3)+1+54,(i*865*3+i)+(865*3)-(j*3)+1+54);
// asmm(tab1, tab2, (i*865*3+i)+(j*3)+2+54,(i*865*3+i)+(865*3)-(j*3)+2+54); // asmm(tab1,tab2,(i*865*3+i)+(865*3)-(j*3)+54,(i*865*3+i)+(j*3)+54); // tab2[(i*865*3+i)+(865*3)-(j*3)+54]=tab1[(i*865*3+i)+(j*3)+54]; // tab2[(i*865*3+i)+(865*3)-(j*3)+1+54]=tab1[(i*865*3+i)+(j*3)+1+54]; // tab2[(i*865*3+i)+(865*3)-(j*3)+2+54]=tab1[(i*865*3+i)+(j*3)+2+54]; // tab2[(i*865*3+i)+(j*3)+54]=tab1[(i*865*3+i)+(865*3)-(j*3)+54]; /*for(k=0;k<2;k++){
tab3[(i*865*3+i)+(j*3)+54+k*3]=(tab1[(i*865*3+i)+(j*3)+54]+tab1[(i*865*3+i)+(j*3)+54+3])/2;
tab3[(i*865*3+i)+(j*3)+1+54+k*3]=(tab1[(i*865*3+i)+(j*3)+54+1]+tab1[(i*865*3+i)+(j*3)+54+1+3])/2;
tab3[(i*865*3+i)+(j*3)+2+54+k*3]=(tab1[(i*865*3+i)+(j*3)+54+2]+tab1[(i*865*3+i)+(j*3)+54+2+3])/2; }*/
filter(tab1,tab2,(i*865*3+i)+(j*3)+54,(i*865*3+i)+(865*3)-(j*3)+54,(i*865*3+i)+(j*3)+1+54,(i*865*3+i)+(865*3)-(j*3)+1+54,(i*865*3+i)+(j*3)+2+54, (i*865*3+i)+(865*3)-(j*3)+2+54,(i*865*3+i)+(865*3)-(j*3)+54,(i*865*3+i)+(j*3)+54); }
} fwrite(tab2, 1, n, f2); fwrite(tab3, 1, n, f3);

fclose(f1);
fclose(f2); fclose(f3);

return(0);

}


Wyszukiwarka

Podobne podstrony:
Asembler linux
Asembler w TSR KURS2
TASM operacje asembler
21 Pisanie i uruchamianie programów w asemblerze
Procedury arytmetyczne w języku Asembler ST7
OAK W11 Asembler Pentium
Asembler Podstawy programowania w Windows
Asembler w TSR KURS0
Praktyczny kurs asemblera
Asembler w TSR KURS5
Asembler Operacje na Plikach

więcej podobnych podstron