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

Function ERETA

arch/arm64/disassembler/decode2.c:3857–3880  ·  view source on GitHub ↗

ereta.xml */

Source from the content-addressed store, hash-verified

3855
3856/* ereta.xml */
3857int ERETA(context *ctx, Instruction *instr)
3858{
3859 int rc = DECODE_STATUS_UNMATCHED;
3860 /* class iclass_general */
3861 /* 1101011|opc[3]=0|opc[2:0]=100|op2=11111|op3[5:2]=0000|A=1|M=x|Rn=11111|op4=11111 */
3862 if((INSWORD & 0xFFFFFBFF)==0xD69F0BFF) {
3863 decode_fields32(ENC_ERETAA_64E_BRANCH_REG, ctx, instr);
3864 /* if(ctx->pstate_el==EL0) { UNDEFINED; } */
3865 ctx->pac = (ctx->A==1);
3866 ctx->use_key_a = (ctx->M==0);
3867 if(!ctx->pac && ctx->op4!=0) {
3868 UNDEFINED;
3869 }
3870 else if(ctx->pac && (!HavePACExt() || ctx->op4!=0x1f)) {
3871 UNDEFINED;
3872 }
3873 if(ctx->Rn!=0x1f) {
3874 UNDEFINED;
3875 }
3876 if(ctx->M==0) OK(ENC_ERETAA_64E_BRANCH_REG);
3877 if(ctx->M==1) OK(ENC_ERETAB_64E_BRANCH_REG);
3878 }
3879 return rc;
3880}
3881
3882/* esb.xml */
3883int ESB(context *ctx, Instruction *instr)

Callers 1

decode_iclass_branch_regFunction · 0.85

Calls 1

decode_fields32Function · 0.85

Tested by

no test coverage detected