Розробка програми-інтерпритатора, виконуючий розбір тексту ASM файлу на рівні команд, страница 3

                continue;  }

             if (!strcmp(com,"sub")){

                if (!strcmp(op1,"")){

  puts("Wrong parameter"); scroll();  continue; }

                if (!strcmp(op2,"")){

  puts("Wrong parameter"); scroll();  continue; }

      if (zn(op1)){

  puts("Wrong insruction"); scroll();  continue; }

      if (zn(op2)){

*Search(op1)-=atoi(op2);  scroll();  continue; }

      if (Search(op1)!=NULL && Search(op2)!=NULL){

  *Search(op1)-=*Search(op2);    }

else puts("Wrong insruction"); scroll();continue;}

             if (!strcmp(com,"shl")){

                 if (!strcmp(op1,"")){

   puts("Wrong parameter"); scroll(); continue;}

      if (!strcmp(op2,"")){

  puts("Wrong parameter"); scroll(); continue; }

      if (zn(op1)){

  puts("Wrong insruction"); scroll(); continue;}

      if (zn(op2)){

*Search(op1)*=(atoi(op2)*2); scroll(); continue;}

      if (Search(op1)!=NULL && Search(op2)!=NULL){

*Search(op1)*=(*Search(op2)*2);    }

else puts("Wrong insruction"); scroll();continue;}

             if (!strcmp(com,"shr")){

                if (!strcmp(op1,"")){

puts("Wrong parameter");  scroll();  continue;  }

                if (!strcmp(op2,"")){

  puts("Wrong parameter"); scroll();  continue; }

      if (zn(op1)){

  puts("Wrong insruction"); scroll();  continue; }

                if (zn(op2)){

*Search(op1)/=(atoi(op2)*2);  scroll(); continue;}

      if (Search(op1)!=NULL && Search(op2)!=NULL){

*Search(op1)/=(*Search(op2)*2);     }

else puts("Wrong insruction");scroll();continue; }

   if (!strcmp(com,"xor")){

       if(!strcmp(op1,"")){

puts("Wrong parameter"); scroll(); continue;}

      if (!strcmp(op2,"")){

 puts("Wrong parameter"); scroll(); continue; }

      if (zn(op1)){

puts("Wrong insruction"); scroll(); continue; }

      if (zn(op2)){

*Search(op1)^=atoi(op2);scroll();continue;}

      if (Search(op1)!=NULL && Search(op2)!=NULL){

*Search(op1)^=*Search(op2);}

else puts("Wrong insruction"); scroll();continue;}

             if (!strcmp(com,"inc")){

                 if (!strcmp(op1,"")){

   puts("Wrong parameter"); scroll(); continue; }

                if (strcmp(op2,"")){

puts("Extra parameter");scroll(); continue; }

      if (zn(op1)){

puts("Wrong insruction"); scroll();continue;  }

      if (Search(op1)!=NULL){

*Search(op1)+=1;  }

else puts("Wrong insruction"); scroll();continue;}

             if (!strcmp(com,"dec")){

                if (!strcmp(op1,"")){

  puts("Wrong parameter"); scroll(); continue;}

                if (strcmp(op2,"")){

 puts("Extra parameter");  scroll();  continue;  }

      if (zn(op1)){

  puts("Wrong insruction"); scroll();continue; }

      if (Search(op1)!=NULL){

         *Search(op1)-=1;   }

 else puts("Wrong insruction");scroll();continue;}

   if (!strcmp(com,"not")){

       if (!strcmp(op1,"")){

puts("Wrong parameter"); scroll();continue;   }

                if (strcmp(op2,"")){

  puts("Extra parameter");  scroll();  continue;  }

      if (zn(op1)){