aboutsummaryrefslogtreecommitdiff
path: root/sim/m32r/cpu.h
diff options
context:
space:
mode:
Diffstat (limited to 'sim/m32r/cpu.h')
-rw-r--r--sim/m32r/cpu.h35
1 files changed, 22 insertions, 13 deletions
diff --git a/sim/m32r/cpu.h b/sim/m32r/cpu.h
index fa475d5..f3df6be 100644
--- a/sim/m32r/cpu.h
+++ b/sim/m32r/cpu.h
@@ -50,14 +50,14 @@ typedef struct {
#define SET_H_CR(index, x) \
do { \
m32rbf_h_cr_set_handler (current_cpu, (index), (x));\
-} while (0)
+;} while (0)
/* accumulator */
DI h_accum;
#define GET_H_ACCUM() m32rbf_h_accum_get_handler (current_cpu)
#define SET_H_ACCUM(x) \
do { \
m32rbf_h_accum_set_handler (current_cpu, (x));\
-} while (0)
+;} while (0)
/* condition bit */
BI h_cond;
#define GET_H_COND() CPU (h_cond)
@@ -68,7 +68,7 @@ m32rbf_h_accum_set_handler (current_cpu, (x));\
#define SET_H_PSW(x) \
do { \
m32rbf_h_psw_set_handler (current_cpu, (x));\
-} while (0)
+;} while (0)
/* backup psw */
UQI h_bpsw;
#define GET_H_BPSW() CPU (h_bpsw)
@@ -137,30 +137,24 @@ union sem_fields {
struct { /* */
SI* i_dr;
UINT f_hi16;
- unsigned char out_dr;
- } sfmt_seth;
- struct { /* */
- SI* i_sr;
UINT f_r1;
- unsigned char in_sr;
- } sfmt_mvtc;
- struct { /* */
- SI* i_dr;
- UINT f_r2;
unsigned char out_dr;
- } sfmt_mvfc;
+ } sfmt_seth;
struct { /* */
ADDR i_uimm24;
SI* i_dr;
+ UINT f_r1;
unsigned char out_dr;
} sfmt_ld24;
struct { /* */
SI* i_sr;
+ UINT f_r2;
unsigned char in_sr;
unsigned char out_h_gr_14;
} sfmt_jl;
struct { /* */
SI* i_dr;
+ UINT f_r1;
UINT f_uimm5;
unsigned char in_dr;
unsigned char out_dr;
@@ -168,12 +162,15 @@ union sem_fields {
struct { /* */
SI* i_dr;
INT f_simm8;
+ UINT f_r1;
unsigned char in_dr;
unsigned char out_dr;
} sfmt_addi;
struct { /* */
SI* i_src1;
SI* i_src2;
+ UINT f_r1;
+ UINT f_r2;
unsigned char in_src1;
unsigned char in_src2;
unsigned char out_src2;
@@ -182,12 +179,16 @@ union sem_fields {
SI* i_src1;
SI* i_src2;
INT f_simm16;
+ UINT f_r1;
+ UINT f_r2;
unsigned char in_src1;
unsigned char in_src2;
} sfmt_st_d;
struct { /* */
SI* i_dr;
SI* i_sr;
+ UINT f_r1;
+ UINT f_r2;
unsigned char in_sr;
unsigned char out_dr;
unsigned char out_sr;
@@ -196,12 +197,16 @@ union sem_fields {
IADDR i_disp16;
SI* i_src1;
SI* i_src2;
+ UINT f_r1;
+ UINT f_r2;
unsigned char in_src1;
unsigned char in_src2;
} sfmt_beq;
struct { /* */
SI* i_dr;
SI* i_sr;
+ UINT f_r1;
+ UINT f_r2;
UINT f_uimm16;
unsigned char in_sr;
unsigned char out_dr;
@@ -210,12 +215,16 @@ union sem_fields {
SI* i_dr;
SI* i_sr;
INT f_simm16;
+ UINT f_r1;
+ UINT f_r2;
unsigned char in_sr;
unsigned char out_dr;
} sfmt_add3;
struct { /* */
SI* i_dr;
SI* i_sr;
+ UINT f_r1;
+ UINT f_r2;
unsigned char in_dr;
unsigned char in_sr;
unsigned char out_dr;