MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / LDLAR

Function LDLAR

arch/arm64/disassembler/decode2.c:14008–14029  ·  view source on GitHub ↗

ldlar.xml */

Source from the content-addressed store, hash-verified

14006
14007/* ldlar.xml */
14008int LDLAR(context *ctx, Instruction *instr)
14009{
14010 int rc = DECODE_STATUS_UNMATCHED;
14011 /* class iclass_base_register */
14012 /* size=1x|001000|o2=1|L=1|o1=0|Rs=(1)(1)(1)(1)(1)|o0=0|Rt2=(1)(1)(1)(1)(1)|Rn=xxxxx|Rt=xxxxx */
14013 if((INSWORD & 0xBFE08000)==0x88C00000) {
14014 decode_fields32(ENC_LDLAR_LR32_LDSTORD, ctx, instr);
14015 ctx->n = UINT(ctx->Rn);
14016 ctx->t = UINT(ctx->Rt);
14017 ctx->t2 = UINT(ctx->Rt2);
14018 ctx->s = UINT(ctx->Rs);
14019 ctx->acctype = (ctx->o0==0) ? AccType_LIMITEDORDERED : AccType_ORDERED;
14020 ctx->memop = (ctx->L==1) ? MemOp_LOAD : MemOp_STORE;
14021 ctx->elsize = (8) << (UINT(ctx->size));
14022 ctx->regsize = (ctx->elsize==0x40) ? 0x40 : 0x20;
14023 ctx->datasize = ctx->elsize;
14024 ctx->tag_checked = ctx->n!=0x1f;
14025 if(ctx->size==2) OK(ENC_LDLAR_LR32_LDSTORD);
14026 if(ctx->size==3) OK(ENC_LDLAR_LR64_LDSTORD);
14027 }
14028 return rc;
14029}
14030
14031/* ldlarb.xml */
14032int LDLARB(context *ctx, Instruction *instr)

Callers 1

decode_iclass_ldstordFunction · 0.85

Calls 1

decode_fields32Function · 0.85

Tested by

no test coverage detected