Lines Matching refs:p

155     D->status = DASM_S_##st|(int)(p-D->actionlist-1); return; } } while (0)
158 D->status=DASM_S_RANGE_##st|(int)(p-D->actionlist-1); return; } } while (0)
169 dasm_ActList p = D->actionlist + start; in dasm_put() local
186 int action = *p++; in dasm_put()
189 action = *p++; in dasm_put()
196 if (n == 0) { if (mrm < 0) mrm = p[-2]; if ((mrm&7) != 5) break; } in dasm_put()
205 case DASM_SPACE: p++; ofs += n; break; in dasm_put()
207 case DASM_VREG: CK((n&-16) == 0 && (n != 4 || (*p>>5) != 2), RANGE_VREG); in dasm_put()
208 if (*p < 0x40 && p[1] == DASM_DISP) mrm = n; in dasm_put()
209 if (*p < 0x20 && (n&7) == 4) ofs++; in dasm_put()
210 switch ((*p++ >> 3) & 3) { in dasm_put()
223 n = *p++; pl = D->lglabels + n; in dasm_put()
248 case DASM_LABEL_LG: pl = D->lglabels + *p++; CKPL(lg, LG); goto putlabel; in dasm_put()
257 ofs += *p++; /* Maximum alignment needed (arg is 2**n-1). */ in dasm_put()
260 case DASM_EXTERN: p += 2; ofs += 4; break; in dasm_put()
261 case DASM_ESC: p++; ofs++; break; in dasm_put()
262 case DASM_MARK: mrm = p[-2]; break; in dasm_put()
264 n = *p; CK(n < D->maxsection, RANGE_SEC); D->section = &D->sections[n]; in dasm_put()
310 dasm_ActList p = D->actionlist + b[pos++]; in dasm_link() local
313 int action = *p++; in dasm_link()
316 action = *p++; in dasm_link()
319 case DASM_REL_LG: p++; in dasm_link()
343 case DASM_SPACE: case DASM_IMM_LG: case DASM_VREG: p++; in dasm_link()
348 case DASM_LABEL_LG: p++; in dasm_link()
351 case DASM_ALIGN: ofs -= (b[pos++]+ofs)&*p++; break; /* Adjust ofs. */ in dasm_link()
352 case DASM_EXTERN: p += 2; break; in dasm_link()
353 case DASM_ESC: op = *p++; break; in dasm_link()
409 dasm_ActList p = D->actionlist + *b++; in dasm_encode() local
413 int action = *p++; in dasm_encode()
416 action = *p++; in dasm_encode()
422 n = *p++; in dasm_encode()
425 case DASM_EXTERN: n = DASM_EXTERN(Dst, cp, p[1], *p); p += 2; goto wd; in dasm_encode()
427 case DASM_ESC: action = *p++; *cp++ = action; continue; in dasm_encode()
435 if (*p != DASM_IMM_DB && *p != DASM_IMM_WB) mark = NULL; in dasm_encode()
451 int t = *p++; in dasm_encode()
471 case DASM_REL_LG: p++; if (n >= 0) goto rel_pc; in dasm_encode()
485 p++; in dasm_encode()
494 int idx = *p++; in dasm_encode()
496 D->globals[idx-10] = (void *)(base + (*p == DASM_SETLABEL ? *b : n)); in dasm_encode()
500 case DASM_SPACE: { int fill = *p++; while (n--) *cp++ = fill; break; } in dasm_encode()