Diff for /np2/i386c/ia32/cpu.h between versions 1.40 and 1.43

version 1.40, 2011/12/21 18:02:15 version 1.43, 2012/01/29 02:59:28
Line 170  typedef struct { Line 170  typedef struct {
         UINT8           user_mode;          UINT8           user_mode;
   
         UINT8           hlt;          UINT8           hlt;
         UINT8           bp;     /* break point bitmap */          UINT8           bp;             /* break point bitmap */
         UINT8           bp_ev;  /* break point event */          UINT8           bp_ev;          /* break point event */
   
         UINT8           backout_sp;     /* backout ESP, when exception */          UINT8           backout_sp;     /* backout ESP, when exception */
   
Line 213  typedef struct { Line 213  typedef struct {
 } FPU_REGS;  } FPU_REGS;
   
 typedef struct {  typedef struct {
         UINT8           valid;  /* レジスタ有効 */          UINT8           valid;
         UINT8           sign;   /* 符号 */          UINT8           sign;
         UINT8           zero;   /* ゼロ */          UINT8           zero;
         UINT8           inf;    /* ∞ */          UINT8           inf;
         UINT8           nan;    /* NaN */          UINT8           nan;
         UINT8           denorm; /* 非正規化 */          UINT8           denorm;
         SINT16          exp;    /* 指数部 */          SINT16          exp;
         UINT64          num;    /* 小数部 */          UINT64          num;
 } FP_REG;  } FP_REG;
   
 typedef struct {  typedef struct {
         UINT8           top;    /* スタック位置 */          UINT8           top;
         UINT8           pc;     /* 精度 */          UINT8           pc;
         UINT8           rc;     /* 丸め */          UINT8           rc;
         UINT8           dmy[1];          UINT8           dmy[1];
   
         FP_REG          reg[FPU_REG_NUM];          FP_REG          reg[FPU_REG_NUM];
Line 264  typedef struct { Line 264  typedef struct {
 } I386EXT;  } I386EXT;
   
 typedef struct {  typedef struct {
         I386STAT        s;                              /* STATsaveされる奴 */          I386STAT        s;              /* STATsave'ed */
         I386EXT         e;          I386EXT         e;
 } I386CORE;  } I386CORE;
   
Line 684  void dbg_printf(const char *str, ...); Line 684  void dbg_printf(const char *str, ...);
 #define FPU_REG(i)              FPU_STAT.reg[i]  #define FPU_REG(i)              FPU_STAT.reg[i]
   
 /* FPU status register */  /* FPU status register */
 #define FP_IE_FLAG      (1 << 0)        /* 無効な動作 */  #define FP_IE_FLAG      (1 << 0)        /* 無効な動作 */
 #define FP_DE_FLAG      (1 << 1)        /* デノーマライズド・オペランド */  #define FP_DE_FLAG      (1 << 1)        /* デノーマライズド・オペランド */
 #define FP_ZE_FLAG      (1 << 2)        /* ゼロによる除算 */  #define FP_ZE_FLAG      (1 << 2)        /* ゼロによる除算 */
 #define FP_OE_FLAG      (1 << 3)        /* オーバーフロー */  #define FP_OE_FLAG      (1 << 3)        /* オーバーフロー */
 #define FP_UE_FLAG      (1 << 4)        /* アンダーフロー */  #define FP_UE_FLAG      (1 << 4)        /* アンダーフロー */
 #define FP_PE_FLAG      (1 << 5)        /* 精度 */  #define FP_PE_FLAG      (1 << 5)        /* 精度 */
 #define FP_SF_FLAG      (1 << 6)        /* スタックフォルト */  #define FP_SF_FLAG      (1 << 6)        /* スタックフォルト */
 #define FP_ES_FLAG      (1 << 7)        /* エラーサマリステータス */  #define FP_ES_FLAG      (1 << 7)        /* エラーサマリステータス */
 #define FP_C0_FLAG      (1 << 8)        /* 条件コード */  #define FP_C0_FLAG      (1 << 8)        /* 条件コード */
 #define FP_C1_FLAG      (1 << 9)        /* 条件コード */  #define FP_C1_FLAG      (1 << 9)        /* 条件コード */
 #define FP_C2_FLAG      (1 << 10)       /* 条件コード */  #define FP_C2_FLAG      (1 << 10)       /* 条件コード */
 #define FP_TOP_FLAG     (7 << 11)       /* スタックポイントのトップ */  #define FP_TOP_FLAG     (7 << 11)       /* スタックポイントのトップ */
 #define FP_C3_FLAG      (1 << 14)       /* 条件コード */  #define FP_C3_FLAG      (1 << 14)       /* 条件コード */
 #define FP_B_FLAG       (1 << 15)       /* FPU ビジー */  #define FP_B_FLAG       (1 << 15)       /* FPU ビジー */
   
 #define FP_TOP_SHIFT    11  #define FP_TOP_SHIFT    11
 #define FP_TOP_GET()    ((FPU_STATUSWORD & FP_TOP_FLAG) >> FP_TOP_SHIFT)  #define FP_TOP_GET()    ((FPU_STATUSWORD & FP_TOP_FLAG) >> FP_TOP_SHIFT)
Line 713  do { \ Line 713  do { \
 } while (/*CONSTCOND*/0)  } while (/*CONSTCOND*/0)
   
 /* FPU control register */  /* FPU control register */
 #define FP_CTRL_PC_SHIFT        8       /* 度制御 */  #define FP_CTRL_PC_SHIFT        8       /* 膕上墾蛻カ蠕。 */
 #define FP_CTRL_RC_SHIFT        10      /* 丸め制御 */  #define FP_CTRL_RC_SHIFT        10      /* 荳ク繧∝宛蠕。 */
   
 #define FP_CTRL_PC_24           0       /* テアタコナル */  #define FP_CTRL_PC_24           0       /* 蜊倡イセ蠎ヲ */
 #define FP_CTRL_PC_53           1       /* ヌワタコナル */  #define FP_CTRL_PC_53           1       /* 蛟咲イセ蠎ヲ */
 #define FP_CTRL_PC_64           3       /* ウネト・タコナル */  #define FP_CTRL_PC_64           3       /* 諡。蠑オ邊セ蠎ヲ */
   
 #define FP_CTRL_RC_NEAREST_EVEN 0  #define FP_CTRL_RC_NEAREST_EVEN 0
 #define FP_CTRL_RC_DOWN         1  #define FP_CTRL_RC_DOWN         1
Line 774  typedef struct { Line 774  typedef struct {
 } disasm_context_t;  } disasm_context_t;
   
 int disasm(UINT32 *eip, disasm_context_t *ctx);  int disasm(UINT32 *eip, disasm_context_t *ctx);
   char *cpu_disasm2str(UINT32 eip);
   
 #ifdef __cplusplus  #ifdef __cplusplus
 }  }

Removed from v.1.40  
changed lines
  Added in v.1.43


RetroPC.NET-CVS <cvs@retropc.net>