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

Function CSNEG

arch/arm64/disassembler/decode2.c:3220–3240  ·  view source on GitHub ↗

csneg.xml */

Source from the content-addressed store, hash-verified

3218
3219/* csneg.xml */
3220int CSNEG(context *ctx, Instruction *instr)
3221{
3222 int rc = DECODE_STATUS_UNMATCHED;
3223 /* class iclass_general */
3224 /* sf=x|op=1|S=0|11010100|Rm=xxxxx|cond=xxxx|op2[1]=0|o2=1|Rn=xxxxx|Rd=xxxxx */
3225 if((INSWORD & 0x7FE00C00)==0x5A800400) {
3226 decode_fields32(ENC_CSNEG_32_CONDSEL, ctx, instr);
3227 ctx->d = UINT(ctx->Rd);
3228 ctx->n = UINT(ctx->Rn);
3229 ctx->m = UINT(ctx->Rm);
3230 ctx->datasize = (ctx->sf==1) ? 0x40 : 0x20;
3231 ctx->condition = ctx->cond;
3232 ctx->else_inv = (ctx->op==1);
3233 ctx->else_inc = (ctx->o2==1);
3234 /* regular aliases */
3235 if((ctx->cond&14)!=14 && ctx->Rn==ctx->Rm) return CNEG_CSNEG(ctx, instr);
3236 if(ctx->sf==0) OK(ENC_CSNEG_32_CONDSEL);
3237 if(ctx->sf==1) OK(ENC_CSNEG_64_CONDSEL);
3238 }
3239 return rc;
3240}
3241
3242/* dcps1.xml */
3243int DCPS1(context *ctx, Instruction *instr)

Callers 1

decode_iclass_condselFunction · 0.85

Calls 2

decode_fields32Function · 0.85
CNEG_CSNEGFunction · 0.85

Tested by

no test coverage detected