armemu: Implement REVSH
This commit is contained in:
parent
bc81cc9490
commit
8045df14d2
1 changed files with 9 additions and 5 deletions
|
@ -6076,10 +6076,10 @@ L_stm_s_takeabort:
|
||||||
ror = 24;
|
ror = 24;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xf3:
|
case 0xf3: // REV
|
||||||
DEST = ((RHS & 0xFF) << 24) | ((RHS & 0xFF00)) << 8 | ((RHS & 0xFF0000) >> 8) | ((RHS & 0xFF000000) >> 24);
|
DEST = ((RHS & 0xFF) << 24) | ((RHS & 0xFF00)) << 8 | ((RHS & 0xFF0000) >> 8) | ((RHS & 0xFF000000) >> 24);
|
||||||
return 1;
|
return 1;
|
||||||
case 0xfb:
|
case 0xfb: // REV16
|
||||||
DEST = ((RHS & 0xFF) << 8) | ((RHS & 0xFF00)) >> 8 | ((RHS & 0xFF0000) << 8) | ((RHS & 0xFF000000) >> 8);
|
DEST = ((RHS & 0xFF) << 8) | ((RHS & 0xFF00)) >> 8 | ((RHS & 0xFF0000) << 8) | ((RHS & 0xFF000000) >> 8);
|
||||||
return 1;
|
return 1;
|
||||||
default:
|
default:
|
||||||
|
@ -6206,9 +6206,13 @@ L_stm_s_takeabort:
|
||||||
ror = 24;
|
ror = 24;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xfb:
|
case 0xfb: // REVSH
|
||||||
printf("Unhandled v6 insn: revsh\n");
|
{
|
||||||
return 0;
|
DEST = ((RHS & 0xFF) << 8) | ((RHS & 0xFF00) >> 8);
|
||||||
|
if (DEST & 0x8000)
|
||||||
|
DEST |= 0xffff0000;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue