Skip to content

Commit cf03858

Browse files
committed
Fix type casting for immediate values in addressing modes and enhance m68k architecture support in cstool
1 parent 3a15f87 commit cf03858

2 files changed

Lines changed: 8 additions & 5 deletions

File tree

arch/M68K/M68KInstPrinter.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -361,10 +361,10 @@ static void printAddressingMode(SStream *O, unsigned int pc,
361361
printRegAddrMode(O, pc, op);
362362
break;
363363
case M68K_AM_ABSOLUTE_DATA_SHORT:
364-
SStream_concat(O, "$%" PRIx32 ".w", op->imm);
364+
SStream_concat(O, "$%" PRIx32 ".w", (uint32_t)op->imm);
365365
break;
366366
case M68K_AM_ABSOLUTE_DATA_LONG:
367-
SStream_concat(O, "$%" PRIx64 ".l", op->imm);
367+
SStream_concat(O, "$%" PRIx64 ".l", (uint64_t)op->imm);
368368
break;
369369
case M68K_AM_IMMEDIATE:
370370
printImmediate(O, inst, op);

cstool/cstool.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -417,9 +417,12 @@ static struct {
417417
{ "xcore", "xcore, big endian", CS_ARCH_XCORE, CS_MODE_BIG_ENDIAN },
418418

419419
{ "m68k", "m68k + big endian", CS_ARCH_M68K, CS_MODE_BIG_ENDIAN },
420-
{ "m68k40", "m68k40", CS_ARCH_M68K, CS_MODE_M68K_040 },
421-
{ "m68k60", "m68k60", CS_ARCH_M68K, CS_MODE_M68K_060 },
422-
{ "m68kcpu32", "m68kcpu32", CS_ARCH_M68K, CS_MODE_M68K_CPU32 },
420+
{ "m68k10", "m68k, 68010", CS_ARCH_M68K, CS_MODE_M68K_010 },
421+
{ "m68k20", "m68k, 68020", CS_ARCH_M68K, CS_MODE_M68K_020 },
422+
{ "m68k30", "m68k, 68030", CS_ARCH_M68K, CS_MODE_M68K_030 },
423+
{ "m68k40", "m68k, 68040", CS_ARCH_M68K, CS_MODE_M68K_040 },
424+
{ "m68k60", "m68k, 68060", CS_ARCH_M68K, CS_MODE_M68K_060 },
425+
{ "m68kcpu32", "m68k, cpu32", CS_ARCH_M68K, CS_MODE_M68K_CPU32 },
423426

424427
{ "tms320c64x", "tms320c64x, big endian", CS_ARCH_TMS320C64X,
425428
CS_MODE_BIG_ENDIAN },

0 commit comments

Comments
 (0)