Lines Matching refs:sav
113 Vcdsave_t* sav = vcd->save;
121 if(sav->dtsz > 0)
122 { if(sav->mode >= 0) /* saved COPY, no merged COPY+COPY */
123 vcdflscopy(vcd, sav->addr, sav->dtsz, sav->mode);
125 { if(cz <= 0 || sav->dtsz > siz->add1[md] || cz > siz->copy2[md])
126 vcdflsadd(vcd, sav->addr, sav->dtsz);
128 { cd = idx->addcopy[sav->dtsz][md][cz];
131 if(sav->addr < vcd->vcpa.nsrc)
132 data = vcd->vcpa.src + sav->addr;
133 else data = vcd->vcpa.tar + (sav->addr - vcd->vcpa.nsrc);
134 vcioputs(vcd->data, data, sav->dtsz);
141 sav->dtsz = cz; /* save current COPY instruction */
142 sav->addr = ad;
143 sav->mode = md;
159 Vcdsave_t* sav = vcd->save;
164 if(sav->dtsz > 0) /* there is a saved instruction */
165 { if(sav->mode < 0) /* parsing error? no two ADDs in a row possible */
168 if(sav->dtsz <= siz->copy1[sav->mode] && az <= siz->add2[sav->mode])
169 { cd = idx->copyadd[sav->mode][sav->dtsz][az];
172 vcdflsaddr(vcd, sav->addr, sav->mode);
179 else vcdflscopy(vcd, sav->addr, sav->dtsz, sav->mode);
182 sav->dtsz = az; /* save current ADD instruction */
183 sav->addr = dt;
184 sav->mode = -1;