rl78_decode_opcode (unsigned long pc AU,
RL78_Opcode_Decoded * rl78,
int (* getbyte)(void *),
- void * ptr)
+ void * ptr,
+ RL78_Dis_Isa isa)
{
LocalData lds, * ld = &lds;
unsigned char op_buf[20] = {0};
/** 1001 1111 mov %e!0, %1 */
ID(mov); DM(None, IMMU(2)); SR(A);
-/** 1001 1001 mov %e0,%1 */
+/** 1001 1001 mov %e0, %1 */
ID(mov); DM(DE, 0); SR(A);
/** 1100 1010 mov %e0, #%1 */
/** 1001 1010 mov %e0, %1 */
ID(mov); DM(DE, IMMU(1)); SR(A);
-/** 1001 1011 mov %e0,%1 */
+/** 1001 1011 mov %e0, %1 */
ID(mov); DM(HL, 0); SR(A);
/** 0110 0001 1101 1001 mov %e0, %1 */
op0 = SFR;
op1 = IMMU(1);
ID(mov); DM(None, op0); SC(op1);
- if (op0 == 0xffffb)
+ if (op0 == 0xffffb && isa == RL78_ISA_G14)
switch (op1)
{
case 0x01:
/*----------------------------------------------------------------------*/
/** 1101 0110 mulu x */
- ID(mulu);
+ if (isa == RL78_ISA_G14)
+ ID(mulu);
/*----------------------------------------------------------------------*/