mrs.xml */
| 18041 | |
| 18042 | /* mrs.xml */ |
| 18043 | int MRS(context *ctx, Instruction *instr) |
| 18044 | { |
| 18045 | int rc = DECODE_STATUS_UNMATCHED; |
| 18046 | /* class iclass_system */ |
| 18047 | /* 1101010100|L=1|op0[1]=1|o0=x|op1=xxx|CRn=xxxx|CRm=xxxx|op2=xxx|Rt=xxxxx */ |
| 18048 | if((INSWORD & 0xFFF00000)==0xD5300000) { |
| 18049 | decode_fields32(ENC_MRS_RS_SYSTEMMOVE, ctx, instr); |
| 18050 | CheckSystemAccess(((1<<1)|ctx->o0),ctx->op1,ctx->CRn,ctx->CRm,ctx->op2,ctx->Rt,ctx->L); |
| 18051 | ctx->t = UINT(ctx->Rt); |
| 18052 | ctx->sys_op0 = 2+UINT(ctx->o0); |
| 18053 | ctx->sys_op1 = UINT(ctx->op1); |
| 18054 | ctx->sys_op2 = UINT(ctx->op2); |
| 18055 | ctx->sys_crn = UINT(ctx->CRn); |
| 18056 | ctx->sys_crm = UINT(ctx->CRm); |
| 18057 | ctx->read = (ctx->L==1); |
| 18058 | OK(ENC_MRS_RS_SYSTEMMOVE); |
| 18059 | } |
| 18060 | return rc; |
| 18061 | } |
| 18062 | |
| 18063 | /* msr_imm.xml */ |
| 18064 | int MSR_imm(context *ctx, Instruction *instr) |
no test coverage detected