Lines Matching refs:ins
238 unsigned int ins = *p++; in dasm_put() local
239 unsigned int action = (ins >> 16); in dasm_put()
247 n = (ins & 255); CK(n < D->maxsection, RANGE_SEC); in dasm_put()
251 case DASM_ALIGN: ofs += (ins & 255); b[pos++] = ofs; break; in dasm_put()
253 n = (ins & 2047) - 10; pl = D->lglabels + n; in dasm_put()
273 pl = D->lglabels + (ins & 2047) - 10; CKPL(lg, LG); goto putlabel; in dasm_put()
284 CK((n & ((1<<((ins>>10)&31))-1)) == 0, RANGE_I); in dasm_put()
285 n >>= ((ins>>10)&31); in dasm_put()
287 if ((ins & 0x8000)) in dasm_put()
288 CK(((n + (1<<(((ins>>5)&31)-1)))>>((ins>>5)&31)) == 0, RANGE_I); in dasm_put()
290 CK((n>>((ins>>5)&31)) == 0, RANGE_I); in dasm_put()
368 unsigned int ins = *p++; in dasm_link() local
369 unsigned int action = (ins >> 16); in dasm_link()
374 case DASM_ALIGN: ofs -= (b[pos++] + ofs) & (ins & 255); break; in dasm_link()
416 unsigned int ins = *p++; in dasm_encode() local
417 unsigned int action = (ins >> 16); in dasm_encode()
423 n = DASM_EXTERN(Dst, (unsigned char *)cp, (ins&2047), !(ins&2048)); in dasm_encode()
426 ins &= 255; while ((((char *)cp - base) & ins)) *cp++ = 0xe1a00000; in dasm_encode()
434 if (!(ins & 0xf800)) { /* B, BL */ in dasm_encode()
437 } else if ((ins & 0x800)) { /* B.cond, CBZ, CBNZ, LDR* literal */ in dasm_encode()
440 } else if ((ins & 0x3000) == 0x2000) { /* ADR */ in dasm_encode()
443 } else if ((ins & 0x3000) == 0x3000) { /* ADRP */ in dasm_encode()
445 } else if ((ins & 0x1000)) { /* TBZ, TBNZ */ in dasm_encode()
451 ins &= 2047; if (ins >= 20) D->globals[ins-10] = (void *)(base + n); in dasm_encode()
455 cp[-1] |= (n & ((1<<((ins>>5)&31))-1)) << (ins&31); in dasm_encode()
475 default: *cp++ = ins; break; in dasm_encode()