diff -ruN insight-5.0.92.old/gdb/h8300-tdep.c insight-5.0.92.new/gdb/h8300-tdep.c --- insight-5.0.92.old/gdb/h8300-tdep.c Mon Nov 5 21:42:07 2001 +++ insight-5.0.92.new/gdb/h8300-tdep.c Mon Nov 5 21:38:16 2001 @@ -837,8 +837,10 @@ read_relative_register_raw_bytes (regno, b); l = b[REGISTER_VIRTUAL_SIZE (CCR_REGNUM) - 1]; printf_unfiltered ("\t"); - printf_unfiltered ("I-%d - ", (l & 0x80) != 0); - printf_unfiltered ("H-%d - ", (l & 0x20) != 0); + printf_unfiltered ("I-%d ", (l & 0x80) != 0); + printf_unfiltered ("UI-%d ", (l & 0x40) != 0); + printf_unfiltered ("H-%d ", (l & 0x20) != 0); + printf_unfiltered ("U-%d ", (l & 0x10) != 0); N = (l & 0x8) != 0; Z = (l & 0x4) != 0; V = (l & 0x2) != 0; diff -ruN insight-5.0.92.old/sim/h8300/compile.c insight-5.0.92.new/sim/h8300/compile.c --- insight-5.0.92.old/sim/h8300/compile.c Mon Nov 5 21:42:07 2001 +++ insight-5.0.92.new/sim/h8300/compile.c Mon Nov 5 21:41:05 2001 @@ -81,13 +81,18 @@ #define HIGH_BYTE(x) (((x)>>8) & 0xff) #define P(X,Y) ((X<<8) | Y) -#define BUILDSR() cpu.ccr = (N << 3) | (Z << 2) | (V<<1) | C; +#define BUILDSR() cpu.ccr = (I << 7) | (UI << 6) | (H<<5) | (U<<4) | \ + (N << 3) | (Z << 2) | (V<<1) | C; #define GETSR() \ c = (cpu.ccr >> 0) & 1;\ v = (cpu.ccr >> 1) & 1;\ nz = !((cpu.ccr >> 2) & 1);\ - n = (cpu.ccr >> 3) & 1; + n = (cpu.ccr >> 3) & 1; \ + u = (cpu.ccr >> 4) & 1;\ + h = (cpu.ccr >> 5) & 1;\ + ui = ((cpu.ccr >> 6) & 1);\ + intMaskBit = (cpu.ccr >> 7) & 1; #ifdef __CHAR_IS_SIGNED__ #define SEXTCHAR(x) ((char)(x)) @@ -778,6 +783,10 @@ #define Z (nz == 0) #define V (v != 0) #define N (n != 0) +#define U (u != 0) +#define H (h != 0) +#define UI (ui != 0) +#define I (intMaskBit != 0) static int mop (code, bsize, sign) @@ -936,7 +945,7 @@ int ea; int bit; int pc; - int c, nz, v, n; + int c, nz, v, n, u, h, ui, intMaskBit; int oldmask; init_pointers ();