diff options
Diffstat (limited to 'sim/m32r/cpu.h')
-rw-r--r-- | sim/m32r/cpu.h | 35 |
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; |