/*----------------------------------------------------------*\ | | | Ficheiro: FETCH.C | | Alterado em: 18-04-96 | | Alteração: A.J.A.Esteves | | | \*----------------------------------------------------------*/ /*------------ Formato do ficheiro '*.PRG' ------------------ Primeira linha: ----------------------------------------------------------- %d %s ----------------------------------------------------------- <---- No de instruções ---- Comentário -------------------> Restantes linhas: Rom_seting PBL <------match pattern----> Shared Breakpoint name Function pos pat pos pat sub signals flag -------------------------------------------------------------------- %d %d %d %s %d %s %s %d %d %s -------------------------------------------------------------------- *inst inst2 pos1 patt1 pos2 patt2 subset linhas breakpoint <--------------------------variáveis-------------------------------> O último argumento (%s) é um comentário opcional. ------------------------------------------------------------------*/ #include "datadef.h" void fetch (WORD *inst) { int i; char str[80]; #ifdef T32 fscanf (prog,"%d %d %d %s %d %s %s %d %d", inst, &inst2, \ &pos1, patt1,&pos2, patt2,subset,&linhas, &breakpoint); fgets (str, 80, prog); sprintf (prev,actual); sprintf (actual,"***%s %d %d %d %s %d %s %s %d %d", \ str, inst, inst2,pos1,patt1,pos2, patt2, subset, \ linhas, breakpoint); #endif #ifdef T16 fscanf (prog,"%d %d %d %s %d %s %s %d %d", \ inst,&inst2,&pos1,patt1,&pos2,patt2,subset,&linhas,&breakpoint); fgets (str, 80, prog); sprintf (prev,actual); sprintf (actual,"***%s %d %d %d %s %d %s %s %d %d", str, \ *inst,inst2,pos1,patt1,pos2,patt2,subset,linhas,breakpoint); #endif #ifdef PC fscanf (prog,"%ld %ld %ld %s %ld %s %s %ld %ld", \ inst,&inst2,&pos1,patt1,&pos2,patt2,subset,&linhas,&breakpoint); fgets (str, 80, prog); sprintf (prev,actual); sprintf (actual,"***%s %ld %ld %ld %s %ld %s %s %ld \ %ld", str, *inst, inst2, pos1, patt1, pos2, patt2, subset,linhas, breakpoint); #endif for (i=0; i<8; i++) { if ((patt1[i]=='x')||(patt1[i]=='X')) /* ALTERADO */ patt1[i] = DCARE; else patt1[i] -= '0'; if ((patt2[i]=='x')||(patt2[i]=='X')) /* ALTERADO */ patt2[i] = DCARE; else patt2[i] -= '0'; if (i<4) { if ((subset[i]=='x')||(subset[i]=='X')) /* ALTERADO */ subset[i] = DCARE; else subset[i] -= '0'; } } }