pacda.xml */
| 18889 | |
| 18890 | /* pacda.xml */ |
| 18891 | int PACDA(context *ctx, Instruction *instr) |
| 18892 | { |
| 18893 | int rc = DECODE_STATUS_UNMATCHED; |
| 18894 | /* class iclass_general */ |
| 18895 | /* sf=1|1|S=0|11010110|opcode2=00001|opcode[5]=0|opcode[4]=0|Z=x|opcode[2:0]=010|Rn=xxxxx|Rd=xxxxx */ |
| 18896 | if((INSWORD & 0xFFFFDC00)==0xDAC10800) { |
| 18897 | decode_fields32(ENC_PACDA_64P_DP_1SRC, ctx, instr); |
| 18898 | ctx->source_is_sp = FALSE; |
| 18899 | ctx->d = UINT(ctx->Rd); |
| 18900 | ctx->n = UINT(ctx->Rn); |
| 18901 | if(!HavePACExt()) { |
| 18902 | UNDEFINED; |
| 18903 | } |
| 18904 | if(ctx->Z==0) { |
| 18905 | if(ctx->n==0x1f) { |
| 18906 | ctx->source_is_sp = TRUE; |
| 18907 | } |
| 18908 | } |
| 18909 | else { |
| 18910 | if(ctx->n!=0x1f) { |
| 18911 | UNDEFINED; |
| 18912 | } |
| 18913 | } |
| 18914 | if(ctx->Z==0) OK(ENC_PACDA_64P_DP_1SRC); |
| 18915 | if(ctx->Z==1 && ctx->Rn==0x1f) OK(ENC_PACDZA_64Z_DP_1SRC); |
| 18916 | } |
| 18917 | return rc; |
| 18918 | } |
| 18919 | |
| 18920 | /* pacdb.xml */ |
| 18921 | int PACDB(context *ctx, Instruction *instr) |
no test coverage detected