asrv.xml */
| 730 | |
| 731 | /* asrv.xml */ |
| 732 | int ASRV(context *ctx, Instruction *instr) |
| 733 | { |
| 734 | int rc = DECODE_STATUS_UNMATCHED; |
| 735 | /* class iclass_general */ |
| 736 | /* sf=x|op=0|S=0|11010110|Rm=xxxxx|opcode2[5:2]=0010|op2=10|Rn=xxxxx|Rd=xxxxx */ |
| 737 | if((INSWORD & 0x7FE0FC00)==0x1AC02800) { |
| 738 | decode_fields32(ENC_ASRV_32_DP_2SRC, ctx, instr); |
| 739 | ctx->d = UINT(ctx->Rd); |
| 740 | ctx->n = UINT(ctx->Rn); |
| 741 | ctx->m = UINT(ctx->Rm); |
| 742 | ctx->datasize = (ctx->sf==1) ? 0x40 : 0x20; |
| 743 | ctx->shift_type = DecodeShift(ctx->op2); |
| 744 | /* unconditional alias */ |
| 745 | if(ASR_ASRV(ctx, instr)==0) return 0; |
| 746 | if(ctx->sf==0) OK(ENC_ASRV_32_DP_2SRC); |
| 747 | if(ctx->sf==1) OK(ENC_ASRV_64_DP_2SRC); |
| 748 | } |
| 749 | return rc; |
| 750 | } |
| 751 | |
| 752 | /* asr_asrv.xml */ |
| 753 | int ASR_ASRV(context *ctx, Instruction *instr) |
no test coverage detected